chore: migrate chart to public repo #8

Merged
jon_nfc merged 61 commits from genesis into development 2023-09-27 05:24:51 +00:00
21 changed files with 555 additions and 0 deletions
Showing only changes of commit 286d2827ad - Show all commits

View File

@ -0,0 +1,130 @@
---
apiVersion: v1
kind: ConfigMap
metadata:
name: grafana-config
namespace: "{{ .Values.nfc_monitoring.grafana.namespace }}"
labels:
app.kubernetes.io/component: graphing
app.kubernetes.io/instance: k8s
app.kubernetes.io/name: grafana
app.kubernetes.io/managed-by: {{ $.Release.Service }}
app.kubernetes.io/part-of: {{ $.Chart.Name }}
app.kubernetes.io/version: {{ $.Chart.Version }}
data:
prometheus.yaml: |-
{
"apiVersion": 1,
"datasources": [
{
"access":"proxy",
"editable": true,
"name": "prometheus",
"orgId": 1,
"type": "prometheus",
"url": "http://prometheus-config-map.monitoring.svc:9090",
"version": 1
}
]
}
oncall-app.yaml: |-
apiVersion: 1
apps:
- type: grafana-oncall-app
name: grafana-oncall-app
disabled: false
jsonData:
#user: admin
grafanaUrl: http://grafana.monitoring.svc:3000
onCallApiUrl: http://oncall.monitoring.svc:8080
secureJsonData:
#password: admin
onCallInvitationToken: yaD3a6dkYV0CFinTlMPb42Mi9
#http://127.0.0.1:8080/integrations/v1/alertmanager/yaD3a6dkYV0CFinTlMPb42Mi9/
---
apiVersion: v1
kind: ConfigMap
metadata:
labels:
app.kubernetes.io/component: graphing
app.kubernetes.io/instance: k8s
app.kubernetes.io/name: grafana
app.kubernetes.io/managed-by: {{ $.Release.Service }}
app.kubernetes.io/part-of: {{ $.Chart.Name }}
app.kubernetes.io/version: {{ $.Chart.Version }}
name: grafana-alertmanager
namespace: monitoring
data:
alertmanager.yaml: |-
{
"template_files": {},
"template_file_provenances": {},
"alertmanager_config": {
"route": {
"receiver": "Grafana Alerting 😊",
"group_by": [
"grafana_folder",
"alertname"
],
"routes": [
{
"receiver": "Grafana Alerting 😊",
"object_matchers": [
[
"severity",
"!=",
""
],
[
"severity",
"=",
"critical"
],
[
"severity",
"=",
"info"
],
[
"severity",
"=",
"warning"
]
],
"continue": true,
"group_wait": "1s",
"group_interval": "2s",
"repeat_interval": "15m"
}
],
"group_wait": "1s",
"group_interval": "2s",
"repeat_interval": "3m"
},
"templates": null,
"receivers": [
{
"name": "Grafana Alerting 😊",
"grafana_managed_receiver_configs": [
{
"uid": "4dqvJSfVkz",
"name": "Grafana Alerting 😊",
"type": "webhook",
"disableResolveMessage": false,
"settings": {
"httpMethod": "POST",
"url": "http://host.docker.internal:8080/integrations/v1/grafana_alerting/dXStYoK9Z15VZW8R8AtfyIwtu/"
},
"secureFields": {}
}
]
}
]
}
}
---

View File

