adff907f7a369de128d108cf5ae6c2ce9a4e23dc
[ealt-edge.git] / mecm / mepm / applcm / resources / docker-compose.yaml
1 # yamllint disable
2 version: '3.3'
3
4 networks:
5   bridge:
6     external: true
7
8 services:
9   db:
10     network_mode: bridge
11     image: mysql:5.7
12     environment:
13       MYSQL_DATABASE: 'db'
14       MYSQL_USER: 'root'
15       MYSQL_PASSWORD: 'password'
16       # Password for root access
17       MYSQL_ROOT_PASSWORD: 'password'
18     ports:
19       - '3306:3306'
20     expose:
21       - '3306'
22     volumes:
23       - my-db:/var/lib/mysql
24     logging:
25       driver: "json-file"
26       options:
27         max-size: "30m"
28         max-file: "5"
29   #################################################################################
30   applcm-broker:
31     network_mode: bridge
32     image: ealtedge/applcm-broker:latest
33     depends_on:
34       - db
35       - helm-plugin
36     links:
37       - db:dbhost
38       - helm-plugin:helm.plugin
39     restart: always
40     container_name: applcm-broker
41     environment:
42       MYSQL_DATABASE: 'db'
43       MYSQL_USER: 'root'
44       MYSQL_PASSWORD: 'password'
45       MYSQL_ROOT_PASSWORD: 'password'
46       HELM_PLUGIN_PORT: '50051'
47       KUBERNETES_PLUGIN_PORT: '50052'
48       LOGFILE_PATH: "/go/release/logfile"
49       LOGGER_LEVEL: "logrus.InfoLevel"
50       ADDRESS: "0.0.0.0:8081"
51       PACKAGE_PATH: "/go/release/application/packages/"
52       PACKAGE_ARTIFACT_PATH: "/Artifacts/Deployment/"
53     ports:
54       - '28081:8081'
55     expose:
56       - '8081'
57     logging:
58       driver: "json-file"
59       options:
60         max-size: "30m"
61         max-file: "5"
62   #################################################################################
63   helm-plugin:
64     network_mode: bridge
65     image: ealtedge/helmplugin:latest
66     restart: always
67     container_name: helmplugin
68     environment:
69       HELM_PLUGIN_PORT: '50051'
70       # Log file path, also to match dockerfile
71       LOGFILE_PATH: "/go/release/logfile"
72       LOGGER_LEVEL: "logrus.InfoLevel"
73       CERTIFICATE_PATH: ""
74       KEY_PATH: ""
75       # Temp chart file path, to be created in dockerfile
76       CHART_PATH: "/go/release/charts/"
77       # Kubeconfig based directory path, to be created in dockerfile, to hold kubeconfig of hosts with <host-ip>
78       KUBECONFIG_DIR_PATH: "/go/release/kubeconfig/"
79       # Presently all application to be deployed in same namespace, in future it can be an input while app creation
80       RELEASE_NAMESPACE: "default"
81     ports:
82       - '50051:50051'
83     expose:
84       - '50051'
85     logging:
86       driver: "json-file"
87       options:
88         max-size: "30m"
89         max-file: "5"
90 # yamllint enable