Configuration Reference

December 15, 2025 ยท View on GitHub

The application is configured via environment variables, which are mapped to Helm values.

Environment Variables

Common

VariableDescriptionDefault
LOG_LEVELLogging level (debug, info, warn, error)info
LOG_FORMATLogging format (json, console)production (json)

API Service

VariableDescriptionDefault
API_ADDRESSHTTP listen address0.0.0.0:8080
DB_URIMongoDB connection stringmongodb://localhost:27017
DB_NAMEMongoDB database nameiot

Scheduler Service

VariableDescriptionDefault
DB_URIMongoDB connection stringmongodb://localhost:27017
DB_NAMEMongoDB database nameiot
RETENTION_PERIODDuration to keep completed transactions168h (7 days)
RETENTION_CLEANUP_INTERVALFrequency of cleanup job1h

Worker Service

VariableDescriptionDefault
DB_URIMongoDB connection stringmongodb://localhost:27017
DB_NAMEMongoDB database nameiot
EASYAPI_BASE_URLURL of the 3GPP NEF API"" (Dummy Mode)
POWERSAVING_MAX_LATENCYValue to set when enabling power saving1
POWERSAVING_MAX_RESPONSE_TIMEValue to set when enabling power saving1

Notifier Service

VariableDescriptionDefault
DB_URIMongoDB connection stringmongodb://localhost:27017
DB_NAMEMongoDB database nameiot
HTTP_INSECURE_SKIP_VERIFYSkip TLS certificate verification for internal cluster servicesfalse

Helm Values (values.yaml)

image:
  repository: ghcr.io/your_repository/camara-iot-api
  tag: latest
  pullPolicy: Always

# Services configuration
services:
  api:
    name: iot-api
    minScale: 1
    maxScale: 5
  scheduler:
    name: iot-scheduler
    minScale: 1
    maxScale: 1
  worker:
    name: iot-worker
    minScale: 1
    maxScale: 10
  notifier:
    name: iot-notifier
    minScale: 1
    maxScale: 3
    skipTlsVerify: false  # Set to true for dev/testing with self-signed certs

database:
  uri: "mongodb://root:CHANGEME@mongo-mongodb.data.svc.cluster.local:27017"
  name: iot

easyAPI:
  baseUrl: "" # Set to external URL for production

powerSaving:
  maxLatency: "2"
  maxResponseTime: "2"

retention:
  period: "24h"
  cleanupInterval: "1h"

# Knative Broker Configuration
knative:
  broker:
    name: iot-broker
    class: RabbitMQBroker
    delivery:
      retry: 3
      backoffPolicy: exponential
      backoffDelay: PT1S
  namespace: demo
  triggers:
    parallelism: 3
  rabbitmq:
    brokerConfig:
      name: iot-broker-config
      queueType: quorum
      cluster:
        name: my-rabbit