+################################################################################
+# Copyright 2023 highstreet technologies GmbH
+#
+# 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.
+#
+
# no more versions needed! Compose spec supports all features w/o a version
services:
controller:
condition: service_healthy
networks:
+ dmz:
smo:
controller:
container_name: controller
hostname: controller
extra_hosts:
- - "identity.smo.o-ran-sc.org:${HOST_IP}"
+ - "controller.dcn.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
+ test: wget --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
- ./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.rule: Host(`controller.dcn.${SOLUTION_DOMAIN}`)
traefik.http.routers.controller.tls: true
traefik.http.services.controller.loadbalancer.server.port: ${SDNC_REST_PORT}
+
+ traefik.tcp.routers.controller-ssh.entrypoints: ssh-netconf-callhome
+ traefik.tcp.routers.controller-ssh.rule: HostSNI(`*`)
+ traefik.tcp.routers.controller-ssh.tls: false
+ traefik.tcp.routers.controller-ssh.service: controller-ssh
+ traefik.tcp.services.controller-ssh.loadbalancer.server.port: 4334
+
+ traefik.tcp.routers.controller-tls.entrypoints: tls-netconf-callhome
+ traefik.tcp.routers.controller-tls.rule: HostSNI(`*`)
+ traefik.tcp.routers.controller-tls.tls: false
+ traefik.tcp.routers.controller-tls.service: controller-tls
+ traefik.tcp.services.controller-tls.loadbalancer.server.port: 4335
networks:
smo:
- default:
- ipv6_address: ${SDNC_OAM_IPv6}
+ dcn:
ves-collector:
image: ${VES_COLLECTOR_IMAGE}-configured
- BASEIMAGE=${VES_COLLECTOR_IMAGE}
container_name: ves-collector
hostname: ves-collector
+ extra_hosts:
+ - "ves-collector.dcn.${SOLUTION_DOMAIN}:${HOST_IP}"
healthcheck:
test: curl -k -u ${VES_ENDPOINT_USERNAME}:${VES_ENDPOINT_PASSWORD} ${VES_ENDPOINT_PROTOCOL}://localhost:${VES_ENDPOINT_PORT} || exit 1
start_period: 1s
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.rule: Host(`ves-collector.dcn.${SOLUTION_DOMAIN}`)
traefik.http.routers.ves.tls: true
traefik.http.services.ves.loadbalancer.server.port: ${VES_ENDPOINT_PORT}
networks:
smo:
+ dcn:
networks:
+ dmz:
+ external: true
smo:
external: true
- default:
- driver: bridge
- name: oam
- enable_ipv6: true
- ipam:
- driver: default
- config:
- - subnet: "${NETWORK_SUBNET_OAM_IPv6}"
- gateway: "${NETWORK_GATEWAY_OAM_IPv6}"
+ dcn:
+ external: true