Prepare installer and pods for Rel TWELVE
[osm/devops.git] / installers / charm / prometheus-k8s / reactive / spec_template.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 containers:
24   - name: "init-chown-data"
25     image: %(a_docker_image)s
26     imagePullPolicy: "IfNotPresent"
27     command: ["/bin/sh", "-c", "chown -R 65534:65534 /prometheus && while true; do sleep 86400; done"]
28   - name: %(name)s
29     image: %(docker_image)s
30     ports:
31     - containerPort: %(advertised-port)s
32       protocol: TCP
33     config:
34       ALLOW_ANONYMOUS_LOGIN: 'yes'
35     kubernetes:
36       readinessProbe:
37         httpGet:
38           path: /-/ready
39           port: %(advertised-port)s
40         initialDelaySeconds: 10
41         timeoutSeconds: 30
42       livenessProbe:
43         httpGet:
44           path: /-/healthy
45           port: %(advertised-port)s
46         initialDelaySeconds: 30
47         timeoutSeconds: 30
48     command:
49       - "sh"
50       - "-c"
51       - "/bin/prometheus --config.file=/etc/prometheus/prometheus.yml --storage.tsdb.path=/prometheus --web.console.libraries=/usr/share/prometheus/console_libraries --web.console.templates=/usr/share/prometheus/consoles --web.route-prefix=%(web-subpath)s --web.external-url=http://localhost:%(advertised-port)s%(web-subpath)s"
52     files:
53     - name: config
54       mountPath: /etc/prometheus
55       files:
56         prometheus.yml: |
57           global:
58             scrape_interval:     15s
59             evaluation_interval: 15s
60           alerting:
61             alertmanagers:
62             - static_configs:
63               - targets:
64           rule_files:
65           scrape_configs:
66             - job_name: 'prometheus'
67               static_configs:
68               - targets: ['%(default-target)s']