diff --git a/_apps/kissj-monitoring.yml b/_apps/kissj-monitoring.yml new file mode 100644 index 0000000..acb0307 --- /dev/null +++ b/_apps/kissj-monitoring.yml @@ -0,0 +1,18 @@ +apiVersion: argoproj.io/v1alpha1 +kind: Application +metadata: + name: kissj-monitoring + namespace: argocd +spec: + destination: + namespace: kissj-monitoring + server: https://kubernetes.default.svc + project: kissj + source: + path: monitoring + repoURL: https://gitlab.mareshq.com/gitops/skautdevs/kissj.git + targetRevision: HEAD + syncPolicy: + automated: + prune: true + selfHeal: true diff --git a/monitoring/Chart.lock b/monitoring/Chart.lock new file mode 100644 index 0000000..8956be1 --- /dev/null +++ b/monitoring/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: kube-prometheus-stack + repository: https://prometheus-community.github.io/helm-charts + version: 39.11.0 +digest: sha256:2000f95ea7c9e6ac6ec0cc0ed3f08ee6adebf5e3ad383a0e8d89d80ab61439eb +generated: "2022-09-03T10:54:33.34106+02:00" diff --git a/monitoring/Chart.yaml b/monitoring/Chart.yaml new file mode 100644 index 0000000..00605fb --- /dev/null +++ b/monitoring/Chart.yaml @@ -0,0 +1,11 @@ +apiVersion: v2 +name: prometheus-stack +description: A Helm chart for Kubernetes +type: application +version: 0.1.0 +appVersion: "1.0" + +dependencies: +- name: kube-prometheus-stack + version: 39.11.0 + repository: https://prometheus-community.github.io/helm-charts diff --git a/monitoring/values.yaml b/monitoring/values.yaml new file mode 100644 index 0000000..bfb343e --- /dev/null +++ b/monitoring/values.yaml @@ -0,0 +1,123 @@ +kube-prometheus-stack: + fullnameOverride: kissj + + # Do not deploy Prometheus operator, since that has already been done + # and this is only to monitor KISSJ + prometheusOperator: + enabled: false + + prometheus: + prometheusSpec: + serviceMonitorSelectorNilUsesHelmValues: false + podMonitorSelectorNilUsesHelmValues: false + ruleSelectorNilUsesHelmValues: false + + storageSpec: + volumeClaimTemplate: + spec: + storageClassName: longhorn + accessModes: ["ReadWriteOnce"] + resources: + requests: + storage: 20Gi + + serviceMonitorNamespaceSelector: + # Example which selects ServiceMonitors in namespaces with label "prometheus" set to "somelabel" + serviceMonitorNamespaceSelector: + matchLabels: + prometheus: kissj + + ingress: + enabled: true + pathType: Prefix + annotations: + cert-manager.io/cluster-issuer: letsencrypt-prod + hosts: + - prometheus.kissj.cloud.mareshq.com + paths: + - / + tls: + - hosts: + - prometheus.kissj.cloud.mareshq.com + secretName: prometheus-tls + + serviceMonitor: + selfMonitor: true + + grafana: + fullnameOverride: kissj + + defaultDashboardsEnabled: false + + adminPassword: ayf@fqb9pxw7NRH8erx + + ingress: + enabled: true + pathType: Prefix + annotations: + cert-manager.io/cluster-issuer: letsencrypt-prod + hosts: + - grafana.kissj.cloud.mareshq.com + paths: + - / + tls: + - hosts: + - grafana.kissj.cloud.mareshq.com + secretName: grafana-tls + + serviceMonitor: + selfMonitor: true + + persistence: + enabled: false + storageClassName: longhorn + + alertmanager: + ingress: + enabled: true + pathType: Prefix + annotations: + cert-manager.io/cluster-issuer: letsencrypt-prod + hosts: + - alertmanager.kissj.cloud.mareshq.com + paths: + - / + tls: + - hosts: + - alertmanager.kissj.cloud.mareshq.com + secretName: alertmanager-tls + + serviceMonitor: + selfMonitor: true + + # This AM is for KISSJ, cluster components are monitored by different instance + kubeApiServer: + enabled: false + + kubelet: + enabled: false + + kubeControllerManager: + enabled: false + + coreDns: + enabled: false + + kubeScheduler: + enabled: false + + kubeProxy: + enabled: false + + kubeStateMetrics: + enabled: false + + nodeExporter: + enabled: false + + prometheusOperator: + serviceMonitor: + selfMonitor: false + + defaultRules: + create: false