Give Deployment instructions of an O-RU Controller
[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_ADMIN_PASSWORD=${ADMIN_PASSWORD}
46       - SDNC_CONFIG_DIR=/opt/onap/ccsdk/data/properties
47       - SDNC_REPLICAS=0
48       - CCSDK_REPLICAS=0
49       - DOMAIN=""
50       - SDNRWT=true
51       - SDNRONLY=true
52       - SDNRINIT=true
53       - SDNRDM=true
54       - SDNRDBURL=http://persistence:9200
55       - SDNR_NETCONF_CALLHOME_ENABLED=true
56       - A1_ADAPTER_NORTHBOUND=false
57       - JAVA_OPTS=-Xms256m -Xmx4g
58       - IDENTITY_PROVIDER_URL=${IDENTITY_PROVIDER_URL}
59       - SDNC_WEB_URL=https://odlux.oam.${SOLUTION_DOMAIN}
60       - SDNR_VES_COLLECTOR_ENABLED=true
61       - SDNR_VES_COLLECTOR_TLS_ENABLED=false
62       - SDNR_VES_COLLECTOR_TRUST_ALL_CERTS=true
63       - SDNR_VES_COLLECTOR_IP=ves-collector
64       - SDNR_VES_COLLECTOR_PORT=$VES_ENDPOINT_PORT
65       - SDNR_VES_COLLECTOR_VERSION=v7
66       - SDNR_VES_COLLECTOR_REPORTING_ENTITY_NAME=ONAP SDN-R
67       - SDNR_VES_COLLECTOR_EVENTLOG_MSG_DETAIL=LONG
68       - SDNR_VES_COLLECTOR_USERNAME=${VES_ENDPOINT_USERNAME}
69       - SDNR_VES_COLLECTOR_PASSWORD=${VES_ENDPOINT_PASSWORD}
70     volumes:
71       - ./controller/oauth-aaa-app-config.xml:/opt/onap/sdnc/data/oauth-aaa-app-config.xml
72       - ./controller/oauth-provider.config.json:/opt/opendaylight/etc/oauth-provider.config.json
73       - ./controller/devicemanager.properties:/opt/opendaylight/etc/devicemanager.properties
74       - ./controller/mountpoint-registrar.properties:/opt/opendaylight/etc/mountpoint-registrar.properties
75     labels:
76       traefik.enable: true
77       traefik.http.routers.controller.entrypoints: websecure
78       traefik.http.routers.controller.rule: Host(`controller.oam.${SOLUTION_DOMAIN}`)
79       traefik.http.routers.controller.tls: true
80       traefik.http.services.controller.loadbalancer.server.port: ${SDNC_REST_PORT}
81     networks:
82       smo:
83       default:
84         ipv6_address: ${SDNC_OAM_IPv6}
85
86   ves-collector:
87     image: ${VES_COLLECTOR_IMAGE}
88     container_name: ves-collector
89     hostname: ves-collector
90     environment:
91       DMAAPHOST: messages
92     volumes:
93       - ./ves-collector/collector.properties:/opt/app/VESCollector/etc/collector.properties
94       - ./ves-collector/ves-dmaap-config.json:/opt/app/VESCollector/etc/ves-dmaap-config.json
95       - ./ves-collector/externalRepo:/opt/app/VESCollector/etc/externalRepo
96     labels:
97       traefik.enable: true
98       traefik.http.routers.ves.entrypoints: websecure
99       traefik.http.routers.ves.rule: Host(`ves-collector.oam.${SOLUTION_DOMAIN}`)
100       traefik.http.routers.ves.tls: true
101       traefik.http.services.ves.loadbalancer.server.port: ${VES_ENDPOINT_PORT}
102     networks:
103       smo:
104
105 networks:
106   smo:
107     external: true
108   default:
109     driver: bridge
110     name: oam
111     enable_ipv6: true
112     ipam:
113       driver: default
114       config:
115       - subnet:  "${NETWORK_SUBNET_OAM_IPv6}"
116         gateway: "${NETWORK_GATEWAY_OAM_IPv6}"