308 lines
10 KiB
YAML
308 lines
10 KiB
YAML
---
|
|
# yaml-language-server: $schema=https://raw.githubusercontent.com/fluxcd-community/flux2-schemas/main/helmrelease-helm-v2beta1.json
|
|
apiVersion: helm.toolkit.fluxcd.io/v2beta1
|
|
kind: HelmRelease
|
|
metadata:
|
|
name: grafana
|
|
namespace: monitoring
|
|
spec:
|
|
chart:
|
|
spec:
|
|
chart: grafana
|
|
interval: 30m
|
|
sourceRef:
|
|
kind: HelmRepository
|
|
name: grafana
|
|
namespace: flux-system
|
|
version: 7.0.14
|
|
interval: 30m
|
|
timeout: 20m
|
|
maxHistory: 2
|
|
install:
|
|
createNamespace: true
|
|
remediation:
|
|
retries: 3
|
|
upgrade:
|
|
cleanupOnFail: true
|
|
remediation:
|
|
retries: 3
|
|
uninstall:
|
|
keepHistory: false
|
|
values:
|
|
annotations:
|
|
configmap.reloader.stakater.com/reload: grafana
|
|
secret.reloader.stakater.com/reload: grafana-secrets
|
|
replicas: 1
|
|
envFromSecret: grafana-secrets
|
|
|
|
grafana.ini:
|
|
analytics:
|
|
check_for_updates: false
|
|
check_for_plugin_updates: false
|
|
reporting_enabled: false
|
|
auth:
|
|
oauth_auto_login: true
|
|
oauth_allow_insecure_email_lookup: true
|
|
signout_redirect_url: https://auth.hsn.dev/application/o/grafana/end-session/
|
|
auth.basic:
|
|
enabled: false
|
|
auth.anonymous:
|
|
enabled: false
|
|
auth.generic_oauth:
|
|
enabled: true
|
|
name: Authentik
|
|
icon: signin
|
|
scopes: openid profile email
|
|
empty_scopes: false
|
|
login_attribute_path: preferred_username
|
|
groups_attribute_path: groups
|
|
name_attribute_path: name
|
|
use_pkce: true
|
|
client_id: CoV7ae1HxuNzwCbVPf3U7TfYMX2rVqC5T9RAUo5M
|
|
client_secret: # Set by env vars
|
|
auth_url: https://auth.hsn.dev/application/o/authorize/
|
|
token_url: https://auth.hsn.dev/application/o/token/
|
|
api_url: https://auth.hsn.dev/application/o/userinfo/
|
|
# map user groups to Grafana roles
|
|
role_attribute_path: |
|
|
contains(groups[*], 'Grafana Admins') && 'Admin' || contains(groups[*], 'Grafana Editors') && 'Editor' || 'Viewer'
|
|
date_formats:
|
|
use_browser_locale: true
|
|
explore:
|
|
enabled: true
|
|
news:
|
|
news_feed_enabled: false
|
|
panels:
|
|
disable_sanitize_html: true
|
|
security:
|
|
allow_embedding: true
|
|
cookie_samesite: grafana
|
|
server:
|
|
root_url: https://grafana.hsn.dev
|
|
datasources:
|
|
datasources.yaml:
|
|
apiVersion: 1
|
|
deleteDatasources:
|
|
- { name: Alertmanager, orgId: 1 }
|
|
- { name: Loki, orgId: 1 }
|
|
- { name: Prometheus, orgId: 1 }
|
|
datasources:
|
|
- name: Prometheus
|
|
type: prometheus
|
|
uid: prometheus
|
|
access: proxy
|
|
url: http://thanos-query-frontend.monitoring.svc.cluster.local:9090
|
|
jsonData:
|
|
prometheusType: Thanos
|
|
isDefault: true
|
|
- name: Alertmanager
|
|
type: alertmanager
|
|
uid: alertmanager
|
|
access: proxy
|
|
url: http://alertmanager-operated.monitoring.svc.cluster.local:9093
|
|
jsonData:
|
|
implementation: prometheus
|
|
dashboardProviders:
|
|
dashboardproviders.yaml:
|
|
apiVersion: 1
|
|
providers:
|
|
- name: default
|
|
orgId: 1
|
|
folder: ""
|
|
type: file
|
|
disableDeletion: false
|
|
editable: true
|
|
options:
|
|
path: /var/lib/grafana/dashboards/default
|
|
- name: ceph
|
|
orgId: 1
|
|
folder: Ceph
|
|
type: file
|
|
disableDeletion: false
|
|
editable: true
|
|
options:
|
|
path: /var/lib/grafana/dashboards/ceph
|
|
- name: flux
|
|
orgId: 1
|
|
folder: Flux
|
|
type: file
|
|
disableDeletion: false
|
|
editable: true
|
|
options:
|
|
path: /var/lib/grafana/dashboards/flux
|
|
- name: kubernetes
|
|
orgId: 1
|
|
folder: Kubernetes
|
|
type: file
|
|
disableDeletion: false
|
|
editable: true
|
|
options:
|
|
path: /var/lib/grafana/dashboards/kubernetes
|
|
- name: nginx
|
|
orgId: 1
|
|
folder: Nginx
|
|
type: file
|
|
disableDeletion: false
|
|
editable: true
|
|
options:
|
|
path: /var/lib/grafana/dashboards/nginx
|
|
- name: thanos
|
|
orgId: 1
|
|
folder: Thanos
|
|
type: file
|
|
disableDeletion: false
|
|
editable: true
|
|
options:
|
|
path: /var/lib/grafana/dashboards/thanos
|
|
dashboards:
|
|
default:
|
|
external-dns:
|
|
# renovate: depName="External-dns"
|
|
gnetId: 15038
|
|
revision: 1
|
|
datasource: Prometheus
|
|
# minio:
|
|
# # renovate: depName="MinIO Dashboard"
|
|
# gnetId: 13502
|
|
# revision: 24
|
|
# datasource:
|
|
# - { name: DS_PROMETHEUS, value: Prometheus }
|
|
# ceph:
|
|
# ceph-cluster:
|
|
# # renovate: depName="Ceph Cluster"
|
|
# gnetId: 2842
|
|
# revision: 17
|
|
# datasource: Prometheus
|
|
# ceph-osd:
|
|
# # renovate: depName="Ceph - OSD (Single)"
|
|
# gnetId: 5336
|
|
# revision: 9
|
|
# datasource: Prometheus
|
|
# ceph-pools:
|
|
# # renovate: depName="Ceph - Pools"
|
|
# gnetId: 5342
|
|
# revision: 9
|
|
# datasource: Prometheus
|
|
flux:
|
|
flux-cluster:
|
|
url: https://raw.githubusercontent.com/fluxcd/flux2/main/manifests/monitoring/monitoring-config/dashboards/cluster.json
|
|
datasource: Prometheus
|
|
flux-control-plane:
|
|
url: https://raw.githubusercontent.com/fluxcd/flux2/main/manifests/monitoring/monitoring-config/dashboards/control-plane.json
|
|
datasource: Prometheus
|
|
flux-logs:
|
|
url: https://raw.githubusercontent.com/fluxcd/flux2/main/manifests/monitoring/monitoring-config/dashboards/logs.json
|
|
datasource: Prometheus
|
|
kubernetes:
|
|
kubernetes-api-server:
|
|
# renovate: depName="Kubernetes / System / API Server"
|
|
gnetId: 15761
|
|
revision: 14
|
|
datasource: Prometheus
|
|
kubernetes-coredns:
|
|
# renovate: depName="Kubernetes / System / CoreDNS"
|
|
gnetId: 15762
|
|
revision: 13
|
|
datasource: Prometheus
|
|
kubernetes-global:
|
|
# renovate: depName="Kubernetes / Views / Global"
|
|
gnetId: 15757
|
|
revision: 31
|
|
datasource: Prometheus
|
|
kubernetes-namespaces:
|
|
# renovate: depName="Kubernetes / Views / Namespaces"
|
|
gnetId: 15758
|
|
revision: 27
|
|
datasource: Prometheus
|
|
kubernetes-nodes:
|
|
# renovate: depName="Kubernetes / Views / Nodes"
|
|
gnetId: 15759
|
|
revision: 19
|
|
datasource: Prometheus
|
|
kubernetes-pods:
|
|
# renovate: depName="Kubernetes / Views / Pods"
|
|
gNetId: 15760
|
|
revision: 21
|
|
datasource: Prometheus
|
|
kubernetes-volumes:
|
|
# renovate: depName="K8s / Storage / Volumes / Cluster"
|
|
gnetId: 11454
|
|
revision: 14
|
|
datasource: Prometheus
|
|
nginx:
|
|
nginx:
|
|
url: https://raw.githubusercontent.com/kubernetes/ingress-nginx/master/deploy/grafana/dashboards/nginx.json
|
|
datasource: Prometheus
|
|
nginx-request-handling-performance:
|
|
url: https://raw.githubusercontent.com/kubernetes/ingress-nginx/master/deploy/grafana/dashboards/request-handling-performance.json
|
|
datasource: Prometheus
|
|
thanos:
|
|
thanos-bucket-replicate:
|
|
url: https://raw.githubusercontent.com/monitoring-mixins/website/master/assets/thanos/dashboards/bucket-replicate.json
|
|
datasource: Prometheus
|
|
thanos-compact:
|
|
url: https://raw.githubusercontent.com/monitoring-mixins/website/master/assets/thanos/dashboards/compact.json
|
|
datasource: Prometheus
|
|
thanos-overview:
|
|
url: https://raw.githubusercontent.com/monitoring-mixins/website/master/assets/thanos/dashboards/overview.json
|
|
datasource: Prometheus
|
|
thanos-query:
|
|
url: https://raw.githubusercontent.com/monitoring-mixins/website/master/assets/thanos/dashboards/query.json
|
|
datasource: Prometheus
|
|
thanos-query-frontend:
|
|
url: https://raw.githubusercontent.com/monitoring-mixins/website/master/assets/thanos/dashboards/query-frontend.json
|
|
datasource: Prometheus
|
|
thanos-receieve:
|
|
url: https://raw.githubusercontent.com/monitoring-mixins/website/master/assets/thanos/dashboards/receive.json
|
|
datasource: Prometheus
|
|
thanos-rule:
|
|
url: https://raw.githubusercontent.com/monitoring-mixins/website/master/assets/thanos/dashboards/rule.json
|
|
datasource: Prometheus
|
|
thanos-sidecar:
|
|
url: https://raw.githubusercontent.com/monitoring-mixins/website/master/assets/thanos/dashboards/sidecar.json
|
|
datasource: Prometheus
|
|
thanos-store:
|
|
url: https://raw.githubusercontent.com/monitoring-mixins/website/master/assets/thanos/dashboards/store.json
|
|
datasource: Prometheus
|
|
ingress:
|
|
enabled: true
|
|
annotations:
|
|
external-dns.alpha.kubernetes.io/cloudflare-proxied: "true"
|
|
ingressClassName: hsn-nginx
|
|
hosts:
|
|
- &host grafana.hsn.dev
|
|
tls:
|
|
- hosts:
|
|
- *host
|
|
sidecar:
|
|
dashboards:
|
|
enabled: true
|
|
searchNamespace: ALL
|
|
labelValue: ""
|
|
label: grafana_dashboard
|
|
folderAnnotation: grafana_folder
|
|
provider:
|
|
disableDelete: true
|
|
foldersFromFilesStructure: true
|
|
datasources:
|
|
enabled: true
|
|
searchNamespace: ALL
|
|
labelValue: ""
|
|
plugins:
|
|
- natel-discrete-panel
|
|
- pr0ps-trackmap-panel
|
|
- grafana-piechart-panel
|
|
- vonage-status-panel
|
|
- grafana-worldmap-panel
|
|
- grafana-clock-panel
|
|
persistence:
|
|
enabled: false
|
|
testFramework:
|
|
enabled: false
|
|
topologySpreadConstraints:
|
|
- maxSkew: 1
|
|
topologyKey: kubernetes.io/hostname
|
|
whenUnsatisfiable: DoNotSchedule
|
|
labelSelector:
|
|
matchLabels:
|
|
app.kubernetes.io/name: grafana
|