Compare commits

..

21 Commits

Author SHA1 Message Date
Michel Hollands
52ec526718 Remove unused variables
Signed-off-by: Michel Hollands <michel.hollands@gmail.com>
2024-05-08 10:24:48 +01:00
Michel Hollands
8a5ed559a2 Merge pull request #104 from grafana/fix_dependency_check
Fix name and indentation of workflow
2024-05-08 09:49:07 +01:00
Michel Hollands
188cd7e56f Fix name and indentation of workflow
Signed-off-by: Michel Hollands <michel.hollands@gmail.com>
2024-05-08 09:46:42 +01:00
Michel Hollands
9e4dbcd44a Merge pull request #100 from grafana/combine_ci
Combine dependency updates
2024-05-08 09:40:07 +01:00
Michel Hollands
28daa27fca Merge pull request #99 from grafana/chore/update-minio
[dependency] Update the Grafana version
2024-05-08 09:38:26 +01:00
Michel Hollands
2de595baf4 Merge branch 'main' into chore/update-minio 2024-05-08 09:37:45 +01:00
Michel Hollands
95257b66d3 Merge pull request #103 from grafana/chore/update-tempo-distributed
[dependency] Update the Tempo Distributed subchart
2024-05-08 09:36:02 +01:00
Michel Hollands
e9b0e57ef0 Merge pull request #95 from grafana/update_grafana
Add CI action to update Grafana version
2024-05-08 09:35:29 +01:00
Michel Hollands
03609ebb35 Merge pull request #102 from grafana/fix_alloy_config_for_traces
Fix the alloy config
2024-05-08 09:34:53 +01:00
Michel Hollands
32272298d7 Fix the alloy config
Signed-off-by: Michel Hollands <michel.hollands@gmail.com>
2024-05-07 16:35:00 +01:00
Michel Hollands
c6d0444dfa Combine dependency updates
Signed-off-by: Michel Hollands <michel.hollands@gmail.com>
2024-05-07 11:26:32 +01:00
MichelHollands
d938dbbfe5 Update Grafana version 2024-05-07 09:22:19 +00:00
Michel Hollands
e9125d1a9c Add corrected key
Signed-off-by: Michel Hollands <michel.hollands@gmail.com>
2024-05-07 10:21:42 +01:00
Michel Hollands
076685ef06 Revert key
Signed-off-by: Michel Hollands <michel.hollands@gmail.com>
2024-05-07 10:18:55 +01:00
Michel Hollands
b0451d626e Use $. in yaml key
Signed-off-by: Michel Hollands <michel.hollands@gmail.com>
2024-05-07 10:16:10 +01:00
Michel Hollands
90e949e89a Change version param
Signed-off-by: Michel Hollands <michel.hollands@gmail.com>
2024-05-07 10:14:50 +01:00
Michel Hollands
06e176e720 Trim the v prefix from the released version
Signed-off-by: Michel Hollands <michel.hollands@gmail.com>
2024-05-07 10:11:17 +01:00
Michel Hollands
d4c886ba9d Use token from env
Signed-off-by: Michel Hollands <michel.hollands@gmail.com>
2024-05-07 10:00:55 +01:00
Michel Hollands
643e73f5f1 add token
Signed-off-by: Michel Hollands <michel.hollands@gmail.com>
2024-05-07 09:54:50 +01:00
Michel Hollands
7e65f3d9c9 Fix sourceid
Signed-off-by: Michel Hollands <michel.hollands@gmail.com>
2024-05-07 09:46:31 +01:00
Michel Hollands
26e0ad0b85 Add CI action to update Grafana version
Signed-off-by: Michel Hollands <michel.hollands@gmail.com>
2024-05-07 09:20:51 +01:00
10 changed files with 98 additions and 151 deletions

View File