@ -0,0 +1,130 @@
---
apiVersion: grafana.integreatly.org/v1beta1
kind: Grafana
metadata:
labels:
app.kubernetes.io/component: graphing
app.kubernetes.io/instance: k8s
app.kubernetes.io/name: grafana
app.kubernetes.io/managed-by: {{ $.Release.Service }}
app.kubernetes.io/part-of: {{ $.Chart.Name }}
app.kubernetes.io/version: {{ $.Chart.Version }}
name: grafana
namespace: "{{ .Values.nfc_monitoring.grafana.namespace }}"
spec:
config:
log:
mode: "console"
auth:
disable_login_form: "false"
security:
admin_user: "{{ .Values.nfc_monitoring.grafana.admin_user }}"
admin_password: "{{ .Values.nfc_monitoring.grafana.admin_password }}"
deployment:
metadata:
labels:
app.kubernetes.io/component: graphing
app.kubernetes.io/instance: k8s
app.kubernetes.io/name: grafana
app.kubernetes.io/managed-by: {{ $.Release.Service }}
app.kubernetes.io/part-of: {{ $.Chart.Name }}
app.kubernetes.io/version: {{ $.Chart.Version }}
spec:
replicas: {{ .Values.nfc_monitoring.grafana.replicas | int }}
selector:
matchLabels:
app.kubernetes.io/component: graphing
app.kubernetes.io/instance: k8s
app.kubernetes.io/name: grafana
app.kubernetes.io/managed-by: {{ $.Release.Service }}
app.kubernetes.io/part-of: {{ $.Chart.Name }}
strategy:
rollingUpdate:
maxSurge: 1
maxUnavailable: 1
template:
metadata:
labels:
app.kubernetes.io/component: graphing
app.kubernetes.io/instance: k8s
app.kubernetes.io/name: grafana
app.kubernetes.io/managed-by: {{ $.Release.Service }}
app.kubernetes.io/part-of: {{ $.Chart.Name }}
app.kubernetes.io/version: {{ $.Chart.Version }}
spec:
containers:
- name: grafana
image: "{{ .Values.nfc_monitoring.grafana.image.name }}:{{ .Values.nfc_monitoring.grafana.image.tag }}"
env:
- name: GF_INSTALL_PLUGINS
value: agenty-flowcharting-panel 0.9.1, ddurieux-glpi-app 1.3.1, grafana-oncall-app
- name: GF_PLUGINS_ALLOW_LOADING_UNSIGNED_PLUGINS
value: grafana-oncall-app 1.1.38
- name: GF_ANALYTICS_REPORTING_ENABLED
value: 'false'
imagePullPolicy: IfNotPresent
ports:
- containerPort: 3000
name: grafana-http
readinessProbe:
failureThreshold: 3
resources:
limits:
cpu: 2000m
memory: 1Gi
requests:
cpu: 100m
memory: 100Mi
securityContext:
allowPrivilegeEscalation: false
readOnlyRootFilesystem: false
volumeMounts:
- mountPath: /var/lib/grafana
name: grafana-storage
- mountPath: /etc/grafana/provisioning/plugins
name: plugin-config
readOnly: false
volumes:
- name: grafana-storage
emptyDir: {}
- name: plugin-config
configMap:
# Provide the name of the ConfigMap you want to mount.
name: grafana-config
# An array of keys from the ConfigMap to create as files
items:
- key: "oncall-app.yaml"
path: "oncall-app.yaml"
# - volumeClaimTemplates:
# - metadata:
# name: data
# labels:
# app.kubernetes.io/name: loki
# app.kubernetes.io/component: logging
# app.kubernetes.io/part-of: {{ $.Chart.Name }}
# app.kubernetes.io/version: {{ $.Chart.Version }}
# app.kubernetes.io/managed-by: {{ $.Release.Service }}
# spec:
# accessModes:
# - "ReadWriteOnce"
# resources:
# requests:
# storage: "5Gi"
serviceAccountName: grafana
nodeSelector:
kubernetes.io/os: linux
# persistentVolumeClaim:
# metadata:
# labels:
# app.kubernetes.io/component: graphing
# app.kubernetes.io/instance: k8s
# app.kubernetes.io/name: grafana
# app.kubernetes.io/managed-by: {{ $.Release.Service }}
# app.kubernetes.io/part-of: {{ $.Chart.Name }}
# app.kubernetes.io/version: {{ $.Chart.Version }}
# spec:
# resources:
# requests:
# storage: "5Gi"

View File

@ -0,0 +1,30 @@
---
apiVersion: v1
kind: Service
metadata:
name: grafana
namespace: {{ .Values.nfc_monitoring.grafana.namespace }}
labels:
app.kubernetes.io/component: graphing
app.kubernetes.io/instance: k8s
app.kubernetes.io/name: grafana
app.kubernetes.io/managed-by: {{ $.Release.Service }}
app.kubernetes.io/part-of: {{ $.Chart.Name }}
app.kubernetes.io/version: {{ $.Chart.Version }}
spec:
selector:
app.kubernetes.io/component: graphing
app.kubernetes.io/instance: k8s
app.kubernetes.io/name: grafana
app.kubernetes.io/part-of: {{ $.Chart.Name }}
#type: NodePort
#type: LoadBalancer
#clusterIP: None
ports:
- name: grafana
port: 3000
targetPort: grafana-http
#nodePort: 3000
#type: LoadBalancer
sessionAffinity: ClientIP

View File

@ -0,0 +1,14 @@
---
apiVersion: v1
automountServiceAccountToken: false
kind: ServiceAccount
metadata:
name: grafana
namespace: {{ .Values.nfc_monitoring.grafana.namespace }}
labels:
app.kubernetes.io/component: graphing
app.kubernetes.io/instance: k8s
app.kubernetes.io/name: grafana
app.kubernetes.io/managed-by: {{ $.Release.Service }}
app.kubernetes.io/part-of: {{ $.Chart.Name }}
app.kubernetes.io/version: {{ $.Chart.Version }}

View File

@ -0,0 +1,37 @@
---
apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
labels:
app.kubernetes.io/component: graphing
app.kubernetes.io/instance: k8s
app.kubernetes.io/name: grafana
app.kubernetes.io/managed-by: {{ $.Release.Service }}
app.kubernetes.io/part-of: {{ $.Chart.Name }}
app.kubernetes.io/version: {{ $.Chart.Version }}
name: grafana
namespace: {{ .Values.nfc_monitoring.grafana.namespace }}
spec:
endpoints:
- bearerTokenFile: /var/run/secrets/kubernetes.io/serviceaccount/token
interval: 15s
port: grafana
relabelings:
- action: replace
regex: (.*)
replacement: $1
sourceLabels:
- __meta_kubernetes_pod_label_app_kubernetes_io_instance
targetLabel: instance
scheme: http
# tlsConfig:
# insecureSkipVerify: true
targetLabels:
- cluster
jobLabel: app.kubernetes.io/name
selector:
matchLabels:
app.kubernetes.io/component: graphing
app.kubernetes.io/instance: k8s
app.kubernetes.io/name: grafana
app.kubernetes.io/part-of: {{ $.Chart.Name }}