# no more versions needed! Compose spec supports all features w/o a version services: odlux: image: ${SDNC_WEB_IMAGE} container_name: odlux hostname: odlux environment: ENABLE_OAUTH: true WEBPROTOCOL: HTTP WEBPORT: ${SDNC_WEB_PORT} SDNRPROTOCOL: http SDNRHOST: controller SDNRPORT: ${SDNC_REST_PORT} labels: traefik.enable: true traefik.http.routers.sdnc-web.entrypoints: websecure traefik.http.routers.sdnc-web.rule: Host(`odlux.oam.${SOLUTION_DOMAIN}`) traefik.http.routers.sdnc-web.tls: true traefik.http.services.sdnc-web.loadbalancer.server.port: ${SDNC_WEB_PORT} depends_on: controller: condition: service_healthy networks: smo: controller: image: ${SDNC_IMAGE} container_name: controller hostname: controller extra_hosts: - "identity.smo.o-ran-sc.org:${HOST_IP}" healthcheck: test: wget -U ${ADMIN_USERNAME}:${ADMIN_PASSWORD} --no-verbose --tries=1 --spider http://localhost:${SDNC_REST_PORT}/ready || exit 1 start_period: 60s interval: 10s timeout: 5s retries: 5 ports: - 4334:4334 - 4335:4335 environment: ENABLE_ODL_CLUSTER: false ENABLE_OAUTH: true ODL_CERT_DIR: ${SDNC_CERT_DIR} ODL_ADMIN_PASSWORD: ${ADMIN_PASSWORD} SDNC_CONFIG_DIR: /opt/onap/ccsdk/data/properties SDNC_REPLICAS: 0 CCSDK_REPLICAS: 0 DOMAIN: "" SDNRWT: true SDNRONLY: true SDNRINIT: true SDNRDM: true SDNRDBURL: http://persistence:9200 SDNR_NETCONF_CALLHOME_ENABLED: true A1_ADAPTER_NORTHBOUND: false JAVA_OPTS: -Xms256m -Xmx4g IDENTITY_PROVIDER_URL: ${IDENTITY_PROVIDER_URL} SDNC_WEB_URL: https://odlux.oam.${SOLUTION_DOMAIN} SDNR_VES_COLLECTOR_ENABLED: true SDNR_VES_COLLECTOR_TLS_ENABLED: false SDNR_VES_COLLECTOR_TRUST_ALL_CERTS: true SDNR_VES_COLLECTOR_IP: ves-collector SDNR_VES_COLLECTOR_PORT: $VES_ENDPOINT_PORT SDNR_VES_COLLECTOR_VERSION: v7 SDNR_VES_COLLECTOR_REPORTING_ENTITY_NAME: ONAP SDN-R SDNR_VES_COLLECTOR_EVENTLOG_MSG_DETAIL: LONG SDNR_VES_COLLECTOR_USERNAME: ${VES_ENDPOINT_USERNAME} SDNR_VES_COLLECTOR_PASSWORD: ${VES_ENDPOINT_PASSWORD} volumes: - ./controller/oauth-aaa-app-config.xml:/opt/onap/sdnc/data/oauth-aaa-app-config.xml - ./controller/oauth-provider.config.json:/opt/opendaylight/etc/oauth-provider.config.json - ./controller/devicemanager.properties:/opt/opendaylight/etc/devicemanager.properties - ./controller/mountpoint-registrar.properties:/opt/opendaylight/etc/mountpoint-registrar.properties - ./controller/certs/certs.properties:${SDNC_CERT_DIR}/certs.properties - ./controller/certs/keys0.zip:${SDNC_CERT_DIR}/keys0.zip labels: traefik.enable: true traefik.http.routers.controller.entrypoints: websecure traefik.http.routers.controller.rule: Host(`controller.oam.${SOLUTION_DOMAIN}`) traefik.http.routers.controller.tls: true traefik.http.services.controller.loadbalancer.server.port: ${SDNC_REST_PORT} networks: smo: default: ipv4_address: ${SDNC_OAM_IPv4} ipv6_address: ${SDNC_OAM_IPv6} ves-collector: image: ${VES_COLLECTOR_IMAGE}-configured build: context: ./ves-collector args: - BASEIMAGE=${VES_COLLECTOR_IMAGE} container_name: ves-collector hostname: ves-collector healthcheck: test: curl -k -u ${VES_ENDPOINT_USERNAME}:${VES_ENDPOINT_PASSWORD} ${VES_ENDPOINT_PROTOCOL}://localhost:${VES_ENDPOINT_PORT} || exit 1 start_period: 1s interval: 5s timeout: 4s retries: 5 environment: DMAAPHOST: messages volumes: - ./ves-collector/collector.properties:/opt/app/VESCollector/etc/collector.properties - ./ves-collector/ves-dmaap-config.json:/opt/app/VESCollector/etc/ves-dmaap-config.json labels: traefik.enable: true traefik.http.routers.ves.entrypoints: websecure traefik.http.routers.ves.rule: Host(`ves-collector.oam.${SOLUTION_DOMAIN}`) traefik.http.routers.ves.tls: true traefik.http.services.ves.loadbalancer.server.port: ${VES_ENDPOINT_PORT} networks: smo: default: ipv4_address: ${VES_COLLECTOR_OAM_IPv4} ipv6_address: ${VES_COLLECTOR_OAM_IPv6} networks: smo: external: true default: driver: bridge name: oam enable_ipv6: true ipam: driver: default config: - subnet: ${NETWORK_SUBNET_OAM_IPv4} gateway: ${NETWORK_GATEWAY_OAM_IPv4} - subnet: ${NETWORK_SUBNET_OAM_IPv6} gateway: ${NETWORK_GATEWAY_OAM_IPv6}