@@ -0,0 +1,30 @@
name: Bump grafana version specified in the values.yaml
sources:
latestGrafanaRelease:
name: Get latest grafana release on Github
kind: githubrelease
spec:
owner: grafana
repository: grafana
token: '{{ requiredEnv "UPDATECLI_GITHUB_TOKEN" }}'
versionfilter:
kind: latest
transformers:
- trimprefix: "v"
conditions:
grafanaImagePublished:
name: Ensure the latest Grafana is published on DockerHub
kind: dockerimage
source-id: latestGrafanaRelease
spec:
image: "grafana/grafana"
targets:
grafana:
name: Update Grafana version in values.yaml
kind: helmchart
spec:
file: values.yaml
key: $.grafana.version
name: charts/meta-monitoring
versionincrement: none
sourceid: latestGrafanaRelease

View File

@@ -16,8 +16,8 @@ env:
UPDATECLI_GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}" UPDATECLI_GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
jobs: jobs:
updateLoki: updateVersions:
name: Update the Loki subchart name: Update the subcharts
runs-on: "ubuntu-latest" runs-on: "ubuntu-latest"
steps: steps:
- name: Checkout - name: Checkout
@@ -26,7 +26,7 @@ jobs:
- name: Install Updatecli - name: Install Updatecli
uses: updatecli/updatecli-action@v2 uses: updatecli/updatecli-action@v2
- name: Run Updatecli - name: Run Updatecli for Loki
id: update-loki id: update-loki
run: | run: |
updatecli apply --config ${UPDATECLI_CONFIG_DIR}/loki.yaml updatecli apply --config ${UPDATECLI_CONFIG_DIR}/loki.yaml
@@ -34,31 +34,7 @@ jobs:
echo "changed=true" >> "${GITHUB_OUTPUT}" echo "changed=true" >> "${GITHUB_OUTPUT}"
fi fi
- name: Create pull request - name: Run Updatecli for Alloy
if: steps.update-loki.outputs.changed == 'true'
uses: peter-evans/create-pull-request@v5
with:
title: "[dependency] Update the Loki subchart"
body: "Updates the Loki subchart"
base: main
author: "${{ github.actor }} <${{ github.actor }}@users.noreply.github.com>"
committer: "GitHub <noreply@github.com>"
commit-message: Update loki
labels: dependencies
branch: chore/update-loki
delete-branch: true
updateGrafanaAlloy:
name: Update the Grafana Alloy subchart
runs-on: "ubuntu-latest"
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Install Updatecli
uses: updatecli/updatecli-action@v2
- name: Run Updatecli
id: update-grafana-alloy id: update-grafana-alloy
run: | run: |
updatecli apply --config ${UPDATECLI_CONFIG_DIR}/alloy.yaml updatecli apply --config ${UPDATECLI_CONFIG_DIR}/alloy.yaml
@@ -66,31 +42,7 @@ jobs:
echo "changed=true" >> "${GITHUB_OUTPUT}" echo "changed=true" >> "${GITHUB_OUTPUT}"
fi fi
- name: Create pull request - name: Run Updatecli for Mimir
if: steps.update-grafana-alloy.outputs.changed == 'true'
uses: peter-evans/create-pull-request@v5
with:
title: "[dependency] Update the Grafana Alloy subchart"
body: "Updates the Grafana Alloy subchart"
base: main
author: "${{ github.actor }} <${{ github.actor }}@users.noreply.github.com>"
committer: "GitHub <noreply@github.com>"
commit-message: Update Grafana Alloy
labels: dependencies
branch: chore/update-grafana-alloy
delete-branch: true
updateMimirDistributed:
name: Update the Mimir Distributed subchart
runs-on: "ubuntu-latest"
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Install Updatecli
uses: updatecli/updatecli-action@v2
- name: Run Updatecli
id: update-mimir-distributed id: update-mimir-distributed
run: | run: |
updatecli apply --config ${UPDATECLI_CONFIG_DIR}/mimir-distributed.yaml updatecli apply --config ${UPDATECLI_CONFIG_DIR}/mimir-distributed.yaml
@@ -98,31 +50,7 @@ jobs:
echo "changed=true" >> "${GITHUB_OUTPUT}" echo "changed=true" >> "${GITHUB_OUTPUT}"
fi fi
- name: Create pull request - name: Run Updatecli for Tempo
if: steps.update-mimir-distributed.outputs.changed == 'true'
uses: peter-evans/create-pull-request@v5
with:
title: "[dependency] Update the Mimir Distributed subchart"
body: "Updates the Mimir Distributed subchart"
base: main
author: "${{ github.actor }} <${{ github.actor }}@users.noreply.github.com>"
committer: "GitHub <noreply@github.com>"
commit-message: Update Mimir Distributed
labels: dependencies
branch: chore/update-mimir-distributed
delete-branch: true
updateTempoDistributed:
name: Update the Tempo Distributed subchart
runs-on: "ubuntu-latest"
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Install Updatecli
uses: updatecli/updatecli-action@v2
- name: Run Updatecli
id: update-tempo-distributed id: update-tempo-distributed
run: | run: |
updatecli apply --config ${UPDATECLI_CONFIG_DIR}/tempo-distributed.yaml updatecli apply --config ${UPDATECLI_CONFIG_DIR}/tempo-distributed.yaml
@@ -130,31 +58,7 @@ jobs:
echo "changed=true" >> "${GITHUB_OUTPUT}" echo "changed=true" >> "${GITHUB_OUTPUT}"
fi fi
- name: Create pull request - name: Run Updatecli for Minio
if: steps.update-tempo-distributed.outputs.changed == 'true'
uses: peter-evans/create-pull-request@v5
with:
title: "[dependency] Update the Tempo Distributed subchart"
body: "Updates the tempo Distributed subchart"
base: main
author: "${{ github.actor }} <${{ github.actor }}@users.noreply.github.com>"
committer: "GitHub <noreply@github.com>"
commit-message: Update Tempo Distributed
labels: dependencies
branch: chore/update-tempo-distributed
delete-branch: true
updateMinio:
name: Update the Minio subchart
runs-on: "ubuntu-latest"
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Install Updatecli
uses: updatecli/updatecli-action@v2
- name: Run Updatecli
id: update-minio id: update-minio
run: | run: |
updatecli apply --config ${UPDATECLI_CONFIG_DIR}/minio.yaml updatecli apply --config ${UPDATECLI_CONFIG_DIR}/minio.yaml
@@ -163,15 +67,47 @@ jobs:
fi fi
- name: Create pull request - name: Create pull request
if: steps.update-minio.outputs.changed == 'true' if: steps.update-loki.outputs.changed == 'true' || steps.update-grafana-alloy.outputs.changed == 'true' || steps.update-mimir-distributed.outputs.changed == 'true' || steps.update-tempo-distributed.outputs.changed == 'true' || steps.update-minio.outputs.changed == 'true'
uses: peter-evans/create-pull-request@v5 uses: peter-evans/create-pull-request@v5
with: with:
title: "[dependency] Update the Minio subchart" title: "[dependency] Update the subcharts"
body: "Updates the Minio subchart" body: "Updates the subcharts"
base: main base: main
author: "${{ github.actor }} <${{ github.actor }}@users.noreply.github.com>" author: "${{ github.actor }} <${{ github.actor }}@users.noreply.github.com>"
committer: "GitHub <noreply@github.com>" committer: "GitHub <noreply@github.com>"
commit-message: Update minio commit-message: Update dependencies
labels: dependencies
branch: chore/update-dependencies
delete-branch: true
updateGrafana:
name: Update the Grafana version
runs-on: "ubuntu-latest"
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Install Updatecli
uses: updatecli/updatecli-action@v2
- name: Run Updatecli
id: update-grafana
run: |
updatecli apply --config ${UPDATECLI_CONFIG_DIR}/grafana.yaml
if ! git diff --exit-code > /dev/null; then
echo "changed=true" >> "${GITHUB_OUTPUT}"
fi
- name: Create pull request
if: steps.update-grafana.outputs.changed == 'true'
uses: peter-evans/create-pull-request@v5
with:
title: "[dependency] Update the Grafana version"
body: "Updates the Grafana version"
base: main
author: "${{ github.actor }} <${{ github.actor }}@users.noreply.github.com>"
committer: "GitHub <noreply@github.com>"
commit-message: Update Grafana version
labels: dependencies labels: dependencies
branch: chore/update-minio branch: chore/update-minio
delete-branch: true delete-branch: true

