57041332a14d55adbfef878d45cb2ba333c43723
[oam.git] / solution / integration / smo / onap-policy / docker-compose.yml
1 #
2 # ===========LICENSE_START====================================================
3 #  Copyright (C) 2020-2021 AT&T Intellectual Property. All rights reserved.
4 #  Modifications Copyright (C) 2021 Bell Canada. All rights reserved.
5 #  Modifications Copyright (C) 2021 Nordix Foundation. All rights reserved.
6 # ============================================================================
7 # Licensed under the Apache License, Version 2.0 (the "License");
8 # you may not use this file except in compliance with the License.
9 # You may obtain a copy of the License at
10 #
11 #      http://www.apache.org/licenses/LICENSE-2.0
12 #
13 # Unless required by applicable law or agreed to in writing, software
14 # distributed under the License is distributed on an "AS IS" BASIS,
15 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 # See the License for the specific language governing permissions and
17 # limitations under the License.
18 # ============LICENSE_END=====================================================
19 #
20 version: '2'
21 networks:
22   nonrtric:
23     driver: bridge
24     name: nonrtric
25   smo:
26     external: true
27
28 services:
29    mariadb:
30       image: nexus3.onap.org:10001/mariadb:10.5.8
31       container_name: mariadb
32       hostname: mariadb
33       volumes:
34        - db-vol:/var/lib/mysql
35        - "./config/db/:/docker-entrypoint-initdb.d:rw"
36       environment:
37        - MYSQL_ROOT_PASSWORD=strong_pitchou
38       ports:
39        - "3306:3306"
40       expose:
41        - 3306
42       networks:
43        - nonrtric
44    api:
45       image: nexus3.onap.org:10001/onap/policy-api:2.4.2
46       container_name: policy-api
47       depends_on:
48        - mariadb
49       hostname: policy-api
50       ports:
51        - "6869:6969"
52       expose:
53        - 6869
54       volumes:
55        - ./config/api/defaultConfig.json:/opt/app/policy/api/etc/defaultConfig.json:ro
56        - ./config/ks.jks:/opt/app/policy/api/etc/ssl/policy-keystore.jks:ro
57        - ./wait_for_port.sh:/opt/app/policy/api/bin/wait_for_port.sh:ro
58       entrypoint: ./wait_for_port.sh
59       command: [
60         '-c', './policy-api.sh',
61         'mariadb', '3306'
62         ]
63       networks:
64        - nonrtric
65        - smo
66    pap:
67       image: nexus3.onap.org:10001/onap/policy-pap:2.4.2
68       container_name: policy-pap
69       depends_on:
70        - mariadb
71        - api
72       hostname: policy-pap
73       ports:
74        - "6868:6969"
75       expose:
76        - 6868
77       volumes:
78        - ./config/pap/defaultConfig.json:/opt/app/policy/pap/etc/defaultConfig.json:ro
79        - ./config/ks.jks:/opt/app/policy/pap/etc/ssl/policy-keystore.jks:ro
80        - ./wait_for_port.sh:/opt/app/policy/pap/bin/wait_for_port.sh:ro
81       entrypoint: ./wait_for_port.sh
82       command: [
83         '-c', './policy-pap.sh',
84         'mariadb', '3306',
85         'onap-dmaap', '3904',
86         'api', '6969'
87         ]
88       networks:
89        - nonrtric
90        - smo
91    xacml-pdp:
92       image: nexus3.onap.org:10001/onap/policy-xacml-pdp:2.4.2
93       container_name: policy-xacml-pdp
94       depends_on:
95        - mariadb
96        - pap
97       hostname: policy-xacml-pdp
98       expose:
99        - 6969
100       volumes:
101        - ./config/xacml-pdp/defaultConfig.json:/opt/app/policy/pdpx/etc/defaultConfig.json:ro
102        - ./config/ks.jks:/opt/app/policy/pdpx/etc/ssl/policy-keystore.jks:ro
103        - ./wait_for_port.sh:/opt/app/policy/pdpx/bin/wait_for_port.sh:ro
104       entrypoint: ./wait_for_port.sh
105       command: [
106         '-c', './policy-pdpx.sh',
107         'mariadb', '3306',
108         'onap-dmaap', '3904',
109         'pap', '6969'
110         ]
111       networks:
112        - nonrtric
113        - smo
114    drools:
115       image: nexus3.onap.org:10001/onap/policy-drools:1.8.2
116       container_name: drools
117       depends_on:
118        - mariadb
119        - pap
120       hostname: drools
121       expose:
122        - 6969
123        - 9696
124       volumes:
125        - ./config/drools/custom:/tmp/policy-install/config:ro
126        - ./wait_for_port.sh:/opt/app/policy/bin/wait_for_port.sh:ro
127       env_file:
128         - config/drools/env/base.conf
129       entrypoint: /opt/app/policy/bin/wait_for_port.sh
130       command: [
131         '-c', '/opt/app/policy/bin/pdpd-entrypoint.sh boot',
132         'mariadb', '3306',
133         'onap-dmaap', '3904'
134         ]
135       networks:
136        - nonrtric
137        - smo
138    drools-apps:
139       image: nexus3.onap.org:10001/onap/policy-pdpd-cl:1.8.2
140       container_name: drools-apps
141       depends_on:
142        - mariadb
143        - pap
144        - xacml-pdp
145       hostname: drools-apps
146       expose:
147        - 6969
148        - 9696
149       volumes:
150        - ./config/drools-apps/custom:/tmp/policy-install/config:ro
151        - ./config/drools-apps/custom/feature-lifecycle.properties:/opt/app/policy/features/lifecycle/config/feature-lifecycle.properties:ro
152        - ./wait_for_port.sh:/opt/app/policy/bin/wait_for_port.sh:ro
153       env_file:
154         - config/drools-apps/env/base.conf
155         - config/drools-apps/env/feature-healthcheck.conf
156         - config/drools-apps/env/feature-pooling-dmaap.conf
157       entrypoint: /opt/app/policy/bin/wait_for_port.sh
158       command: [
159         '-c', '/opt/app/policy/bin/pdpd-cl-entrypoint.sh boot',
160         'mariadb', '3306',
161         'onap-dmaap', '3904',
162         'pap', '6969'
163         ]
164       networks:
165        - nonrtric
166        - smo
167    apex-pdp:
168       image: nexus3.onap.org:10001/onap/policy-apex-pdp:2.5.4
169       container_name: policy-apex-pdp
170       depends_on:
171        - mariadb
172        - pap
173       hostname: policy-apex-pdp
174       expose:
175        - 6969
176        - 23324
177       volumes:
178        - ./config/apex-pdp/OnapPfConfig.json:/opt/app/policy/apex-pdp/etc/onappf/config/OnapPfConfig.json:ro
179        - ./config/ks.jks:/opt/app/policy/apex-pdp/etc/ssl/policy-keystore.jks:ro
180        - ./wait_for_port.sh:/opt/app/policy/bin/wait_for_port.sh:ro
181       entrypoint: /opt/app/policy/bin/wait_for_port.sh
182       command: [
183         '-c', '/opt/app/policy/apex-pdp/bin/apexOnapPf.sh -c /opt/app/policy/apex-pdp/etc/onappf/config/OnapPfConfig.json',
184         'mariadb', '3306',
185         'onap-dmaap', '3904',
186         'pap', '6969'
187         ]
188       networks:
189        - nonrtric
190        - smo
191    distribution:
192       image: nexus3.onap.org:10001/onap/policy-distribution:2.5.2
193       container_name: policy-distribution
194       depends_on:
195        - mariadb
196        - api
197        - pap
198        - apex-pdp
199       hostname: policy-distribution
200       volumes:
201        - ./config/distribution/defaultConfig.json:/opt/app/policy/distribution/etc/defaultConfig.json:ro
202        - ./config/ks.jks:/opt/app/policy/distribution/etc/ssl/policy-keystore.jks:ro
203        - ./distribution/config/temp/:/opt/app/policy/distribution/etc/temp/:ro
204        - ./wait_for_port.sh:/opt/app/policy/bin/wait_for_port.sh:ro
205       entrypoint: /opt/app/policy/bin/wait_for_port.sh
206       command: [
207         '-c', './policy-dist.sh',
208         'mariadb', '3306',
209         'onap-dmaap', '3904',
210         'pap', '6969',
211         'apex-pdp', '6969'
212         ]
213       networks:
214        - nonrtric
215        - smo
216    controlloop-runtime:
217       image: nexus3.onap.org:10001/onap/policy-clamp-cl-runtime:6.1.3
218       container_name: controlloop-runtime
219       depends_on:
220        - mariadb
221       hostname: controlloop-runtime
222       ports:
223        - "6969:6969"
224       expose:
225        - 6969
226       volumes:
227        - ./config/ks.jks:/opt/app/policy/clamp/etc/ssl/policy-keystore:ro
228        - ./wait_for_port.sh:/opt/app/policy/clamp/bin/wait_for_port.sh:ro
229       environment:
230        - TOPICSERVER=onap-dmaap
231        - MARIADB_HOST=mariadb
232        - MARIADB_PORT=3306
233        - KEYSTORE=/opt/app/policy/clamp/etc/ssl/policy-keystore
234        - KEYSTORE_PASSWD=Pol1cy_0nap
235        - RUNTIME_TOPICPARAMETERGROUP_TOPICSOURCES_0_TOPIC=POLICY-CLRUNTIME-PARTICIPANT
236        - RUNTIME_TOPICPARAMETERGROUP_TOPICSOURCES_0_SERVERS_0=onap-dmaap
237        - RUNTIME_TOPICPARAMETERGROUP_TOPICSOURCES_0_TOPICCOMMINFRASTRUCTURE=dmaap
238        - RUNTIME_TOPICPARAMETERGROUP_TOPICSOURCES_0_FETCHTIMEOUT=15000
239        - RUNTIME_TOPICPARAMETERGROUP_TOPICSOURCES_0_USEHTTPS=false
240        - RUNTIME_TOPICPARAMETERGROUP_TOPICSINKS_0_TOPIC=POLICY-CLRUNTIME-PARTICIPANT
241        - RUNTIME_TOPICPARAMETERGROUP_TOPICSINKS_0_SERVERS_0=onap-dmaap
242        - RUNTIME_TOPICPARAMETERGROUP_TOPICSINKS_0_TOPICCOMMINFRASTRUCTURE=dmaap
243        - RUNTIME_TOPICPARAMETERGROUP_TOPICSINKS_0_FETCHTIMEOUT=15000
244        - RUNTIME_TOPICPARAMETERGROUP_TOPICSINKS_0_USEHTTPS=false
245       entrypoint: /opt/app/policy/clamp/bin/wait_for_port.sh
246       command: [
247         '-c', '/opt/app/policy/clamp/bin/controlloop-runtime.sh',
248         'mariadb', '3306',
249         'onap-dmaap', '3904'
250         ]
251       networks:
252        - nonrtric
253        - smo
254    policy-participant:
255       image: nexus3.onap.org:10001/onap/policy-clamp-cl-pf-ppnt:6.1.3
256       container_name: policy-participant
257       depends_on:
258        - mariadb
259        - controlloop-runtime
260       hostname: policy-participant
261       volumes:
262        - ./config/ks.jks:/opt/app/policy/clamp/etc/ssl/policy-keystore:ro
263        - ./wait_for_port.sh:/opt/app/policy/clamp/bin/wait_for_port.sh:ro
264       environment:
265        - TOPICSERVER=onap-dmaap
266        - KEYSTORE=/opt/app/policy/clamp/etc/ssl/policy-keystore
267        - KEYSTORE_PASSWD=Pol1cy_0nap
268        - PARTICIPANT_INTERMEDIARYPARAMETERS_CLAMPCONTROLLOOPTOPICS_TOPICSOURCES_0_TOPIC=POLICY-CLRUNTIME-PARTICIPANT
269        - PARTICIPANT_INTERMEDIARYPARAMETERS_CLAMPCONTROLLOOPTOPICS_TOPICSOURCES_0_SERVERS_0=onap-dmaap
270        - PARTICIPANT_INTERMEDIARYPARAMETERS_CLAMPCONTROLLOOPTOPICS_TOPICSOURCES_0_TOPICCOMMINFRASTRUCTURE=dmaap
271        - PARTICIPANT_INTERMEDIARYPARAMETERS_CLAMPCONTROLLOOPTOPICS_TOPICSOURCES_0_FETCHTIMEOUT=15000
272        - PARTICIPANT_INTERMEDIARYPARAMETERS_CLAMPCONTROLLOOPTOPICS_TOPICSOURCES_0_USEHTTPS=false
273        - PARTICIPANT_INTERMEDIARYPARAMETERS_CLAMPCONTROLLOOPTOPICS_TOPICSINKS_0_TOPIC=POLICY-CLRUNTIME-PARTICIPANT
274        - PARTICIPANT_INTERMEDIARYPARAMETERS_CLAMPCONTROLLOOPTOPICS_TOPICSINKS_0_SERVERS_0=onap-dmaap
275        - PARTICIPANT_INTERMEDIARYPARAMETERS_CLAMPCONTROLLOOPTOPICS_TOPICSINKS_0_TOPICCOMMINFRASTRUCTURE=dmaap
276        - PARTICIPANT_INTERMEDIARYPARAMETERS_CLAMPCONTROLLOOPTOPICS_TOPICSINKS_0_FETCHTIMEOUT=15000
277        - PARTICIPANT_INTERMEDIARYPARAMETERS_CLAMPCONTROLLOOPTOPICS_TOPICSINKS_0_USEHTTPS=false
278       entrypoint: /opt/app/policy/clamp/bin/wait_for_port.sh
279       command: [
280         '-c', '/opt/app/policy/clamp/bin/policy-participant.sh',
281         'controlloop-runtime', '6969'
282         ]
283       networks:
284        - nonrtric
285        - smo
286    k8s-participant:
287       image: nexus3.onap.org:10001/onap/policy-clamp-cl-k8s-ppnt:6.1.3
288       container_name: k8s-participant
289       depends_on:
290        - mariadb
291        - controlloop-runtime
292       hostname: k8s-participant
293       volumes:
294        - ./config/ks.jks:/opt/app/policy/clamp/etc/ssl/policy-keystore:ro
295        - ./wait_for_port.sh:/opt/app/policy/clamp/bin/wait_for_port.sh:ro
296       environment:
297        - TOPICSERVER=onap-dmaap
298        - KEYSTORE=/opt/app/policy/clamp/etc/ssl/policy-keystore
299        - KEYSTORE_PASSWD=Pol1cy_0nap
300        - PARTICIPANT_INTERMEDIARYPARAMETERS_CLAMPCONTROLLOOPTOPICS_TOPICSOURCES_0_TOPIC=POLICY-CLRUNTIME-PARTICIPANT
301        - PARTICIPANT_INTERMEDIARYPARAMETERS_CLAMPCONTROLLOOPTOPICS_TOPICSOURCES_0_SERVERS_0=onap-dmaap
302        - PARTICIPANT_INTERMEDIARYPARAMETERS_CLAMPCONTROLLOOPTOPICS_TOPICSOURCES_0_TOPICCOMMINFRASTRUCTURE=dmaap
303        - PARTICIPANT_INTERMEDIARYPARAMETERS_CLAMPCONTROLLOOPTOPICS_TOPICSOURCES_0_FETCHTIMEOUT=15000
304        - PARTICIPANT_INTERMEDIARYPARAMETERS_CLAMPCONTROLLOOPTOPICS_TOPICSOURCES_0_USEHTTPS=false
305        - PARTICIPANT_INTERMEDIARYPARAMETERS_CLAMPCONTROLLOOPTOPICS_TOPICSINKS_0_TOPIC=POLICY-CLRUNTIME-PARTICIPANT
306        - PARTICIPANT_INTERMEDIARYPARAMETERS_CLAMPCONTROLLOOPTOPICS_TOPICSINKS_0_SERVERS_0=onap-dmaap
307        - PARTICIPANT_INTERMEDIARYPARAMETERS_CLAMPCONTROLLOOPTOPICS_TOPICSINKS_0_TOPICCOMMINFRASTRUCTURE=dmaap
308        - PARTICIPANT_INTERMEDIARYPARAMETERS_CLAMPCONTROLLOOPTOPICS_TOPICSINKS_0_FETCHTIMEOUT=15000
309        - PARTICIPANT_INTERMEDIARYPARAMETERS_CLAMPCONTROLLOOPTOPICS_TOPICSINKS_0_USEHTTPS=false
310       entrypoint: sh -c "/opt/app/policy/clamp/bin/wait_for_port.sh controlloop-runtime 6969 && /opt/app/policy/clamp/bin/kubernetes-participant.sh"
311       networks:
312        - nonrtric
313        - smo
314 volumes:
315   db-vol: