Add CSIT for ACM in docker
[policy/docker.git] / compose / 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 #  Modification Copyright 2021-2023 Nordix Foundation.
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 services:
22    mariadb:
23       image: ${CONTAINER_LOCATION}mariadb:${POLICY_MARIADB_VER}
24       container_name: mariadb
25       hostname: mariadb
26       command: ['--lower-case-table-names=1', '--wait_timeout=28800', '--default-authentication-plugin=mysql_native_password']
27       env_file: ./config/db/db.conf
28       volumes:
29          - ./config/db:/docker-entrypoint-initdb.d:ro
30          - ./config/clamp/policy-clamp-create-tables.sql:/tmp/policy-clamp-create-tables.sql
31       ports:
32        - 3306:3306
33    policy-db-migrator:
34       image: ${CONTAINER_LOCATION}onap/policy-db-migrator:${POLICY_DOCKER_VERSION}
35       container_name: policy-db-migrator
36       hostname: policy-db-migrator
37       depends_on:
38         - mariadb
39       expose:
40        - 6824
41       env_file: ./config/db/db.conf
42       environment:
43         SQL_DB: policyadmin
44         SQL_HOST: mariadb
45       volumes:
46          - ./config/db-migrator/init.sh:/opt/app/policy/bin/db_migrator_policy_init.sh:ro
47          - ./wait_for_port.sh:/opt/app/policy/bin/wait_for_port.sh:ro
48       entrypoint: /opt/app/policy/bin/wait_for_port.sh
49       command: [
50               '-c',
51                 '/opt/app/policy/bin/db_migrator_policy_init.sh',
52                 'mariadb', '3306'
53                ]
54    simulator:
55       image: ${CONTAINER_LOCATION}onap/policy-models-simulator:${POLICY_MODELS_VERSION}
56       container_name: simulator
57       hostname: simulator
58       networks:
59           default:
60               aliases:
61                   - message-router
62                   - aai-sim
63                   - grpc-sim
64                   - sdnc-sim
65                   - so-sim
66                   - vfc-sim
67       volumes:
68        - ./config/sim-all:/opt/app/policy/simulators/etc/mounted:ro
69        - ./config/sim-all/logback.xml:/opt/app/policy/simulators/etc/mounted/logback.xml:ro
70       expose:
71        - 6666
72        - 6668
73        - 6669
74        - 6670
75        - 3904
76        - 6680
77       ports:
78        - ${DMAAP_PORT}:3904
79    api:
80       image: ${CONTAINER_LOCATION}onap/policy-api:${POLICY_API_VERSION}
81       container_name: policy-api
82       depends_on:
83        - policy-db-migrator
84       hostname: policy-api
85       ports:
86        - ${API_PORT}:6969
87       volumes:
88        - ./config/api/apiParameters.yaml:/opt/app/policy/api/etc/apiParameters.yaml:ro
89        - ./config/api/logback.xml:/opt/app/policy/api/etc/logback.xml:ro
90        - ./wait_for_port.sh:/opt/app/policy/api/bin/wait_for_port.sh:ro
91       entrypoint: ./wait_for_port.sh
92       command: [
93         '-c', './policy-api.sh',
94         'mariadb', '3306',
95         'policy-db-migrator', '6824'
96         ]
97    pap:
98       image: ${CONTAINER_LOCATION}onap/policy-pap:${POLICY_PAP_VERSION}
99       container_name: policy-pap
100       depends_on:
101        - mariadb
102        - simulator
103        - api
104       hostname: policy-pap
105       ports:
106        - ${PAP_PORT}:6969
107       volumes:
108        - ./config/pap/papParameters.yaml:/opt/app/policy/pap/etc/papParameters.yaml:ro
109        - ./config/${PROJECT}/groups.json:/opt/app/policy/pap/etc/mounted/groups.json:ro
110        - ./config/pap/logback.xml:/opt/app/policy/pap/etc/logback.xml:ro
111        - ./wait_for_port.sh:/opt/app/policy/pap/bin/wait_for_port.sh:ro
112       entrypoint: ./wait_for_port.sh
113       command: [
114         '-c', './policy-pap.sh',
115         'mariadb', '3306',
116         'message-router', '3904',
117         'api', '6969'
118         ]
119    xacml-pdp:
120       image: ${CONTAINER_LOCATION}onap/policy-xacml-pdp:${POLICY_XACML_PDP_VERSION}
121       container_name: policy-xacml-pdp
122       depends_on:
123        - mariadb
124        - simulator
125        - pap
126       hostname: policy-xacml-pdp
127       ports:
128        - ${XACML_PORT}:6969
129        - 30999:3904
130       volumes:
131        - ./config/xacml-pdp/defaultConfig.json:/opt/app/policy/pdpx/etc/defaultConfig.json:ro
132        - ./config/xacml-pdp/logback.xml:/opt/app/policy/pdpx/etc/logback.xml:ro
133        - ./wait_for_port.sh:/opt/app/policy/pdpx/bin/wait_for_port.sh:ro
134       entrypoint: ./wait_for_port.sh
135       command: [
136         '-c', './policy-pdpx.sh',
137         'mariadb', '3306',
138         'message-router', '3904',
139         'pap', '6969'
140         ]
141    drools-pdp:
142       image: ${CONTAINER_LOCATION}onap/policy-drools:${POLICY_DROOLS_PDP_VERSION}
143       container_name: drools
144       depends_on:
145        - mariadb
146        - simulator
147        - pap
148       hostname: drools
149       ports:
150        - ${DROOLS_PORT}:6969
151        - ${DROOLS_TELEMETRY_PORT}:9696
152       volumes:
153        - ./config/drools-pdp/custom:/tmp/policy-install/config:ro
154        - ./wait_for_port.sh:/opt/app/policy/bin/wait_for_port.sh:ro
155       env_file:
156         - ./config/drools-pdp/env/base.conf
157       entrypoint: /opt/app/policy/bin/wait_for_port.sh
158       command: [
159         '-c', '/opt/app/policy/bin/pdpd-entrypoint.sh boot',
160         'mariadb', '3306',
161         'message-router', '3904'
162         ]
163    drools-applications:
164       image: ${CONTAINER_LOCATION}onap/policy-pdpd-cl:${POLICY_DROOLS_APPS_VERSION}
165       container_name: drools-apps
166       depends_on:
167        - mariadb
168        - simulator
169        - pap
170        - xacml-pdp
171       hostname: drools-apps
172       ports:
173        - ${DROOLS_APPS_PORT}:6969
174        - ${DROOLS_APPS_TELEMETRY_PORT}:9696
175       volumes:
176        - ./config/drools-applications/custom:/tmp/policy-install/config:ro
177        - ./wait_for_port.sh:/opt/app/policy/bin/wait_for_port.sh:ro
178       env_file:
179         - ./config/drools-applications/env/base.conf
180         - ./config/drools-applications/env/feature-healthcheck.conf
181         - ./config/drools-applications/env/feature-pooling-dmaap.conf
182       entrypoint: /opt/app/policy/bin/wait_for_port.sh
183       command: [
184         '-c', '/opt/app/policy/bin/pdpd-cl-entrypoint.sh boot',
185         'mariadb', '3306',
186         'message-router', '3904',
187         'pap', '6969',
188         'aai-sim', '6666',
189         'sdnc-sim', '6668',
190         'so-sim', '6669',
191         'vfc-sim', '6670'
192         ]
193    apex-pdp:
194       image: ${CONTAINER_LOCATION}onap/policy-apex-pdp:${POLICY_APEX_PDP_VERSION}
195       container_name: policy-apex-pdp
196       depends_on:
197        - mariadb
198        - simulator
199        - pap
200       hostname: policy-apex-pdp
201       ports:
202        - ${APEX_PORT}:6969
203        - ${APEX_EVENTS_PORT}:23324
204       volumes:
205        - ./config/apex-pdp/OnapPfConfig.json:/opt/app/policy/apex-pdp/etc/onappf/config/OnapPfConfig.json:ro
206        - ./config/apex-pdp/logback.xml:/opt/app/policy/apex-pdp/etc/logback.xml:ro
207        - ./wait_for_port.sh:/opt/app/policy/bin/wait_for_port.sh:ro
208       entrypoint: /opt/app/policy/bin/wait_for_port.sh
209       command: [
210         '-c', '/opt/app/policy/apex-pdp/bin/apexOnapPf.sh -c /opt/app/policy/apex-pdp/etc/onappf/config/OnapPfConfig.json',
211         'mariadb', '3306',
212         'message-router', '3904',
213         'pap', '6969'
214         ]
215    distribution:
216       image: ${CONTAINER_LOCATION}onap/policy-distribution:${POLICY_DISTRIBUTION_VERSION}
217       container_name: policy-distribution
218       depends_on:
219        - mariadb
220        - api
221        - pap
222        - apex-pdp
223       hostname: policy-distribution
224       ports:
225        - ${DIST_PORT}:6969
226       volumes:
227        - ./config/distribution/defaultConfig.json:/opt/app/policy/distribution/etc/defaultConfig.json:ro
228        - /tmp/distribution/:/opt/app/policy/distribution/etc/temp/:ro
229        - ./config/distribution/logback.xml:/opt/app/policy/distribution/etc/logback.xml:ro
230        - ./wait_for_port.sh:/opt/app/policy/bin/wait_for_port.sh:ro
231       entrypoint: /opt/app/policy/bin/wait_for_port.sh
232       command: [
233         '-c', './policy-dist.sh',
234         'mariadb', '3306',
235         'message-router', '3904',
236         'pap', '6969',
237         'apex-pdp', '6969'
238         ]
239    policy-clamp-runtime-acm:
240       image: ${CONTAINER_LOCATION}onap/policy-clamp-runtime-acm:${POLICY_CLAMP_VERSION}
241       container_name: policy-clamp-runtime-acm
242       depends_on:
243        - mariadb
244        - simulator
245        - policy-clamp-ac-http-ppnt
246        - policy-clamp-ac-k8s-ppnt
247        - policy-clamp-ac-pf-ppnt
248        - apex-pdp
249       hostname: policy-clamp-runtime-acm
250       ports:
251        - ${ACM_PORT}:6969
252       volumes:
253        - ./config/clamp/AcRuntimeParameters.yaml:/opt/app/policy/clamp/etc/AcRuntimeParameters.yaml
254        - ./config/clamp/logback.xml:/opt/app/policy/clamp/etc/logback.xml:ro
255        - ./wait_for_port.sh:/opt/app/policy/bin/wait_for_port.sh:ro
256       entrypoint: /opt/app/policy/bin/wait_for_port.sh
257       command: [
258         '-c', './acm-runtime.sh',
259         'mariadb', '3306',
260         'message-router', '3904',
261         'policy-clamp-ac-http-ppnt', '6969',
262         'policy-clamp-ac-k8s-ppnt', '6969',
263         'policy-clamp-ac-pf-ppnt', '6969',
264         'apex-pdp', '6969'
265         ]
266
267    policy-clamp-ac-http-ppnt:
268       image: ${CONTAINER_LOCATION}onap/policy-clamp-ac-http-ppnt:${POLICY_CLAMP_VERSION}
269       container_name: policy-clamp-ac-http-ppnt
270       depends_on:
271        - simulator
272       hostname: policy-clamp-ac-http-ppnt
273       ports:
274        - 30290:6969
275       volumes:
276        - ./config/clamp/HttpParticipantParameters.yaml:/opt/app/policy/clamp/etc/HttpParticipantParameters.yaml
277        - ./config/clamp/logback.xml:/opt/app/policy/clamp/etc/logback.xml:ro
278        - ./wait_for_port.sh:/opt/app/policy/bin/wait_for_port.sh:ro
279       entrypoint: /opt/app/policy/bin/wait_for_port.sh
280       command: [
281         '-c', './http-participant.sh',
282         'message-router', '3904'
283         ]
284    policy-clamp-ac-k8s-ppnt:
285       image: ${CONTAINER_LOCATION}onap/policy-clamp-ac-k8s-ppnt:${POLICY_CLAMP_VERSION}
286       container_name: policy-clamp-ac-k8s-ppnt
287       depends_on:
288        - simulator
289       hostname: policy-clamp-ac-k8s-ppnt
290       ports:
291        - 30295:6969
292       volumes:
293        - ./config/clamp/KubernetesParticipantParameters.yaml:/opt/app/policy/clamp/etc/KubernetesParticipantParameters.yaml
294        - ./config/clamp/logback.xml:/opt/app/policy/clamp/etc/logback.xml:ro
295        - ./wait_for_port.sh:/opt/app/policy/bin/wait_for_port.sh:ro
296       entrypoint: /opt/app/policy/bin/wait_for_port.sh
297       command: [
298         '-c', './kubernetes-participant.sh',
299         'message-router', '3904'
300         ]
301    policy-clamp-ac-pf-ppnt:
302       image: ${CONTAINER_LOCATION}onap/policy-clamp-ac-pf-ppnt:${POLICY_CLAMP_VERSION}
303       container_name: policy-clamp-ac-pf-ppnt
304       depends_on:
305        - simulator
306        - api
307       hostname: policy-clamp-ac-pf-ppnt
308       ports:
309        - ${POLICY_PARTICIPANT_PORT}:6969
310       volumes:
311        - ./config/clamp/PolicyParticipantParameters.yaml:/opt/app/policy/clamp/etc/PolicyParticipantParameters.yaml:ro
312        - ./config/clamp/logback.xml:/opt/app/policy/clamp/etc/logback.xml:ro
313        - ./wait_for_port.sh:/opt/app/policy/bin/wait_for_port.sh:ro
314       entrypoint: /opt/app/policy/bin/wait_for_port.sh
315       command: [
316         '-c', './policy-participant.sh',
317         'message-router', '3904',
318         'api', '6969'
319         ]
320    policy-clamp-ac-a1pms-ppnt:
321       image: ${CONTAINER_LOCATION}onap/policy-clamp-ac-a1pms-ppnt:${POLICY_CLAMP_VERSION}
322       container_name: policy-clamp-ac-a1pms-ppnt
323       depends_on:
324        - simulator
325       hostname: policy-clamp-ac-a1pms-ppnt
326       ports:
327        - 30296:6969
328       volumes:
329        - ./config/clamp/A1pmsParticipantParameters.yaml:/opt/app/policy/clamp/etc/A1pmsParticipantParameters.yaml:ro
330        - ./config/clamp/logback.xml:/opt/app/policy/clamp/etc/logback.xml:ro
331        - ./wait_for_port.sh:/opt/app/policy/bin/wait_for_port.sh:ro
332       entrypoint: /opt/app/policy/bin/wait_for_port.sh
333       command: [
334         '-c', './a1pms-participant.sh',
335         'message-router', '3904'
336         ]
337    policy-clamp-ac-kserve-ppnt:
338       image: ${CONTAINER_LOCATION}onap/policy-clamp-ac-kserve-ppnt:${POLICY_CLAMP_VERSION}
339       container_name: policy-clamp-ac-kserve-ppnt
340       depends_on:
341        - simulator
342       hostname: policy-clamp-ac-kserve-ppnt
343       ports:
344        - 30297:6969
345       volumes:
346        - ./config/clamp/KserveParticipantParameters.yaml:/opt/app/policy/clamp/etc/KserveParticipantParameters.yaml:ro
347        - ./config/clamp/logback.xml:/opt/app/policy/clamp/etc/logback.xml:ro
348        - ./wait_for_port.sh:/opt/app/policy/bin/wait_for_port.sh:ro
349       entrypoint: /opt/app/policy/bin/wait_for_port.sh
350       command: [
351         '-c', './kserve-participant.sh',
352         'message-router', '3904'
353         ]
354    prometheus:
355       image: ${CONTAINER_LOCATION}prom/prometheus:latest
356       container_name: prometheus
357       hostname: prometheus
358       ports:
359        - ${PROMETHEUS_PORT}:9090
360       volumes:
361        - ./metrics/prometheus.yml:/etc/prometheus/prometheus.yml
362    grafana:
363       image: ${CONTAINER_LOCATION}grafana/grafana:latest
364       container_name: grafana
365       depends_on:
366        - prometheus
367       hostname: grafana
368       ports:
369        - ${GRAFANA_PORT}:3000
370       volumes:
371        - ./metrics/dashboard.yaml:/etc/grafana/provisioning/dashboards/dashboard.yaml
372        - ./metrics/datasource.yaml:/etc/grafana/provisioning/datasources/datasource.yaml
373        - ./metrics/dashboards:/var/lib/grafana/dashboards