9d2c5b5f9933c996d3b8b74d26ae265b246f7986
[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     healthcheck:
32       test: wget -U ${ADMIN_USERNAME}:${ADMIN_PASSWORD} --no-verbose --tries=1 --spider http://localhost:${SDNC_REST_PORT}/ready || exit 1
33       start_period: 60s
34       interval: 10s
35       timeout: 5s
36       retries: 5
37     ports:
38       - 4334:4334
39       - 4335:4335
40     environment:
41       - ENABLE_ODL_CLUSTER=false
42       - ENABLE_OAUTH=true
43       - ODL_ADMIN_PASSWORD=${ADMIN_PASSWORD}
44       - SDNC_CONFIG_DIR=/opt/onap/ccsdk/data/properties
45       - SDNC_REPLICAS=0
46       - CCSDK_REPLICAS=0
47       - DOMAIN=""
48       - SDNRWT=true
49       - SDNRONLY=true
50       - SDNRINIT=true
51       - SDNRDM=true
52       - SDNRDBURL=http://persistence:9200
53       - SDNR_NETCONF_CALLHOME_ENABLED=true
54       - A1_ADAPTER_NORTHBOUND=false
55       - JAVA_OPTS=-Xms256m -Xmx4g
56       - IDENTITY_PROVIDER_URL=${IDENTITY_PROVIDER_URL}
57       - SDNC_WEB_URL=https://odlux.oam.${SOLUTION_DOMAIN}
58       - SDNR_VES_COLLECTOR_ENABLED=true
59       - SDNR_VES_COLLECTOR_TLS_ENABLED=false
60       - SDNR_VES_COLLECTOR_TRUST_ALL_CERTS=true
61       - SDNR_VES_COLLECTOR_IP=ves-collector
62       - SDNR_VES_COLLECTOR_PORT=$VES_ENDPOINT_PORT
63       - SDNR_VES_COLLECTOR_VERSION=v7
64       - SDNR_VES_COLLECTOR_REPORTING_ENTITY_NAME=ONAP SDN-R
65       - SDNR_VES_COLLECTOR_EVENTLOG_MSG_DETAIL=LONG
66       - SDNR_VES_COLLECTOR_USERNAME=${VES_ENDPOINT_USERNAME}
67       - SDNR_VES_COLLECTOR_PASSWORD=${VES_ENDPOINT_PASSWORD}
68     volumes:
69       - ./controller/oauth-aaa-app-config.xml:/opt/onap/sdnc/data/oauth-aaa-app-config.xml
70       - ./controller/oauth-provider.config.json:/opt/opendaylight/etc/oauth-provider.config.json
71       - ./controller/devicemanager.properties:/opt/opendaylight/etc/devicemanager.properties
72       - ./controller/mountpoint-registrar.properties:/opt/opendaylight/etc/mountpoint-registrar.properties
73     labels:
74       traefik.enable: true
75       traefik.http.routers.controller.entrypoints: websecure
76       traefik.http.routers.controller.rule: Host(`controller.oam.${SOLUTION_DOMAIN}`)
77       traefik.http.routers.controller.tls: true
78       traefik.http.services.controller.loadbalancer.server.port: ${SDNC_REST_PORT}
79     networks:
80       smo:
81       default:
82         ipv6_address: ${SDNC_OAM_IPv6}
83
84   ves-collector:
85     image: ${VES_COLLECTOR_IMAGE}
86     container_name: ves-collector
87     hostname: ves-collector
88     environment:
89       DMAAPHOST: messages
90     volumes:
91       - ./ves-collector/collector.properties:/opt/app/VESCollector/etc/collector.properties
92       - ./ves-collector/ves-dmaap-config.json:/opt/app/VESCollector/etc/ves-dmaap-config.json
93       - ./ves-collector/externalRepo:/opt/app/VESCollector/etc/externalRepo
94     labels:
95       traefik.enable: true
96       traefik.http.routers.ves.entrypoints: websecure
97       traefik.http.routers.ves.rule: Host(`ves-collector.oam.${SOLUTION_DOMAIN}`)
98       traefik.http.routers.ves.tls: true
99       traefik.http.services.ves.loadbalancer.server.port: ${VES_ENDPOINT_PORT}
100     networks:
101       smo:
102
103 networks:
104   smo:
105     external: true
106   default:
107     driver: bridge
108     name: oam
109     enable_ipv6: true
110     ipam:
111       driver: default
112       config:
113       - subnet:  "${NETWORK_SUBNET_OAM_IPv6}"
114         gateway: "${NETWORK_GATEWAY_OAM_IPv6}"