Sign inSign up

fiware/mintaka

By fiware

Updated 10 months ago

implementation of the NGSI-LD temporal retrieval api.

Image
0

10K+

fiware/mintaka repository overview

Mintaka

FIWARE Core Context Management License badge Docker badge NGSI-LD badge Coverage Status Test CII Best Practices Known Vulnerabilities

Mintaka is an implementation of the NGSI-LD temporal retrieval api. It relies on the Orion-LD Context Broker to provide the underlying database. The NGSI-LD specification is a living, changing document, and the latest Orion-LD beta release is nearly feature complete to the 1.3.1 ETSI specification.

For more information on Mintaka, please refer to its github repo

Tags

All images are created using the CI pipeline. We create the following types of tags:

Tag patternExampleDescription
<SEM_VER>0.0.1Release version, equal to the github release
latestlatestLatest released image. Be careful, this is bleeding edge and not guranteed to be stable
<SEM_VER>-PRE-<PR_NUMBER>0.0.2-PRE-12Prerelease version. <SEM_VER> is the next release version, <PR_NUMBER> the number of the associated PR.

Each tag exists in 3 versions:

  • no postfix: the default image, based on gcr.io/distroless/java:11
  • -distroless postfix: image based on gcr.io/distroless/java:11, f.e. 0.0.1-distroless
  • -rhel postfix: image based on the Redhat certified base-image openjdk-11-rhel7, f.e. 0.0.1-rhel

How to use

Mintaka relies on a TimescaleDB, that is populated by Orion-LD. A sample setup can be found below, please check github for more options:

version: "3.5"
services:
  # Orion is the context broker
  orion-ld:
    image: fiware/orion-ld
    hostname: orion
    # sometimes the initial startup fails due to a weird timescale behaviour
    restart: always
    environment:
      - ORIONLD_TROE=TRUE
      - ORIONLD_TROE_USER=orion
      - ORIONLD_TROE_PWD=orion
      - ORIONLD_TROE_HOST=timescale
      - ORIONLD_MONGO_HOST=mongo-db
    depends_on:
      - mongo-db
      - timescale
    networks:
      - default
    ports:
      - "1026:1026"
    command: -logLevel DEBUG
    healthcheck:
      test: curl --fail -s http://orion:1026/version || exit 1
      interval: 30s
      retries: 15


  # Databases
  mongo-db:
    image: mongo:4.0
    hostname: mongo-db
    expose:
      - "27017"
    ports:
      - "27017:27017" # localhost:27017
    networks:
      - default
    command: --nojournal
    volumes:
      - mongo-db:/data
    healthcheck:
      test: |
        host=`hostname --ip-address || echo '127.0.0.1'`;
        mongo --quiet $host/test --eval 'quit(db.runCommand({ ping: 1 }).ok ? 0 : 2)' && echo 0 || echo 1
      interval: 30s

  timescale:
    image: timescale/timescaledb-postgis:latest-pg12
    hostname: timescale
    healthcheck:
      test: [ "CMD-SHELL", "pg_isready -U orion" ]
      interval: 15s
      timeout: 15s
      retries: 15
      start_period: 60s
    environment:
      - POSTGRES_USER=orion
      - POSTGRES_PASSWORD=orion
      - POSTGRES_HOST_AUTH_METHOD=trust
    expose:
      - "5432"
    ports:
      - "5432:5432"
    networks:
      - default

volumes:
  mongo-db: ~

Configuration

Mintaka uses the Micronaut-Framework. The following table lists the most important environment variables, please check the framework documentation for all available options.

Env-VarDescriptionDefault
MICRONAUT_SERVER_PORTServer port to be used for mintaka8080
MICRONAUT_METRICS_ENABLEDEnable the metrics gatheringtrue
ENDPOINTS_ALL_PORTPort to provide the management endpoints8080
ENDPOINTS_METRICS_ENABLEDEnable the metrics endpointtrue
ENDPOINTS_HEALTH_ENABLEDEnable the health endpointtrue
DATASOURCES_DEFAULT_HOSTHost of timescalelocalhost
DATASOURCES_DEFAULT_PORTPort of timescale5432
DATASOURCES_DEFAULT_DATABASEName of the default database, needs to coincide with orion-ldorion
DATASOURCES_DEFAULT_USERNAMEUsername to be used for db connectionsorion
DATASOURCES_DEFAULT_PASSWORDPassword to be used for db connectionsorion
LOGGERS_LEVELS_ROOTRoot log level of mintakaERROR

Tag summary

Content type

Image

Digest

sha256:efc679338

Size

179.5 MB

Last updated

10 months ago

docker pull fiware/mintaka