Skip to content

Commit cc8f74c

Browse files
committed
Send Prometheus metrics to Grafana Cloud
1 parent d6825b7 commit cc8f74c

File tree

3 files changed

+38
-17
lines changed

3 files changed

+38
-17
lines changed

kubernetes/linera-validator/helmfile.yaml

Lines changed: 11 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,11 @@
1+
environments:
2+
default:
3+
values:
4+
- writeToGrafanaCloud: {{ env "LINERA_WRITE_TO_GRAFANA_CLOUD" | default "false" }}
5+
validatorLabel: {{ env "LINERA_VALIDATOR_LABEL" | default (printf "local-%s" (env "USER")) }}
6+
7+
---
8+
19
repositories:
210
- name: scylla
311
url: https://scylla-operator-charts.storage.googleapis.com/stable
@@ -16,22 +24,12 @@ releases:
1624
needs:
1725
- scylla/scylla
1826
values:
19-
- {{ env "LINERA_HELMFILE_VALUES_LINERA_CORE" | default "values-local.yaml" }}
27+
- grafanaCloudUsername: {{ fetchSecretValue (env "LINERA_GRAFANA_CLOUD_USERNAME_SECRET" | default "ref+gcpsecrets://linera-io-dev/grafana-cloud-username?version=latest") | quote }}
28+
grafanaCloudAPIToken: {{ fetchSecretValue (env "LINERA_GRAFANA_CLOUD_API_TOKEN_SECRET" | default "ref+gcpsecrets://linera-io-dev/grafana-cloud-api-token?version=latest") | quote }}
29+
- {{ env "LINERA_HELMFILE_VALUES_LINERA_CORE" | default "values-local.yaml.gotmpl" }}
2030
set:
2131
- name: installCRDs
2232
value: "true"
23-
- name: validator.serverConfig
24-
value: {{ env "LINERA_HELMFILE_SET_SERVER_CONFIG" | default "working/server_1.json" }}
25-
- name: validator.genesisConfig
26-
value: {{ env "LINERA_HELMFILE_SET_GENESIS_CONFIG" | default "working/genesis.json" }}
27-
- name: numShards
28-
value: {{ env "LINERA_HELMFILE_SET_NUM_SHARDS" | default 10 }}
29-
- name: lineraImage
30-
value: {{ env "LINERA_HELMFILE_LINERA_IMAGE" | default "linera:latest" }}
31-
- name: staticIpGcpName
32-
value: {{ env "LINERA_HELMFILE_STATIC_IP_GCP_NAME" | default "" }}
33-
- name: validatorDomainName
34-
value: {{ env "LINERA_HELMFILE_VALIDATOR_DOMAIN_NAME" | default "" }}
3533
- name: scylla
3634
version: v1.13.0
3735
namespace: scylla
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
apiVersion: v1
2+
kind: Secret
3+
metadata:
4+
name: grafana-cloud-auth-secret
5+
type: kubernetes.io/basic-auth
6+
stringData:
7+
username: {{ .Values.grafanaCloudUsername | quote }}
8+
password: {{ .Values.grafanaCloudAPIToken | quote }}

kubernetes/linera-validator/values-local.yaml renamed to kubernetes/linera-validator/values-local.yaml.gotmpl

Lines changed: 19 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
# Values for charts linera-validator for local validators.
22

33
# Linera
4-
lineraImage: "" # Is set by helmfile.
4+
lineraImage: {{ env "LINERA_HELMFILE_LINERA_IMAGE" | default "linera:latest" }}
55
lineraImagePullPolicy: Never
66
logLevel: "debug"
77
proxyPort: 19100
88
metricsPort: 21100
9-
numShards: 10
9+
numShards: {{ env "LINERA_HELMFILE_SET_NUM_SHARDS" | default 10 }}
1010

1111
# Loki
1212
loki-stack:
@@ -27,6 +27,7 @@ loki-stack:
2727

2828
# Prometheus/Grafana
2929
kube-prometheus-stack:
30+
{{- if not .Values.writeToGrafanaCloud }}
3031
grafana:
3132
sidecar:
3233
dashboards:
@@ -38,8 +39,22 @@ kube-prometheus-stack:
3839
size: 1Gi
3940
plugins:
4041
- grafana-piechart-panel
42+
{{- end }}
4143
prometheus:
4244
prometheusSpec:
45+
{{- if .Values.writeToGrafanaCloud }}
46+
remoteWrite:
47+
- url: https://prometheus-prod-13-prod-us-east-0.grafana.net/api/prom/push
48+
basicAuth:
49+
username:
50+
name: grafana-cloud-auth-secret
51+
key: username
52+
password:
53+
name: grafana-cloud-auth-secret
54+
key: password
55+
externalLabels:
56+
validator: {{ .Values.validatorLabel }}
57+
{{- end }}
4358
retention: 2d
4459
retentionSize: 1GB
4560
storageSpec:
@@ -101,5 +116,5 @@ environment: "kind"
101116

102117
# Validator
103118
validator:
104-
serverConfig: "" # Is set by helmfile.
105-
genesisConfig: "" # Is set by helmfile.
119+
serverConfig: {{ env "LINERA_HELMFILE_SET_SERVER_CONFIG" | default "working/server_1.json" }}
120+
genesisConfig: {{ env "LINERA_HELMFILE_SET_GENESIS_CONFIG" | default "working/genesis.json" }}

0 commit comments

Comments
 (0)