Simulated O-RUs according to conf spec
[oam.git] / solution / smo / oam / docker-compose.yml
1 # no more versions needed! Compose spec supports all features w/o a version
2 services:
3
4   odlux:
5     image: ${SDNC_WEB_IMAGE}
6     container_name: odlux
7     hostname: odlux
8     environment:
9       ENABLE_OAUTH: true
10       WEBPROTOCOL: HTTP
11       WEBPORT: ${SDNC_WEB_PORT}
12       SDNRPROTOCOL: http
13       SDNRHOST: controller
14       SDNRPORT: ${SDNC_REST_PORT}
15     labels:
16       traefik.enable: true
17       traefik.http.routers.sdnc-web.entrypoints: websecure
18       traefik.http.routers.sdnc-web.rule: Host(`odlux.oam.${SOLUTION_DOMAIN}`)
19       traefik.http.routers.sdnc-web.tls: true
20       traefik.http.services.sdnc-web.loadbalancer.server.port: ${SDNC_WEB_PORT}
21     depends_on:
22       controller:
23         condition: service_healthy
24     networks:
25       smo:
26
27   controller:
28     image: ${SDNC_IMAGE}
29     container_name: controller
30     hostname: controller
31     extra_hosts:
32       - "identity.smo.o-ran-sc.org:${HOST_IP}"
33     healthcheck:
34       test: wget -U ${ADMIN_USERNAME}:${ADMIN_PASSWORD} --no-verbose --tries=1 --spider http://localhost:${SDNC_REST_PORT}/ready || exit 1
35       start_period: 60s
36       interval: 10s
37       timeout: 5s
38       retries: 5
39     ports:
40       - 4334:4334
41       - 4335:4335
42     environment:
43       ENABLE_ODL_CLUSTER: false
44       ENABLE_OAUTH: true
45       ODL_CERT_DIR: ${SDNC_CERT_DIR}
46       ODL_ADMIN_PASSWORD: ${ADMIN_PASSWORD}
47       SDNC_CONFIG_DIR: /opt/onap/ccsdk/data/properties
48       SDNC_REPLICAS: 0
49       CCSDK_REPLICAS: 0
50       DOMAIN: ""
51       SDNRWT: true
52       SDNRONLY: true
53       SDNRINIT: true
54       SDNRDM: true
55       SDNRDBURL: http://persistence:9200
56       SDNR_NETCONF_CALLHOME_ENABLED: true
57       A1_ADAPTER_NORTHBOUND: false
58       JAVA_OPTS: -Xms256m -Xmx4g
59       IDENTITY_PROVIDER_URL: ${IDENTITY_PROVIDER_URL}
60       SDNC_WEB_URL: https://odlux.oam.${SOLUTION_DOMAIN}
61       SDNR_VES_COLLECTOR_ENABLED: true
62       SDNR_VES_COLLECTOR_TLS_ENABLED: false
63       SDNR_VES_COLLECTOR_TRUST_ALL_CERTS: true
64       SDNR_VES_COLLECTOR_IP: ves-collector
65       SDNR_VES_COLLECTOR_PORT: $VES_ENDPOINT_PORT
66       SDNR_VES_COLLECTOR_VERSION: v7
67       SDNR_VES_COLLECTOR_REPORTING_ENTITY_NAME: ONAP SDN-R
68       SDNR_VES_COLLECTOR_EVENTLOG_MSG_DETAIL: LONG
69       SDNR_VES_COLLECTOR_USERNAME: ${VES_ENDPOINT_USERNAME}
70       SDNR_VES_COLLECTOR_PASSWORD: ${VES_ENDPOINT_PASSWORD}
71     volumes:
72       - ./controller/oauth-aaa-app-config.xml:/opt/onap/sdnc/data/oauth-aaa-app-config.xml
73       - ./controller/oauth-provider.config.json:/opt/opendaylight/etc/oauth-provider.config.json
74       - ./controller/devicemanager.properties:/opt/opendaylight/etc/devicemanager.properties
75       - ./controller/mountpoint-registrar.properties:/opt/opendaylight/etc/mountpoint-registrar.properties
76       - ./controller/certs/certs.properties:${SDNC_CERT_DIR}/certs.properties
77       - ./controller/certs/keys0.zip:${SDNC_CERT_DIR}/keys0.zip    
78     labels:
79       traefik.enable: true
80       traefik.http.routers.controller.entrypoints: websecure
81       traefik.http.routers.controller.rule: Host(`controller.oam.${SOLUTION_DOMAIN}`)
82       traefik.http.routers.controller.tls: true
83       traefik.http.services.controller.loadbalancer.server.port: ${SDNC_REST_PORT}
84     networks:
85       smo:
86       default:
87         ipv4_address: ${SDNC_OAM_IPv4}
88         ipv6_address: ${SDNC_OAM_IPv6}
89
90   ves-collector:
91     image: ${VES_COLLECTOR_IMAGE}-configured
92     build:
93       context: ./ves-collector
94       args:
95         - BASEIMAGE=${VES_COLLECTOR_IMAGE}
96     container_name: ves-collector
97     hostname: ves-collector
98     healthcheck:
99       test: curl -k -u ${VES_ENDPOINT_USERNAME}:${VES_ENDPOINT_PASSWORD} ${VES_ENDPOINT_PROTOCOL}://localhost:${VES_ENDPOINT_PORT} || exit 1
100       start_period: 1s
101       interval: 5s
102       timeout: 4s
103       retries: 5
104     environment:
105       DMAAPHOST: messages
106     volumes:
107       - ./ves-collector/collector.properties:/opt/app/VESCollector/etc/collector.properties
108       - ./ves-collector/ves-dmaap-config.json:/opt/app/VESCollector/etc/ves-dmaap-config.json
109     labels:
110       traefik.enable: true
111       traefik.http.routers.ves.entrypoints: websecure
112       traefik.http.routers.ves.rule: Host(`ves-collector.oam.${SOLUTION_DOMAIN}`)
113       traefik.http.routers.ves.tls: true
114       traefik.http.services.ves.loadbalancer.server.port: ${VES_ENDPOINT_PORT}
115     networks:
116       smo:
117       default:
118         ipv4_address: ${VES_COLLECTOR_OAM_IPv4}
119         ipv6_address: ${VES_COLLECTOR_OAM_IPv6}
120
121 networks:
122   smo:
123     external: true
124   default:
125     driver: bridge
126     name: oam
127     enable_ipv6: true
128     ipam:
129       driver: default
130       config:
131       - subnet:  ${NETWORK_SUBNET_OAM_IPv4}
132         gateway: ${NETWORK_GATEWAY_OAM_IPv4}
133       - subnet:  ${NETWORK_SUBNET_OAM_IPv6}
134         gateway: ${NETWORK_GATEWAY_OAM_IPv6}