Fetching variables values from deployment
[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       # So you don't have to use root, but you can if you like
15       MYSQL_USER: 'root'
16       # You can use whatever password you like
17       MYSQL_PASSWORD: 'password'
18       # Password for root access
19       MYSQL_ROOT_PASSWORD: 'password'
20     ports:
21       # <Port exposed> : < MySQL Port running inside container>
22       - '3306:3306'
23     expose:
24       # Opens port 3306 on the container
25       - '3306'
26       # Where our data will be persisted
27     volumes:
28       - my-db:/var/lib/mysql
29       - /var/lib/mysql
30     logging:
31       driver: "json-file"
32       options:
33         max-size: "30m"
34         max-file: "5"
35   #################################################################################
36   applcm-broker:
37     network_mode: bridge
38     image: ealtedge/applcm-broker:latest
39     depends_on:
40       - db
41       - helm-plugin
42     links:
43       - db:dbhost
44       - helm-plugin:helm.plugin
45     restart: always
46     container_name: applcm-broker
47     environment:
48       MYSQL_DATABASE: 'db'
49       # So you don't have to use root, but you can if you like
50       MYSQL_USER: 'root'
51       # You can use whatever password you like
52       MYSQL_PASSWORD: 'password'
53       # Password for root access
54       MYSQL_ROOT_PASSWORD: 'password'
55       HELM_PLUGIN_PORT: '50051'
56       KUBERNETES_PLUGIN_PORT: '50052'
57     ports:
58       # <Port exposed> : < Applcm Broker Port running inside container>
59       - '28081:8081'
60     expose:
61       # Opens port 8081 on the container
62       - '8081'
63     logging:
64       driver: "json-file"
65       options:
66         max-size: "30m"
67         max-file: "5"
68   #################################################################################
69   helm-plugin:
70     network_mode: bridge
71     image: ealtedge/helmplugin:latest
72     restart: always
73     container_name: helmplugin
74     environment:
75       HELM_PLUGIN_PORT: '50051'
76       # Log file path, also to match dockerfile
77       LOGFILE_PATH: "/go/release/logfile"
78       LOGGER_LEVEL: "logrus.InfoLevel"
79       CERTIFICATE_PATH: ""
80       KEY_PATH: ""
81       # Temp chart file path, to be created in dockerfile
82       CHART_PATH: "/go/release/charts/"
83       # Kubeconfig based directory path, to be created in dockerfile, to hold kubeconfig of hosts with <host-ip>
84       KUBECONFIG_DIR_PATH: "/go/release/kubeconfig/"
85       # Presently all application to be deployed in same namespace, in future it can be an input while app creation
86       RELEASE_NAMESPACE: "default"
87     ports:
88       # <Port exposed> : < Applcm helm plugin Port running inside container>
89       - '50051:50051'
90     expose:
91       # Opens port 50051 on the container
92       - '50051'
93 # yamllint enable