8652e14acb
This adds authentication to Prometheus with an apache reverse proxy, similar to elasticsearch, kibana and nagios. This adds an admin user and password via htpasswd along with adding ldap support. This required modifying the grafana chart to configure the prometheus datasource's basic auth credentials in the data sources provisioning configuration file by checking whether basic auth is enabled and injecting the username/password defined in the corresponding endpoint definition. This also modifies the nagios chart to use the authenticated endpoint for prometheus, which is required for nagios to successfully query the prometheus endpoint for its service checking mechanism Change-Id: Ia4ccc3c44a89b2c56594be1f4cc28ac07169bf8c
54 lines
2.0 KiB
YAML
54 lines
2.0 KiB
YAML
{{/*
|
|
Copyright 2017 The Openstack-Helm Authors.
|
|
|
|
Licensed under the Apache License, Version 2.0 (the "License");
|
|
you may not use this file except in compliance with the License.
|
|
You may obtain a copy of the License at
|
|
|
|
http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
Unless required by applicable law or agreed to in writing, software
|
|
distributed under the License is distributed on an "AS IS" BASIS,
|
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
See the License for the specific language governing permissions and
|
|
limitations under the License.
|
|
*/}}
|
|
|
|
{{- if .Values.manifests.configmap_etc }}
|
|
{{- $envAll := . }}
|
|
|
|
{{- if empty $envAll.Values.conf.prometheus.scrape_configs.rule_files -}}
|
|
{{- $_ := set $envAll.Values "__rule_files" ( list ) }}
|
|
{{- $rulesKeys := keys $envAll.Values.conf.prometheus.rules -}}
|
|
{{- range $rule := $rulesKeys }}
|
|
{{- $rulesFile := printf "/etc/config/rules/%s.rules" $rule }}
|
|
{{- $__rule_files := append $envAll.Values.__rule_files $rulesFile }}
|
|
{{- $_ := set $envAll.Values "__rule_files" $__rule_files }}
|
|
{{ end }}
|
|
{{- $_ := set .Values.conf.prometheus.scrape_configs "rule_files" $envAll.Values.__rule_files -}}
|
|
{{- end -}}
|
|
|
|
{{- if not (empty $envAll.Values.conf.prometheus.scrape_configs.scrape_configs) }}
|
|
{{- $_ := set $envAll.Values "__updated_scrape_configs" ( list ) }}
|
|
{{- $promScrapeTarget := first $envAll.Values.conf.prometheus.scrape_configs.scrape_configs }}
|
|
{{- if (empty $promScrapeTarget.basic_auth) }}
|
|
{{- $_ := set $promScrapeTarget "basic_auth" $envAll.Values.endpoints.monitoring.auth.admin }}
|
|
{{- end }}
|
|
{{- end }}
|
|
|
|
---
|
|
apiVersion: v1
|
|
kind: ConfigMap
|
|
metadata:
|
|
name: prometheus-etc
|
|
data:
|
|
prometheus.yml: |+
|
|
{{ toYaml .Values.conf.prometheus.scrape_configs | indent 4 }}
|
|
{{ range $key, $value := .Values.conf.prometheus.rules }}
|
|
{{ $key }}.rules: |
|
|
{{ toYaml $value | indent 4 }}
|
|
{{ end }}
|
|
#NOTE(srwilkers): this must be last, to work round helm ~2.7 bug.
|
|
{{- include "helm-toolkit.snippets.values_template_renderer" (dict "envAll" $envAll "template" .Values.conf.httpd "key" "httpd.conf") | indent 2 }}
|
|
{{- end }}
|