View File

@@ -48,7 +48,7 @@
{{- define "agent.tempo_write_targets" -}} {{- define "agent.tempo_write_targets" -}}
{{- $list := list }} {{- $list := list }}
{{- if .Values.local.traces.enabled }} {{- if .Values.local.traces.enabled }}
{{- $list = append $list ("otelcol.exporter.otlp.local.input") }} {{- $list = append $list ("otelcol.exporter.otlphttp.local.input") }}
{{- end }} {{- end }}
{{- if .Values.cloud.traces.enabled }} {{- if .Values.cloud.traces.enabled }}
{{- $list = append $list ("otelcol.exporter.otlphttp.cloud.input") }} {{- $list = append $list ("otelcol.exporter.otlphttp.cloud.input") }}

View File

@@ -294,9 +294,7 @@ data:
// We don't technically need this, but it shows how to change listen address and incoming port. // We don't technically need this, but it shows how to change listen address and incoming port.
// In this case, the Agent is listening on all available bindable addresses on port 4317 (which is the // In this case, the Agent is listening on all available bindable addresses on port 4317 (which is the
// default OTLP gRPC port) for the OTLP protocol. // default OTLP gRPC port) for the OTLP protocol.
grpc { grpc {}
endpoint = "0.0.0.0:4317"
}
// We define where to send the output of all ingested traces. In this case, to the OpenTelemetry batch processor // We define where to send the output of all ingested traces. In this case, to the OpenTelemetry batch processor
// named 'default'. // named 'default'.
@@ -345,6 +343,14 @@ data:
} }
{{- end }} {{- end }}
{{- if .Values.local.traces.enabled }}
otelcol.exporter.otlphttp "local" {
client {
endpoint = "http://{{- .Release.Name -}}-tempo-distributor.svc:4318"
}
}
{{- end }}
{{- if .Values.cloud.logs.enabled }} {{- if .Values.cloud.logs.enabled }}
loki.write "cloud" { loki.write "cloud" {
endpoint { endpoint {

View File

@@ -1,4 +1,4 @@
{{- if and .Values.local.grafana.enabled (or .Values.dashboards.logs.enabled .Values.dashboards.metrics.enabled .Values.dashboards.traces.enabled) }} {{- if and .Values.local.grafana.enabled .Values.dashboards.logs.enabled }}
--- ---
apiVersion: v1 apiVersion: v1
kind: ConfigMap kind: ConfigMap

View File

@@ -1,4 +1,4 @@
{{- if and .Values.local.grafana.enabled (or .Values.dashboards.logs.enabled .Values.dashboards.metrics.enabled .Values.dashboards.traces.enabled) }} {{- if and .Values.local.grafana.enabled .Values.dashboards.logs.enabled }}
--- ---
apiVersion: v1 apiVersion: v1
kind: ConfigMap kind: ConfigMap

View File

@@ -32,7 +32,7 @@ spec:
- 0 - 0
containers: containers:
- name: grafana - name: grafana
image: grafana/grafana:10.0.0 image: grafana/grafana:{{- .Values.grafana.version }}
imagePullPolicy: IfNotPresent imagePullPolicy: IfNotPresent
ports: ports:
- containerPort: 3000 - containerPort: 3000
@@ -65,7 +65,7 @@ spec:
name: grafana-pv name: grafana-pv
- mountPath: /etc/grafana/provisioning/datasources - mountPath: /etc/grafana/provisioning/datasources
name: datasources-provisioning name: datasources-provisioning
{{- if or (or .Values.dashboards.logs.enabled .Values.dashboards.metrics.enabled) .Values.dashboards.traces.enabled }} {{- if .Values.dashboards.logs.enabled }}
- mountPath: /etc/grafana/provisioning/dashboards - mountPath: /etc/grafana/provisioning/dashboards
name: dashboards-provisioning name: dashboards-provisioning
{{- end }} {{- end }}

View File

@@ -1,5 +1,5 @@
{{- if .Values.local.grafana.enabled }} {{- if .Values.local.grafana.enabled }}
{{- if and .Values.local.grafana.enabled (or .Values.dashboards.logs.enabled .Values.dashboards.metrics.enabled .Values.dashboards.traces.enabled) }} {{- if and .Values.local.grafana.enabled .Values.dashboards.logs.enabled }}
apiVersion: apps/v1 apiVersion: apps/v1
kind: Deployment kind: Deployment
metadata: metadata:

View File

@@ -1,5 +1,5 @@
{{- if .Values.local.metrics.enabled }} {{- if .Values.local.metrics.enabled }}
{{- if and .Values.local.grafana.enabled (or .Values.dashboards.logs.enabled .Values.dashboards.metrics.enabled .Values.dashboards.traces.enabled) }} {{- if and .Values.local.grafana.enabled .Values.dashboards.logs.enabled }}
--- ---
apiVersion: v1 apiVersion: v1
kind: ConfigMap kind: ConfigMap
@@ -10,11 +10,5 @@ data:
{{- if .Values.dashboards.logs.enabled }} {{- if .Values.dashboards.logs.enabled }}
{{ ($.Files.Glob "src/rules/loki-rules.yaml").AsConfig | indent 2 }} {{ ($.Files.Glob "src/rules/loki-rules.yaml").AsConfig | indent 2 }}
{{- end }} {{- end }}
{{- if .Values.dashboards.metrics.enabled }}
{{ ($.Files.Glob "src/rules/mimir-rules.yaml").AsConfig | indent 2 }}
{{- end }}
{{- if .Values.dashboards.traces.enabled }}
{{ ($.Files.Glob "src/rules/tempo-rules.yaml").AsConfig | indent 2 }}
{{- end }}
{{- end }} {{- end }}
{{- end }} {{- end }}

View File

@@ -3,7 +3,6 @@ namespacesToMonitor:
- loki - loki
# The name of the cluster where this will be installed # The name of the cluster where this will be installed
clusterLabelValue: "meta-monitoring" clusterLabelValue: "meta-monitoring"
# Set to true to write logs, metrics or traces to Grafana Cloud # Set to true to write logs, metrics or traces to Grafana Cloud
# The secrets have to be created first # The secrets have to be created first
cloud: cloud:
@@ -16,7 +15,6 @@ cloud:
traces: traces:
enabled: true enabled: true
secret: "traces" secret: "traces"
# Set to true for a local version of logs, metrics or traces # Set to true for a local version of logs, metrics or traces
local: local:
grafana: grafana:
@@ -29,8 +27,8 @@ local:
enabled: false enabled: false
minio: minio:
enabled: false # This should be set to true if any of the previous is enabled enabled: false # This should be set to true if any of the previous is enabled
grafana: grafana:
version: 10.4.2
# Gateway ingress configuration # Gateway ingress configuration
ingress: ingress:
# -- Specifies whether an ingress for the gateway should be created # -- Specifies whether an ingress for the gateway should be created
@@ -38,9 +36,9 @@ grafana:
# -- Ingress Class Name. MAY be required for Kubernetes versions >= 1.18 # -- Ingress Class Name. MAY be required for Kubernetes versions >= 1.18
ingressClassName: "" ingressClassName: ""
# -- Annotations for the gateway ingress # -- Annotations for the gateway ingress
annotations: { } annotations: {}
# -- Labels for the gateway ingress # -- Labels for the gateway ingress
labels: { } labels: {}
# -- Hosts configuration for the gateway ingress, passed through the `tpl` function to allow templating # -- Hosts configuration for the gateway ingress, passed through the `tpl` function to allow templating
hosts: hosts:
- host: monitoring.example.com - host: monitoring.example.com
@@ -53,18 +51,14 @@ grafana:
# - secretName: grafana-tls # - secretName: grafana-tls
# hosts: # hosts:
# - monitoring.example.com # - monitoring.example.com
logs: logs:
# Adding regexes here will add a stage.replace block for logs. For more information see # Adding regexes here will add a stage.replace block for logs. For more information see
# https://grafana.com/docs/agent/latest/flow/reference/components/loki.process/#stagereplace-block # https://grafana.com/docs/agent/latest/flow/reference/components/loki.process/#stagereplace-block
piiRegexes: piiRegexes: null # This example replaces the word after password with *****
# This example replaces the word after password with ***** # - expression: "password (\\\\S+)"
# - expression: "password (\\\\S+)" # source: "" # Empty uses the log message
# source: "" # Empty uses the log message # replace: "*****""
# replace: "*****"" # The lines matching these will be kept in Loki
# The lines matching these will be kept in Loki
retain: retain:
# This shows the queries # This shows the queries
- caller=metrics.go - caller=metrics.go
@@ -78,7 +72,6 @@ logs:
# - caller=push.go # - caller=push.go
# Additional log lines to retain # Additional log lines to retain
extraLogs: [] extraLogs: []
metrics: metrics:
# The list of metrics to retain for logging dashboards # The list of metrics to retain for logging dashboards
retain: retain:
@@ -179,16 +172,10 @@ metrics:
- promtail_custom_bad_words_total - promtail_custom_bad_words_total
# Additional metrics to retain # Additional metrics to retain
extraMetrics: [] extraMetrics: []
# Set enabled = true to add the default logs dashboards to the local Grafana # Set enabled = true to add the default logs dashboards to the local Grafana
dashboards: dashboards:
logs: logs:
enabled: true enabled: true
metrics:
enabled: true
traces:
enabled: true
kubeStateMetrics: kubeStateMetrics:
# Scrape https://github.com/kubernetes/kube-state-metrics by default # Scrape https://github.com/kubernetes/kube-state-metrics by default
enabled: true enabled: true
@@ -196,10 +183,8 @@ kubeStateMetrics:
# https://artifacthub.io/packages/helm/prometheus-community/kube-state-metrics/ # https://artifacthub.io/packages/helm/prometheus-community/kube-state-metrics/
# is used. Change this if kube-state-metrics is installed somewhere else. # is used. Change this if kube-state-metrics is installed somewhere else.
endpoint: kube-state-metrics.kube-state-metrics.svc.cluster.local:8080 endpoint: kube-state-metrics.kube-state-metrics.svc.cluster.local:8080
# The following are configuration for the dependencies. # The following are configuration for the dependencies.
# These should usually not be changed. # These should usually not be changed.
loki: loki:
loki: loki:
auth_enabled: false auth_enabled: false
@@ -267,7 +252,6 @@ loki:
extraEnvFrom: extraEnvFrom:
- secretRef: - secretRef:
name: "minio" name: "minio"
alloy: alloy:
alloy: alloy:
clustering: clustering:
@@ -299,7 +283,6 @@ alloy:
maxReplicas: 30 maxReplicas: 30
targetMemoryUtilizationPercentage: 90 targetMemoryUtilizationPercentage: 90
targetCPUUtilizationPercentage: 90 targetCPUUtilizationPercentage: 90
mimir-distributed: mimir-distributed:
minio: minio:
enabled: false enabled: false
@@ -330,7 +313,6 @@ mimir-distributed:
insecure: true insecure: true
limits: limits:
compactor_blocks_retention_period: 30d compactor_blocks_retention_period: 30d
tempo-distributed: tempo-distributed:
tempo: tempo:
structuredConfig: structuredConfig:
@@ -379,7 +361,6 @@ tempo-distributed:
enabled: true enabled: true
grpc: grpc:
enabled: true enabled: true
minio: minio:
existingSecret: "minio" existingSecret: "minio"
buckets: buckets: