Prepare installer and pods for Rel TWELVE
[osm/devops.git] / installers / charm / mongodb-k8s / reactive / spec_template_ha.yaml
1 # Copyright 2021 Canonical Ltd.
2 #
3 # Licensed under the Apache License, Version 2.0 (the "License"); you may
4 # not use this file except in compliance with the License. You may obtain
5 # a copy of the License at
6 #
7 #         http://www.apache.org/licenses/LICENSE-2.0
8 #
9 # Unless required by applicable law or agreed to in writing, software
10 # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
11 # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
12 # License for the specific language governing permissions and limitations
13 # under the License.
14 #
15 # For those usages not covered by the Apache License, Version 2.0 please
16 # contact: legal@canonical.com
17 #
18 # To get in touch with the maintainers, please contact:
19 # osm-charmers@lists.launchpad.net
20 ##
21
22 version: 2
23 serviceAccount:
24   rules:
25     - apiGroups: [""]
26       resources: ["pods"]
27       verbs: ["list"]
28 containers:
29   - name: %(name)s
30     image: %(docker_image)s
31     command:
32       - mongod
33       - "--replSet"
34       - %(replica-set)s
35       - "--bind_ip"
36       - "0.0.0.0"
37     ports:
38     - containerPort: %(advertised-port)s
39       protocol: TCP
40     config:
41       ALLOW_ANONYMOUS_LOGIN: 'yes'
42     kubernetes:
43       readinessProbe:
44         tcpSocket:
45           port: %(advertised-port)s
46         timeoutSeconds: 5
47         periodSeconds: 5
48         initialDelaySeconds: 10
49       livenessProbe:
50         exec:
51           command:
52             - /bin/sh
53             - -c
54             - mongo --port %(advertised-port)s --eval "rs.status()" | grep -vq "REMOVED"
55         initialDelaySeconds: 45
56         timeoutSeconds: 5
57   - name: 'mongodb-sidecar-k8s'
58     image: %(sc_docker_image)s
59     config:
60       KUBERNETES_MONGO_SERVICE_NAME: %(service-name)s
61       KUBE_NAMESPACE: %(namespace)s
62       MONGO_SIDECAR_POD_LABELS: %(pod_labels)s
63       KUBERNETES_CLUSTER_DOMAIN: %(cluster-domain)s