# * Copyright 2024 Intel Corporation. # * # * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except # * in compliance with the License. You may obtain a copy of the License at # * # * http://www.apache.org/licenses/LICENSE-2.0 # * # * Unless required by applicable law or agreed to in writing, software distributed under the License # * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express # * or implied. See the License for the specific language governing permissions and limitations under # * the License. # * # * EdgeX Foundry, Odessa WIP release # *******************************************************************************/ # # # # ************************ This is a generated compose file **************************** # # DO NOT MAKE CHANGES that are intended to be permanent to EdgeX edgex-compose repo. # # Permanent changes can be made to the source compose files located in the compose-builder folder # at the top level of the edgex-compose repo. # # From the compose-builder folder use `make build` to regenerate all standard compose files variations # # Generated with: Docker Compose version v2.38.1 name: edgex services: app-rules-engine: command: - /app-service-configurable - --registry - -cp=keeper.http://edgex-core-keeper:59890 container_name: edgex-app-rules-engine depends_on: core-common-config-bootstrapper: condition: service_started required: true core-keeper: condition: service_started required: true core-metadata: condition: service_started required: true security-bootstrapper: condition: service_started required: true entrypoint: - /edgex-init/ready_to_run_wait_install.sh environment: CLIENTS_SECURITY_SECRETSTORE_SETUP_HOST: edgex-security-secretstore-setup EDGEX_PROFILE: rules-engine EDGEX_SECURITY_SECRET_STORE: "true" PROXY_SETUP_HOST: edgex-security-proxy-setup SECRETSTORE_HOST: edgex-secret-store SERVICE_HOST: edgex-app-rules-engine STAGEGATE_BOOTSTRAPPER_HOST: edgex-security-bootstrapper STAGEGATE_BOOTSTRAPPER_STARTPORT: "54321" STAGEGATE_DATABASE_HOST: edgex-postgres STAGEGATE_DATABASE_PORT: "5432" STAGEGATE_DATABASE_READYPORT: "5432" STAGEGATE_PROXYSETUP_READYPORT: "54325" STAGEGATE_READY_TORUNPORT: "54329" STAGEGATE_REGISTRY_HOST: edgex-core-keeper STAGEGATE_REGISTRY_PORT: "59890" STAGEGATE_REGISTRY_READYPORT: "54324" STAGEGATE_SECRETSTORESETUP_HOST: edgex-security-secretstore-setup STAGEGATE_SECRETSTORESETUP_TOKENS_READYPORT: "54322" STAGEGATE_WAITFOR_TIMEOUT: 60s hostname: edgex-app-rules-engine image: nexus3.edgexfoundry.org:10004/app-service-configurable-arm64:latest networks: edgex-network: null ports: - mode: ingress host_ip: 127.0.0.1 target: 59701 published: "59701" protocol: tcp read_only: true restart: always security_opt: - no-new-privileges:true user: 2002:2001 volumes: - type: bind source: /etc/localtime target: /etc/localtime read_only: true bind: create_host_path: true - type: volume source: edgex-init target: /edgex-init read_only: true volume: {} - type: bind source: /tmp/edgex/secrets/app-rules-engine target: /tmp/edgex/secrets/app-rules-engine read_only: true bind: selinux: z create_host_path: true core-command: command: - /core-command - --registry - -cp=keeper.http://edgex-core-keeper:59890 container_name: edgex-core-command depends_on: core-common-config-bootstrapper: condition: service_started required: true core-keeper: condition: service_started required: true core-metadata: condition: service_started required: true database: condition: service_started required: true security-bootstrapper: condition: service_started required: true security-secretstore-setup: condition: service_started required: true entrypoint: - /edgex-init/ready_to_run_wait_install.sh environment: CLIENTS_SECURITY_SECRETSTORE_SETUP_HOST: edgex-security-secretstore-setup EDGEX_SECURITY_SECRET_STORE: "true" EXTERNALMQTT_URL: tcp://edgex-mqtt-broker:1883 PROXY_SETUP_HOST: edgex-security-proxy-setup SECRETSTORE_HOST: edgex-secret-store SERVICE_HOST: edgex-core-command STAGEGATE_BOOTSTRAPPER_HOST: edgex-security-bootstrapper STAGEGATE_BOOTSTRAPPER_STARTPORT: "54321" STAGEGATE_DATABASE_HOST: edgex-postgres STAGEGATE_DATABASE_PORT: "5432" STAGEGATE_DATABASE_READYPORT: "5432" STAGEGATE_PROXYSETUP_READYPORT: "54325" STAGEGATE_READY_TORUNPORT: "54329" STAGEGATE_REGISTRY_HOST: edgex-core-keeper STAGEGATE_REGISTRY_PORT: "59890" STAGEGATE_REGISTRY_READYPORT: "54324" STAGEGATE_SECRETSTORESETUP_HOST: edgex-security-secretstore-setup STAGEGATE_SECRETSTORESETUP_TOKENS_READYPORT: "54322" STAGEGATE_WAITFOR_TIMEOUT: 60s hostname: edgex-core-command image: nexus3.edgexfoundry.org:10004/core-command-arm64:latest networks: edgex-network: null ports: - mode: ingress host_ip: 127.0.0.1 target: 59882 published: "59882" protocol: tcp read_only: true restart: always security_opt: - no-new-privileges:true user: 2002:2001 volumes: - type: bind source: /etc/localtime target: /etc/localtime read_only: true bind: create_host_path: true - type: volume source: edgex-init target: /edgex-init read_only: true volume: {} - type: bind source: /tmp/edgex/secrets/core-command target: /tmp/edgex/secrets/core-command read_only: true bind: selinux: z create_host_path: true core-common-config-bootstrapper: command: - /entrypoint.sh - /core-common-config-bootstrapper - --registry - -cp=keeper.http://edgex-core-keeper:59890 container_name: edgex-core-common-config-bootstrapper depends_on: core-keeper: condition: service_started required: true security-bootstrapper: condition: service_started required: true security-secretstore-setup: condition: service_started required: true entrypoint: - /edgex-init/ready_to_run_wait_install.sh environment: ALL_SERVICES_CLIENTS_SECURITY_PROXY_AUTH_HOST: security-proxy-auth ALL_SERVICES_DATABASE_HOST: edgex-postgres ALL_SERVICES_MESSAGEBUS_AUTHMODE: usernamepassword ALL_SERVICES_MESSAGEBUS_HOST: edgex-mqtt-broker ALL_SERVICES_MESSAGEBUS_SECRETNAME: message-bus ALL_SERVICES_REGISTRY_HOST: edgex-core-keeper APP_SERVICES_CLIENTS_CORE_METADATA_HOST: edgex-core-metadata CLIENTS_SECURITY_SECRETSTORE_SETUP_HOST: edgex-security-secretstore-setup DEVICE_SERVICES_CLIENTS_CORE_METADATA_HOST: edgex-core-metadata EDGEX_SECURITY_SECRET_STORE: "true" PROXY_SETUP_HOST: edgex-security-proxy-setup SECRETSTORE_HOST: edgex-secret-store STAGEGATE_BOOTSTRAPPER_HOST: edgex-security-bootstrapper STAGEGATE_BOOTSTRAPPER_STARTPORT: "54321" STAGEGATE_DATABASE_HOST: edgex-postgres STAGEGATE_DATABASE_PORT: "5432" STAGEGATE_DATABASE_READYPORT: "5432" STAGEGATE_PROXYSETUP_READYPORT: "54325" STAGEGATE_READY_TORUNPORT: "54329" STAGEGATE_REGISTRY_HOST: edgex-core-keeper STAGEGATE_REGISTRY_PORT: "59890" STAGEGATE_REGISTRY_READYPORT: "54324" STAGEGATE_SECRETSTORESETUP_HOST: edgex-security-secretstore-setup STAGEGATE_SECRETSTORESETUP_TOKENS_READYPORT: "54322" STAGEGATE_WAITFOR_TIMEOUT: 60s hostname: edgex-core-common-config-bootstrapper image: nexus3.edgexfoundry.org:10004/core-common-config-bootstrapper-arm64:latest networks: edgex-network: null read_only: true security_opt: - no-new-privileges:true user: 2002:2001 volumes: - type: bind source: /etc/localtime target: /etc/localtime read_only: true bind: create_host_path: true - type: volume source: edgex-init target: /edgex-init read_only: true volume: {} - type: bind source: /tmp/edgex/secrets/core-common-config-bootstrapper target: /tmp/edgex/secrets/core-common-config-bootstrapper read_only: true bind: selinux: z create_host_path: true core-data: command: - /core-data - --registry - -cp=keeper.http://edgex-core-keeper:59890 container_name: edgex-core-data depends_on: core-common-config-bootstrapper: condition: service_started required: true core-keeper: condition: service_started required: true database: condition: service_started required: true security-bootstrapper: condition: service_started required: true security-secretstore-setup: condition: service_started required: true entrypoint: - /edgex-init/ready_to_run_wait_install.sh environment: CLIENTS_SECURITY_SECRETSTORE_SETUP_HOST: edgex-security-secretstore-setup EDGEX_SECURITY_SECRET_STORE: "true" PROXY_SETUP_HOST: edgex-security-proxy-setup SECRETSTORE_HOST: edgex-secret-store SERVICE_HOST: edgex-core-data STAGEGATE_BOOTSTRAPPER_HOST: edgex-security-bootstrapper STAGEGATE_BOOTSTRAPPER_STARTPORT: "54321" STAGEGATE_DATABASE_HOST: edgex-postgres STAGEGATE_DATABASE_PORT: "5432" STAGEGATE_DATABASE_READYPORT: "5432" STAGEGATE_PROXYSETUP_READYPORT: "54325" STAGEGATE_READY_TORUNPORT: "54329" STAGEGATE_REGISTRY_HOST: edgex-core-keeper STAGEGATE_REGISTRY_PORT: "59890" STAGEGATE_REGISTRY_READYPORT: "54324" STAGEGATE_SECRETSTORESETUP_HOST: edgex-security-secretstore-setup STAGEGATE_SECRETSTORESETUP_TOKENS_READYPORT: "54322" STAGEGATE_WAITFOR_TIMEOUT: 60s hostname: edgex-core-data image: nexus3.edgexfoundry.org:10004/core-data-arm64:latest networks: edgex-network: null ports: - mode: ingress host_ip: 127.0.0.1 target: 59880 published: "59880" protocol: tcp read_only: true restart: always security_opt: - no-new-privileges:true user: 2002:2001 volumes: - type: bind source: /etc/localtime target: /etc/localtime read_only: true bind: create_host_path: true - type: volume source: edgex-init target: /edgex-init read_only: true volume: {} - type: bind source: /tmp/edgex/secrets/core-data target: /tmp/edgex/secrets/core-data read_only: true bind: selinux: z create_host_path: true core-keeper: command: - /core-keeper container_name: edgex-core-keeper depends_on: database: condition: service_started required: true security-bootstrapper: condition: service_started required: true security-secretstore-setup: condition: service_started required: true environment: CLIENTS_SECURITY_PROXY_AUTH_HOST: security-proxy-auth CLIENTS_SECURITY_SECRETSTORE_SETUP_HOST: edgex-security-secretstore-setup DATABASE_HOST: edgex-postgres EDGEX_SECURITY_SECRET_STORE: "true" MESSAGEBUS_AUTHMODE: usernamepassword MESSAGEBUS_HOST: edgex-mqtt-broker MESSAGEBUS_PORT: "1883" MESSAGEBUS_PROTOCOL: tcp MESSAGEBUS_SECRETNAME: message-bus MESSAGEBUS_TYPE: mqtt PROXY_SETUP_HOST: edgex-security-proxy-setup SECRETSTORE_HOST: edgex-secret-store SERVICE_HOST: edgex-core-keeper STAGEGATE_BOOTSTRAPPER_HOST: edgex-security-bootstrapper STAGEGATE_BOOTSTRAPPER_STARTPORT: "54321" STAGEGATE_DATABASE_HOST: edgex-postgres STAGEGATE_DATABASE_PORT: "5432" STAGEGATE_DATABASE_READYPORT: "5432" STAGEGATE_PROXYSETUP_READYPORT: "54325" STAGEGATE_READY_TORUNPORT: "54329" STAGEGATE_REGISTRY_HOST: edgex-core-keeper STAGEGATE_REGISTRY_PORT: "59890" STAGEGATE_REGISTRY_READYPORT: "54324" STAGEGATE_SECRETSTORESETUP_HOST: edgex-security-secretstore-setup STAGEGATE_SECRETSTORESETUP_TOKENS_READYPORT: "54322" STAGEGATE_WAITFOR_TIMEOUT: 60s hostname: edgex-core-keeper image: nexus3.edgexfoundry.org:10004/core-keeper-arm64:latest networks: edgex-network: null ports: - mode: ingress host_ip: 127.0.0.1 target: 59890 published: "59890" protocol: tcp read_only: true restart: always security_opt: - no-new-privileges:true user: 2002:2001 volumes: - type: bind source: /etc/localtime target: /etc/localtime read_only: true bind: create_host_path: true - type: volume source: edgex-init target: /edgex-init read_only: true volume: {} - type: bind source: /tmp/edgex/secrets/core-keeper target: /tmp/edgex/secrets/core-keeper read_only: true bind: selinux: z create_host_path: true core-metadata: command: - /core-metadata - --registry - -cp=keeper.http://edgex-core-keeper:59890 container_name: edgex-core-metadata depends_on: core-keeper: condition: service_started required: true database: condition: service_started required: true security-bootstrapper: condition: service_started required: true security-secretstore-setup: condition: service_started required: true entrypoint: - /edgex-init/ready_to_run_wait_install.sh environment: CLIENTS_SECURITY_SECRETSTORE_SETUP_HOST: edgex-security-secretstore-setup EDGEX_SECURITY_SECRET_STORE: "true" PROXY_SETUP_HOST: edgex-security-proxy-setup SECRETSTORE_HOST: edgex-secret-store SERVICE_HOST: edgex-core-metadata STAGEGATE_BOOTSTRAPPER_HOST: edgex-security-bootstrapper STAGEGATE_BOOTSTRAPPER_STARTPORT: "54321" STAGEGATE_DATABASE_HOST: edgex-postgres STAGEGATE_DATABASE_PORT: "5432" STAGEGATE_DATABASE_READYPORT: "5432" STAGEGATE_PROXYSETUP_READYPORT: "54325" STAGEGATE_READY_TORUNPORT: "54329" STAGEGATE_REGISTRY_HOST: edgex-core-keeper STAGEGATE_REGISTRY_PORT: "59890" STAGEGATE_REGISTRY_READYPORT: "54324" STAGEGATE_SECRETSTORESETUP_HOST: edgex-security-secretstore-setup STAGEGATE_SECRETSTORESETUP_TOKENS_READYPORT: "54322" STAGEGATE_WAITFOR_TIMEOUT: 60s hostname: edgex-core-metadata image: nexus3.edgexfoundry.org:10004/core-metadata-arm64:latest networks: edgex-network: null ports: - mode: ingress host_ip: 127.0.0.1 target: 59881 published: "59881" protocol: tcp read_only: true restart: always security_opt: - no-new-privileges:true user: 2002:2001 volumes: - type: bind source: /etc/localtime target: /etc/localtime read_only: true bind: create_host_path: true - type: volume source: edgex-init target: /edgex-init read_only: true volume: {} - type: bind source: /tmp/edgex/secrets/core-metadata target: /tmp/edgex/secrets/core-metadata read_only: true bind: selinux: z create_host_path: true database: container_name: edgex-postgres depends_on: security-bootstrapper: condition: service_started required: true security-secretstore-setup: condition: service_started required: true entrypoint: - /edgex-init/postgres_wait_install.sh environment: CLIENTS_SECURITY_SECRETSTORE_SETUP_HOST: edgex-security-secretstore-setup DATABASECONFIG_NAME: create-users.sh DATABASECONFIG_PATH: /tmp/postgres-init-scripts EDGEX_SECURITY_SECRET_STORE: "true" POSTGRES_DB: edgex_db PROXY_SETUP_HOST: edgex-security-proxy-setup SECRETSTORE_HOST: edgex-secret-store STAGEGATE_BOOTSTRAPPER_HOST: edgex-security-bootstrapper STAGEGATE_BOOTSTRAPPER_STARTPORT: "54321" STAGEGATE_DATABASE_HOST: edgex-postgres STAGEGATE_DATABASE_PORT: "5432" STAGEGATE_DATABASE_READYPORT: "5432" STAGEGATE_PROXYSETUP_READYPORT: "54325" STAGEGATE_READY_TORUNPORT: "54329" STAGEGATE_REGISTRY_HOST: edgex-core-keeper STAGEGATE_REGISTRY_PORT: "59890" STAGEGATE_REGISTRY_READYPORT: "54324" STAGEGATE_SECRETSTORESETUP_HOST: edgex-security-secretstore-setup STAGEGATE_SECRETSTORESETUP_TOKENS_READYPORT: "54322" STAGEGATE_WAITFOR_TIMEOUT: 60s hostname: edgex-postgres image: postgres:18.1-alpine networks: edgex-network: null ports: - mode: ingress host_ip: 127.0.0.1 target: 5432 published: "5432" protocol: tcp read_only: true restart: always security_opt: - no-new-privileges:true tmpfs: - /run - /tmp volumes: - type: bind source: /etc/localtime target: /etc/localtime read_only: true bind: create_host_path: true - type: volume source: edgex-init target: /edgex-init read_only: true volume: {} - type: volume source: db-data target: /var/lib/postgresql/data volume: {} - type: bind source: /tmp/edgex/secrets/security-bootstrapper-postgres target: /tmp/edgex/secrets/security-bootstrapper-postgres read_only: true bind: selinux: z create_host_path: true device-rest: command: - /device-rest - --registry - -cp=keeper.http://edgex-core-keeper:59890 container_name: edgex-device-rest depends_on: core-common-config-bootstrapper: condition: service_started required: true core-data: condition: service_started required: true core-keeper: condition: service_started required: true core-metadata: condition: service_started required: true security-bootstrapper: condition: service_started required: true entrypoint: - /edgex-init/ready_to_run_wait_install.sh environment: CLIENTS_SECURITY_SECRETSTORE_SETUP_HOST: edgex-security-secretstore-setup EDGEX_SECURITY_SECRET_STORE: "true" PROXY_SETUP_HOST: edgex-security-proxy-setup SECRETSTORE_HOST: edgex-secret-store SERVICE_HOST: edgex-device-rest STAGEGATE_BOOTSTRAPPER_HOST: edgex-security-bootstrapper STAGEGATE_BOOTSTRAPPER_STARTPORT: "54321" STAGEGATE_DATABASE_HOST: edgex-postgres STAGEGATE_DATABASE_PORT: "5432" STAGEGATE_DATABASE_READYPORT: "5432" STAGEGATE_PROXYSETUP_READYPORT: "54325" STAGEGATE_READY_TORUNPORT: "54329" STAGEGATE_REGISTRY_HOST: edgex-core-keeper STAGEGATE_REGISTRY_PORT: "59890" STAGEGATE_REGISTRY_READYPORT: "54324" STAGEGATE_SECRETSTORESETUP_HOST: edgex-security-secretstore-setup STAGEGATE_SECRETSTORESETUP_TOKENS_READYPORT: "54322" STAGEGATE_WAITFOR_TIMEOUT: 60s hostname: edgex-device-rest image: nexus3.edgexfoundry.org:10004/device-rest-arm64:latest networks: edgex-network: null ports: - mode: ingress host_ip: 127.0.0.1 target: 59986 published: "59986" protocol: tcp read_only: true restart: always security_opt: - no-new-privileges:true user: 2002:2001 volumes: - type: bind source: /etc/localtime target: /etc/localtime read_only: true bind: create_host_path: true - type: volume source: edgex-init target: /edgex-init read_only: true volume: {} - type: bind source: /tmp/edgex/secrets/device-rest target: /tmp/edgex/secrets/device-rest read_only: true bind: selinux: z create_host_path: true device-virtual: command: - /device-virtual - --registry - -cp=keeper.http://edgex-core-keeper:59890 container_name: edgex-device-virtual depends_on: core-common-config-bootstrapper: condition: service_started required: true core-data: condition: service_started required: true core-keeper: condition: service_started required: true core-metadata: condition: service_started required: true security-bootstrapper: condition: service_started required: true entrypoint: - /edgex-init/ready_to_run_wait_install.sh environment: CLIENTS_SECURITY_SECRETSTORE_SETUP_HOST: edgex-security-secretstore-setup EDGEX_SECURITY_SECRET_STORE: "true" PROXY_SETUP_HOST: edgex-security-proxy-setup SECRETSTORE_HOST: edgex-secret-store SERVICE_HOST: edgex-device-virtual STAGEGATE_BOOTSTRAPPER_HOST: edgex-security-bootstrapper STAGEGATE_BOOTSTRAPPER_STARTPORT: "54321" STAGEGATE_DATABASE_HOST: edgex-postgres STAGEGATE_DATABASE_PORT: "5432" STAGEGATE_DATABASE_READYPORT: "5432" STAGEGATE_PROXYSETUP_READYPORT: "54325" STAGEGATE_READY_TORUNPORT: "54329" STAGEGATE_REGISTRY_HOST: edgex-core-keeper STAGEGATE_REGISTRY_PORT: "59890" STAGEGATE_REGISTRY_READYPORT: "54324" STAGEGATE_SECRETSTORESETUP_HOST: edgex-security-secretstore-setup STAGEGATE_SECRETSTORESETUP_TOKENS_READYPORT: "54322" STAGEGATE_WAITFOR_TIMEOUT: 60s hostname: edgex-device-virtual image: nexus3.edgexfoundry.org:10004/device-virtual-arm64:latest networks: edgex-network: null ports: - mode: ingress host_ip: 127.0.0.1 target: 59900 published: "59900" protocol: tcp read_only: true restart: always security_opt: - no-new-privileges:true user: 2002:2001 volumes: - type: bind source: /etc/localtime target: /etc/localtime read_only: true bind: create_host_path: true - type: volume source: edgex-init target: /edgex-init read_only: true volume: {} - type: bind source: /tmp/edgex/secrets/device-virtual target: /tmp/edgex/secrets/device-virtual read_only: true bind: selinux: z create_host_path: true mqtt-broker: command: - /usr/sbin/mosquitto - -c - /mosquitto/config/mosquitto.conf container_name: edgex-mqtt-broker depends_on: security-bootstrapper: condition: service_started required: true security-secretstore-setup: condition: service_started required: true entrypoint: - /edgex-init/messagebus_wait_install.sh environment: BROKER_TYPE: mosquitto CLIENTS_SECURITY_SECRETSTORE_SETUP_HOST: edgex-security-secretstore-setup CONF_DIR: /edgex-init/bootstrap-mosquitto/res EDGEX_SECURITY_SECRET_STORE: "true" ENTRYPOINT: /docker-entrypoint.sh /usr/sbin/mosquitto -c /mosquitto/config/mosquitto.conf PROXY_SETUP_HOST: edgex-security-proxy-setup SECRETSTORE_HOST: edgex-secret-store STAGEGATE_BOOTSTRAPPER_HOST: edgex-security-bootstrapper STAGEGATE_BOOTSTRAPPER_STARTPORT: "54321" STAGEGATE_DATABASE_HOST: edgex-postgres STAGEGATE_DATABASE_PORT: "5432" STAGEGATE_DATABASE_READYPORT: "5432" STAGEGATE_PROXYSETUP_READYPORT: "54325" STAGEGATE_READY_TORUNPORT: "54329" STAGEGATE_REGISTRY_HOST: edgex-core-keeper STAGEGATE_REGISTRY_PORT: "59890" STAGEGATE_REGISTRY_READYPORT: "54324" STAGEGATE_SECRETSTORESETUP_HOST: edgex-security-secretstore-setup STAGEGATE_SECRETSTORESETUP_TOKENS_READYPORT: "54322" STAGEGATE_WAITFOR_TIMEOUT: 60s hostname: edgex-mqtt-broker image: eclipse-mosquitto:2.0 networks: edgex-network: null ports: - mode: ingress host_ip: 127.0.0.1 target: 1883 published: "1883" protocol: tcp read_only: true restart: always security_opt: - no-new-privileges:true user: root:root volumes: - type: volume source: mqtt target: /mosquitto volume: {} - type: volume source: edgex-init target: /edgex-init read_only: true volume: {} - type: bind source: /tmp/edgex/secrets/security-bootstrapper-messagebus target: /tmp/edgex/secrets/security-bootstrapper-messagebus read_only: true bind: selinux: z create_host_path: true nginx: command: - /docker-entrypoint.sh - nginx - -g - daemon off; container_name: edgex-nginx depends_on: security-secretstore-setup: condition: service_started required: true entrypoint: - /bin/sh - /edgex-init/nginx_wait_install.sh environment: PROXY_SETUP_HOST: edgex-security-proxy-setup STAGEGATE_BOOTSTRAPPER_HOST: edgex-security-bootstrapper STAGEGATE_BOOTSTRAPPER_STARTPORT: "54321" STAGEGATE_DATABASE_HOST: edgex-postgres STAGEGATE_DATABASE_PORT: "5432" STAGEGATE_DATABASE_READYPORT: "5432" STAGEGATE_PROXYSETUP_READYPORT: "54325" STAGEGATE_READY_TORUNPORT: "54329" STAGEGATE_REGISTRY_HOST: edgex-core-keeper STAGEGATE_REGISTRY_PORT: "59890" STAGEGATE_REGISTRY_READYPORT: "54324" STAGEGATE_SECRETSTORESETUP_HOST: edgex-security-secretstore-setup STAGEGATE_SECRETSTORESETUP_TOKENS_READYPORT: "54322" STAGEGATE_WAITFOR_TIMEOUT: 60s hostname: edgex-nginx image: nginx:1.29-alpine-slim networks: edgex-network: null ports: - mode: ingress target: 8443 published: "8443" protocol: tcp read_only: true restart: always security_opt: - no-new-privileges:true tmpfs: - /etc/nginx/conf.d - /var/cache/nginx - /var/log/nginx - /var/run volumes: - type: volume source: edgex-init target: /edgex-init read_only: true volume: {} - type: volume source: nginx-templates target: /etc/nginx/templates volume: {} - type: volume source: nginx-tls target: /etc/ssl/nginx volume: {} rules-engine: container_name: edgex-kuiper depends_on: database: condition: service_started required: true mqtt-broker: condition: service_started required: true security-bootstrapper: condition: service_started required: true security-secretstore-setup: condition: service_started required: true entrypoint: - /edgex-init/kuiper_wait_install.sh environment: CONNECTION__EDGEX__MQTTMSGBUS__OPTIONAL__CLIENTID: kuiper-rules-engine CONNECTION__EDGEX__MQTTMSGBUS__OPTIONAL__KEEPALIVE: "500" CONNECTION__EDGEX__MQTTMSGBUS__PORT: "1883" CONNECTION__EDGEX__MQTTMSGBUS__PROTOCOL: tcp CONNECTION__EDGEX__MQTTMSGBUS__SERVER: edgex-mqtt-broker CONNECTION__EDGEX__MQTTMSGBUS__TYPE: mqtt EDGEX__DEFAULT__CONNECTIONSELECTOR: mqttmsgbus EDGEX__DEFAULT__OPTIONAL__CLIENTID: kuiper-rules-engine EDGEX__DEFAULT__OPTIONAL__KEEPALIVE: "500" EDGEX__DEFAULT__PORT: "1883" EDGEX__DEFAULT__PROTOCOL: tcp EDGEX__DEFAULT__SERVER: edgex-mqtt-broker EDGEX__DEFAULT__TOPIC: edgex/rules-events EDGEX__DEFAULT__TYPE: mqtt KUIPER__BASIC__CONSOLELOG: "true" KUIPER__BASIC__ENABLEOPENZITI: "false" KUIPER__BASIC__RESTPORT: "59720" PROXY_SETUP_HOST: edgex-security-proxy-setup STAGEGATE_BOOTSTRAPPER_HOST: edgex-security-bootstrapper STAGEGATE_BOOTSTRAPPER_STARTPORT: "54321" STAGEGATE_DATABASE_HOST: edgex-postgres STAGEGATE_DATABASE_PORT: "5432" STAGEGATE_DATABASE_READYPORT: "5432" STAGEGATE_PROXYSETUP_READYPORT: "54325" STAGEGATE_READY_TORUNPORT: "54329" STAGEGATE_REGISTRY_HOST: edgex-core-keeper STAGEGATE_REGISTRY_PORT: "59890" STAGEGATE_REGISTRY_READYPORT: "54324" STAGEGATE_SECRETSTORESETUP_HOST: edgex-security-secretstore-setup STAGEGATE_SECRETSTORESETUP_TOKENS_READYPORT: "54322" STAGEGATE_WAITFOR_TIMEOUT: 60s hostname: edgex-kuiper image: lfedge/ekuiper:2.3-alpine networks: edgex-network: null ports: - mode: ingress host_ip: 127.0.0.1 target: 59720 published: "59720" protocol: tcp read_only: true restart: always security_opt: - no-new-privileges:true user: kuiper:kuiper volumes: - type: bind source: /etc/localtime target: /etc/localtime read_only: true bind: create_host_path: true - type: volume source: kuiper-data target: /kuiper/data volume: {} - type: volume source: kuiper-etc target: /kuiper/etc volume: {} - type: volume source: kuiper-log target: /kuiper/log volume: {} - type: volume source: kuiper-plugins target: /kuiper/plugins volume: {} - type: volume source: kuiper-sources target: /kuiper/etc/sources volume: {} - type: volume source: kuiper-connections target: /kuiper/etc/connections volume: {} - type: volume source: edgex-init target: /edgex-init read_only: true volume: {} secret-store: command: - server container_name: edgex-secret-store depends_on: security-bootstrapper: condition: service_started required: true deploy: resources: limits: memory: "4189899980800" entrypoint: - /edgex-init/secretstore_wait_install.sh environment: BAO_ADDR: http://edgex-secret-store:8200 BAO_CONFIG_DIR: /openbao/config BAO_LOCAL_CONFIG: "listener \"tcp\" { \n address = \"edgex-secret-store:8200\" \n tls_disable = \"1\" \n cluster_address = \"edgex-secret-store:8201\" \n} \nbackend \"file\" {\n path = \"/openbao/file\"\n}\ndefault_lease_ttl = \"168h\" \nmax_lease_ttl = \"720h\"\ndisable_mlock = true\n" PROXY_SETUP_HOST: edgex-security-proxy-setup SKIP_SETCAP: "true" STAGEGATE_BOOTSTRAPPER_HOST: edgex-security-bootstrapper STAGEGATE_BOOTSTRAPPER_STARTPORT: "54321" STAGEGATE_DATABASE_HOST: edgex-postgres STAGEGATE_DATABASE_PORT: "5432" STAGEGATE_DATABASE_READYPORT: "5432" STAGEGATE_PROXYSETUP_READYPORT: "54325" STAGEGATE_READY_TORUNPORT: "54329" STAGEGATE_REGISTRY_HOST: edgex-core-keeper STAGEGATE_REGISTRY_PORT: "59890" STAGEGATE_REGISTRY_READYPORT: "54324" STAGEGATE_SECRETSTORESETUP_HOST: edgex-security-secretstore-setup STAGEGATE_SECRETSTORESETUP_TOKENS_READYPORT: "54322" STAGEGATE_WAITFOR_TIMEOUT: 60s hostname: edgex-secret-store image: openbao/openbao:2.4 memswap_limit: "4189899980800" networks: edgex-network: null ports: - mode: ingress host_ip: 127.0.0.1 target: 8200 published: "8200" protocol: tcp restart: always tmpfs: - /openbao/config user: root:root volumes: - type: volume source: edgex-init target: /edgex-init read_only: true volume: {} - type: volume source: secret-store-file target: /openbao/file volume: {} - type: volume source: secret-store-logs target: /openbao/logs volume: {} security-bootstrapper: container_name: edgex-security-bootstrapper environment: EDGEX_GROUP: "2001" EDGEX_USER: "2002" PROXY_SETUP_HOST: edgex-security-proxy-setup STAGEGATE_BOOTSTRAPPER_HOST: edgex-security-bootstrapper STAGEGATE_BOOTSTRAPPER_STARTPORT: "54321" STAGEGATE_DATABASE_HOST: edgex-postgres STAGEGATE_DATABASE_PORT: "5432" STAGEGATE_DATABASE_READYPORT: "5432" STAGEGATE_PROXYSETUP_READYPORT: "54325" STAGEGATE_READY_TORUNPORT: "54329" STAGEGATE_REGISTRY_HOST: edgex-core-keeper STAGEGATE_REGISTRY_PORT: "59890" STAGEGATE_REGISTRY_READYPORT: "54324" STAGEGATE_SECRETSTORESETUP_HOST: edgex-security-secretstore-setup STAGEGATE_SECRETSTORESETUP_TOKENS_READYPORT: "54322" STAGEGATE_WAITFOR_TIMEOUT: 60s hostname: edgex-security-bootstrapper image: nexus3.edgexfoundry.org:10004/security-bootstrapper-arm64:latest networks: edgex-network: null read_only: true restart: always security_opt: - no-new-privileges:true user: root:root volumes: - type: bind source: /etc/localtime target: /etc/localtime read_only: true bind: create_host_path: true - type: volume source: edgex-init target: /edgex-init volume: {} security-proxy-auth: command: - entrypoint.sh - /security-proxy-auth - --registry - -cp=keeper.http://edgex-core-keeper:59890 container_name: edgex-proxy-auth depends_on: core-common-config-bootstrapper: condition: service_started required: true security-secretstore-setup: condition: service_started required: true entrypoint: - /bin/sh - /edgex-init/ready_to_run_wait_install.sh environment: CLIENTS_SECURITY_SECRETSTORE_SETUP_HOST: edgex-security-secretstore-setup EDGEX_SECURITY_SECRET_STORE: "true" PROXY_SETUP_HOST: edgex-security-proxy-setup SECRETSTORE_HOST: edgex-secret-store SERVICE_HOST: edgex-proxy-auth STAGEGATE_BOOTSTRAPPER_HOST: edgex-security-bootstrapper STAGEGATE_BOOTSTRAPPER_STARTPORT: "54321" STAGEGATE_DATABASE_HOST: edgex-postgres STAGEGATE_DATABASE_PORT: "5432" STAGEGATE_DATABASE_READYPORT: "5432" STAGEGATE_PROXYSETUP_READYPORT: "54325" STAGEGATE_READY_TORUNPORT: "54329" STAGEGATE_REGISTRY_HOST: edgex-core-keeper STAGEGATE_REGISTRY_PORT: "59890" STAGEGATE_REGISTRY_READYPORT: "54324" STAGEGATE_SECRETSTORESETUP_HOST: edgex-security-secretstore-setup STAGEGATE_SECRETSTORESETUP_TOKENS_READYPORT: "54322" STAGEGATE_WAITFOR_TIMEOUT: 60s hostname: edgex-proxy-auth image: nexus3.edgexfoundry.org:10004/security-proxy-auth-arm64:latest networks: edgex-network: null ports: - mode: ingress host_ip: 127.0.0.1 target: 59842 published: "59842" protocol: tcp read_only: true restart: always security_opt: - no-new-privileges:true volumes: - type: bind source: /etc/localtime target: /etc/localtime read_only: true bind: create_host_path: true - type: volume source: edgex-init target: /edgex-init read_only: true volume: {} - type: bind source: /tmp/edgex/secrets/security-proxy-auth target: /tmp/edgex/secrets/security-proxy-auth read_only: true bind: selinux: z create_host_path: true security-proxy-setup: container_name: edgex-security-proxy-setup depends_on: security-bootstrapper: condition: service_started required: true security-secretstore-setup: condition: service_started required: true entrypoint: - /edgex-init/proxy_setup_wait_install.sh environment: CLIENTS_SECURITY_SECRETSTORE_SETUP_HOST: edgex-security-secretstore-setup EDGEX_ADD_PROXY_ROUTE: device-rest.http://edgex-device-rest:59986 EDGEX_SECURITY_SECRET_STORE: "true" PROXY_SETUP_HOST: edgex-security-proxy-setup SECRETSTORE_HOST: edgex-secret-store STAGEGATE_BOOTSTRAPPER_HOST: edgex-security-bootstrapper STAGEGATE_BOOTSTRAPPER_STARTPORT: "54321" STAGEGATE_DATABASE_HOST: edgex-postgres STAGEGATE_DATABASE_PORT: "5432" STAGEGATE_DATABASE_READYPORT: "5432" STAGEGATE_PROXYSETUP_READYPORT: "54325" STAGEGATE_READY_TORUNPORT: "54329" STAGEGATE_REGISTRY_HOST: edgex-core-keeper STAGEGATE_REGISTRY_PORT: "59890" STAGEGATE_REGISTRY_READYPORT: "54324" STAGEGATE_SECRETSTORESETUP_HOST: edgex-security-secretstore-setup STAGEGATE_SECRETSTORESETUP_TOKENS_READYPORT: "54322" STAGEGATE_WAITFOR_TIMEOUT: 60s hostname: edgex-security-proxy-setup image: nexus3.edgexfoundry.org:10004/security-proxy-setup-arm64:latest networks: edgex-network: null read_only: true restart: always security_opt: - no-new-privileges:true user: root:root volumes: - type: bind source: /etc/localtime target: /etc/localtime read_only: true bind: create_host_path: true - type: volume source: edgex-init target: /edgex-init read_only: true volume: {} - type: volume source: secret-store-config target: /openbao/config volume: {} - type: volume source: nginx-templates target: /etc/nginx/templates volume: {} - type: volume source: nginx-tls target: /etc/ssl/nginx volume: {} - type: bind source: /tmp/edgex/secrets/security-proxy-setup target: /tmp/edgex/secrets/security-proxy-setup read_only: true bind: selinux: z create_host_path: true security-secretstore-setup: container_name: edgex-security-secretstore-setup depends_on: secret-store: condition: service_started required: true security-bootstrapper: condition: service_started required: true environment: CLIENTS_SECURITY_SECRETSTORE_SETUP_HOST: edgex-security-secretstore-setup EDGEX_ADD_KNOWN_SECRETS: postgres[app-rules-engine],message-bus[app-rules-engine],message-bus[device-rest],message-bus[device-virtual] EDGEX_ADD_SECRETSTORE_TOKENS: "" EDGEX_GROUP: "2001" EDGEX_SECURITY_SECRET_STORE: "true" EDGEX_USER: "2002" PROXY_SETUP_HOST: edgex-security-proxy-setup SECRETSTORE_HOST: edgex-secret-store SECUREMESSAGEBUS_TYPE: mqtt SERVICE_HOST: edgex-security-secretstore-setup STAGEGATE_BOOTSTRAPPER_HOST: edgex-security-bootstrapper STAGEGATE_BOOTSTRAPPER_STARTPORT: "54321" STAGEGATE_DATABASE_HOST: edgex-postgres STAGEGATE_DATABASE_PORT: "5432" STAGEGATE_DATABASE_READYPORT: "5432" STAGEGATE_PROXYSETUP_READYPORT: "54325" STAGEGATE_READY_TORUNPORT: "54329" STAGEGATE_REGISTRY_HOST: edgex-core-keeper STAGEGATE_REGISTRY_PORT: "59890" STAGEGATE_REGISTRY_READYPORT: "54324" STAGEGATE_SECRETSTORESETUP_HOST: edgex-security-secretstore-setup STAGEGATE_SECRETSTORESETUP_TOKENS_READYPORT: "54322" STAGEGATE_WAITFOR_TIMEOUT: 60s hostname: edgex-security-secretstore-setup image: nexus3.edgexfoundry.org:10004/security-secretstore-setup-arm64:latest networks: edgex-network: null read_only: true restart: always security_opt: - no-new-privileges:true tmpfs: - /run - /openbao user: root:root volumes: - type: bind source: /etc/localtime target: /etc/localtime read_only: true bind: create_host_path: true - type: volume source: edgex-init target: /edgex-init read_only: true volume: {} - type: volume source: secret-store-config target: /openbao/config volume: {} - type: bind source: /tmp/edgex/secrets target: /tmp/edgex/secrets bind: selinux: z create_host_path: true - type: volume source: kuiper-sources target: /tmp/kuiper volume: {} - type: volume source: kuiper-connections target: /tmp/kuiper-connections volume: {} support-notifications: command: - /support-notifications - --registry - -cp=keeper.http://edgex-core-keeper:59890 container_name: edgex-support-notifications depends_on: core-common-config-bootstrapper: condition: service_started required: true core-keeper: condition: service_started required: true database: condition: service_started required: true security-bootstrapper: condition: service_started required: true security-secretstore-setup: condition: service_started required: true entrypoint: - /edgex-init/ready_to_run_wait_install.sh environment: CLIENTS_SECURITY_SECRETSTORE_SETUP_HOST: edgex-security-secretstore-setup EDGEX_SECURITY_SECRET_STORE: "true" PROXY_SETUP_HOST: edgex-security-proxy-setup SECRETSTORE_HOST: edgex-secret-store SERVICE_HOST: edgex-support-notifications STAGEGATE_BOOTSTRAPPER_HOST: edgex-security-bootstrapper STAGEGATE_BOOTSTRAPPER_STARTPORT: "54321" STAGEGATE_DATABASE_HOST: edgex-postgres STAGEGATE_DATABASE_PORT: "5432" STAGEGATE_DATABASE_READYPORT: "5432" STAGEGATE_PROXYSETUP_READYPORT: "54325" STAGEGATE_READY_TORUNPORT: "54329" STAGEGATE_REGISTRY_HOST: edgex-core-keeper STAGEGATE_REGISTRY_PORT: "59890" STAGEGATE_REGISTRY_READYPORT: "54324" STAGEGATE_SECRETSTORESETUP_HOST: edgex-security-secretstore-setup STAGEGATE_SECRETSTORESETUP_TOKENS_READYPORT: "54322" STAGEGATE_WAITFOR_TIMEOUT: 60s hostname: edgex-support-notifications image: nexus3.edgexfoundry.org:10004/support-notifications-arm64:latest networks: edgex-network: null ports: - mode: ingress host_ip: 127.0.0.1 target: 59860 published: "59860" protocol: tcp read_only: true restart: always security_opt: - no-new-privileges:true user: 2002:2001 volumes: - type: bind source: /etc/localtime target: /etc/localtime read_only: true bind: create_host_path: true - type: volume source: edgex-init target: /edgex-init read_only: true volume: {} - type: bind source: /tmp/edgex/secrets/support-notifications target: /tmp/edgex/secrets/support-notifications read_only: true bind: selinux: z create_host_path: true support-scheduler: command: - /support-scheduler - --registry - -cp=keeper.http://edgex-core-keeper:59890 container_name: edgex-support-scheduler depends_on: core-common-config-bootstrapper: condition: service_started required: true core-keeper: condition: service_started required: true database: condition: service_started required: true security-bootstrapper: condition: service_started required: true security-secretstore-setup: condition: service_started required: true entrypoint: - /edgex-init/ready_to_run_wait_install.sh environment: CLIENTS_SECURITY_SECRETSTORE_SETUP_HOST: edgex-security-secretstore-setup EDGEX_SECURITY_SECRET_STORE: "true" PROXY_SETUP_HOST: edgex-security-proxy-setup SECRETSTORE_HOST: edgex-secret-store SERVICE_HOST: edgex-support-scheduler STAGEGATE_BOOTSTRAPPER_HOST: edgex-security-bootstrapper STAGEGATE_BOOTSTRAPPER_STARTPORT: "54321" STAGEGATE_DATABASE_HOST: edgex-postgres STAGEGATE_DATABASE_PORT: "5432" STAGEGATE_DATABASE_READYPORT: "5432" STAGEGATE_PROXYSETUP_READYPORT: "54325" STAGEGATE_READY_TORUNPORT: "54329" STAGEGATE_REGISTRY_HOST: edgex-core-keeper STAGEGATE_REGISTRY_PORT: "59890" STAGEGATE_REGISTRY_READYPORT: "54324" STAGEGATE_SECRETSTORESETUP_HOST: edgex-security-secretstore-setup STAGEGATE_SECRETSTORESETUP_TOKENS_READYPORT: "54322" STAGEGATE_WAITFOR_TIMEOUT: 60s hostname: edgex-support-scheduler image: nexus3.edgexfoundry.org:10004/support-scheduler-arm64:latest networks: edgex-network: null ports: - mode: ingress host_ip: 127.0.0.1 target: 59863 published: "59863" protocol: tcp read_only: true restart: always security_opt: - no-new-privileges:true user: 2002:2001 volumes: - type: bind source: /etc/localtime target: /etc/localtime read_only: true bind: create_host_path: true - type: volume source: edgex-init target: /edgex-init read_only: true volume: {} - type: bind source: /tmp/edgex/secrets/support-scheduler target: /tmp/edgex/secrets/support-scheduler read_only: true bind: selinux: z create_host_path: true ui: command: - ./edgex-ui-server - --configDir=res/docker container_name: edgex-ui-go depends_on: security-bootstrapper: condition: service_started required: true security-secretstore-setup: condition: service_started required: true entrypoint: - /edgex-init/ready_to_run_wait_install.sh environment: CLIENTS_SECURITY_SECRETSTORE_SETUP_HOST: edgex-security-secretstore-setup EDGEX_SECURITY_SECRET_STORE: "true" PROXY_SETUP_HOST: edgex-security-proxy-setup SECRETSTORE_HOST: edgex-secret-store SERVICE_HOST: edgex-ui-go STAGEGATE_BOOTSTRAPPER_HOST: edgex-security-bootstrapper STAGEGATE_BOOTSTRAPPER_STARTPORT: "54321" STAGEGATE_DATABASE_HOST: edgex-postgres STAGEGATE_DATABASE_PORT: "5432" STAGEGATE_DATABASE_READYPORT: "5432" STAGEGATE_PROXYSETUP_READYPORT: "54325" STAGEGATE_READY_TORUNPORT: "54329" STAGEGATE_REGISTRY_HOST: edgex-core-keeper STAGEGATE_REGISTRY_PORT: "59890" STAGEGATE_REGISTRY_READYPORT: "54324" STAGEGATE_SECRETSTORESETUP_HOST: edgex-security-secretstore-setup STAGEGATE_SECRETSTORESETUP_TOKENS_READYPORT: "54322" STAGEGATE_WAITFOR_TIMEOUT: 60s hostname: edgex-ui-go image: nexus3.edgexfoundry.org:10004/edgex-ui-arm64:latest networks: edgex-network: null ports: - mode: ingress target: 4000 published: "4000" protocol: tcp read_only: true restart: always security_opt: - no-new-privileges:true user: 2002:2001 volumes: - type: bind source: /etc/localtime target: /etc/localtime read_only: true bind: create_host_path: true - type: volume source: edgex-init target: /edgex-init read_only: true volume: {} - type: bind source: /tmp/edgex/secrets/ui target: /tmp/edgex/secrets/ui read_only: true bind: selinux: z create_host_path: true networks: edgex-network: name: edgex_edgex-network driver: bridge volumes: db-data: name: edgex_db-data edgex-init: name: edgex_edgex-init kuiper-connections: name: edgex_kuiper-connections kuiper-data: name: edgex_kuiper-data kuiper-etc: name: edgex_kuiper-etc kuiper-log: name: edgex_kuiper-log kuiper-plugins: name: edgex_kuiper-plugins kuiper-sources: name: edgex_kuiper-sources mqtt: name: edgex_mqtt nginx-templates: name: edgex_nginx-templates nginx-tls: name: edgex_nginx-tls secret-store-config: name: edgex_secret-store-config secret-store-file: name: edgex_secret-store-file secret-store-logs: name: edgex_secret-store-logs