diff --git a/content/posts/15-a-beautiful-gitops-day-5/index.md b/content/posts/15-a-beautiful-gitops-day-5/index.md index 40a178a..393ad02 100644 --- a/content/posts/15-a-beautiful-gitops-day-5/index.md +++ b/content/posts/15-a-beautiful-gitops-day-5/index.md @@ -744,107 +744,6 @@ We have nothing more to do, all dashboards are already provided by Loki Helm cha [![Loki explore](dashboards-loki.png)](dashboards-loki.png) -## Helm Exporter - -We have installed many Helm Charts so far, but how we manage upgrading plans ? We may need to be aware of new versions and security fixes. For that, we can use Helm Exporter: - -{{< highlight host="demo-kube-k3s" file="monitoring.tf" >}} - -```tf -resource "helm_release" "helm_exporter" { - chart = "helm-exporter" - version = "1.2.5+1cbc9c5" - repository = "https://shanestarcher.com/helm-charts" - - name = "helm-exporter" - namespace = kubernetes_namespace_v1.monitoring.metadata[0].name - - set { - name = "serviceMonitor.create" - value = "true" - } - - set { - name = "grafanaDashboard.enabled" - value = "true" - } - - set { - name = "grafanaDashboard.grafanaDashboard.namespace" - value = kubernetes_namespace_v1.monitoring.metadata[0].name - } - - values = [ - file("values/helm-exporter-values.yaml") - ] -} -``` - -{{< /highlight >}} - -As the helm exporter config is a bit tedious, it's more straightforward to use a separate helm values file. Here is a sample configuration for Helm Exporter for scraping all charts that we'll need: - -{{< highlight host="demo-kube-k3s" file="values/helm-exporter-values.tf" >}} - -```yaml -config: - helmRegistries: - registryNames: - - bitnami - override: - - registry: - url: "https://concourse-charts.storage.googleapis.com" - charts: - - concourse - - registry: - url: "https://dl.gitea.io/charts" - charts: - - gitea - - registry: - url: "https://grafana.github.io/helm-charts" - charts: - - grafana - - loki - - promtail - - tempo - - registry: - url: "https://charts.longhorn.io" - charts: - - longhorn - - registry: - url: "https://charts.jetstack.io" - charts: - - cert-manager - - registry: - url: "https://traefik.github.io/charts" - charts: - - traefik - - registry: - url: "https://bitnami-labs.github.io/sealed-secrets" - charts: - - sealed-secrets - - registry: - url: "https://prometheus-community.github.io/helm-charts" - charts: - - kube-prometheus-stack - - registry: - url: "https://SonarSource.github.io/helm-chart-sonarqube" - charts: - - sonarqube - - registry: - url: "https://kubereboot.github.io/charts" - charts: - - kured - - registry: - url: "https://shanestarcher.com/helm-charts" - charts: - - helm-exporter -``` - -{{< /highlight >}} - -You can easily start from provisioned dashboard and customize it for using `helm_chart_outdated` instead of `helm_chart_info` to list all outdated helms. - ## 5th check ✅ We now have a full monitoring suite with performant logging collector ! What a pretty massive subject done. At this stage, you have a good starting point to run many apps on your cluster with high scalability and observability. We are done for the pure **operational** part. It's finally time to tackle the **building** part for a complete development stack. Go [next part]({{< ref "/posts/16-a-beautiful-gitops-day-6" >}}) to begin with continuous integration.