Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 14 additions & 13 deletions kubernetes/linera-validator/helmfile.yaml
Original file line number Diff line number Diff line change
@@ -1,3 +1,11 @@
environments:
default:
values:
- writeToGrafanaCloud: {{ env "LINERA_WRITE_TO_GRAFANA_CLOUD" | default "false" }}
validatorLabel: {{ env "LINERA_VALIDATOR_LABEL" | default (printf "local-%s" (env "USER")) }}

---

repositories:
- name: scylla
url: https://scylla-operator-charts.storage.googleapis.com/stable
Expand All @@ -16,22 +24,15 @@ releases:
needs:
- scylla/scylla
values:
- {{ env "LINERA_HELMFILE_VALUES_LINERA_CORE" | default "values-local.yaml" }}
{{ if .Values.writeToGrafanaCloud -}}
- grafanaCloudUsername: {{ fetchSecretValue (env "LINERA_GRAFANA_CLOUD_USERNAME_SECRET") | quote }}
grafanaCloudAPIToken: {{ fetchSecretValue (env "LINERA_GRAFANA_CLOUD_API_TOKEN_SECRET") | quote }}
{{- end }}
- writeToGrafanaCloud: {{ .Values.writeToGrafanaCloud }}
- {{ env "LINERA_HELMFILE_VALUES_LINERA_CORE" | default "values-local.yaml.gotmpl" }}
set:
- name: installCRDs
value: "true"
- name: validator.serverConfig
value: {{ env "LINERA_HELMFILE_SET_SERVER_CONFIG" | default "working/server_1.json" }}
- name: validator.genesisConfig
value: {{ env "LINERA_HELMFILE_SET_GENESIS_CONFIG" | default "working/genesis.json" }}
- name: numShards
value: {{ env "LINERA_HELMFILE_SET_NUM_SHARDS" | default 10 }}
- name: lineraImage
value: {{ env "LINERA_HELMFILE_LINERA_IMAGE" | default "linera:latest" }}
- name: staticIpGcpName
value: {{ env "LINERA_HELMFILE_STATIC_IP_GCP_NAME" | default "" }}
- name: validatorDomainName
value: {{ env "LINERA_HELMFILE_VALIDATOR_DOMAIN_NAME" | default "" }}
- name: scylla
version: v1.13.0
namespace: scylla
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
{{- if .Values.writeToGrafanaCloud }}
apiVersion: v1
kind: Secret
metadata:
name: grafana-cloud-auth-secret
type: kubernetes.io/basic-auth
stringData:
username: {{ .Values.grafanaCloudUsername | quote }}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What happens if this isn't specified (for example external validators which use Kuberentes?).

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm currently changing this to only be created if writeToGrafanaCloud is true, which will only happen for internal validators

password: {{ .Values.grafanaCloudAPIToken | quote }}
{{- end }}
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
# Values for charts linera-validator for local validators.

# Linera
lineraImage: "" # Is set by helmfile.
lineraImage: {{ env "LINERA_HELMFILE_LINERA_IMAGE" | default "linera:latest" }}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for this. I'm not entirely sure if this is better or worse to be honest. On the one hand there is less indirection on the other hand configurable variables are now in more places.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think it definitely looks better/less confusing than just an empty string, tbh 🤔 at least now you know what the default for this is supposed to be

lineraImagePullPolicy: Never
logLevel: "debug"
proxyPort: 19100
metricsPort: 21100
numShards: 10
numShards: {{ env "LINERA_HELMFILE_SET_NUM_SHARDS" | default 10 }}

# Loki
loki-stack:
Expand Down Expand Up @@ -40,6 +40,26 @@ kube-prometheus-stack:
- grafana-piechart-panel
prometheus:
prometheusSpec:
{{- if .Values.writeToGrafanaCloud }}
scrapeInterval: 90s
remoteWrite:
- url: https://prometheus-prod-13-prod-us-east-0.grafana.net/api/prom/push
basicAuth:
username:
name: grafana-cloud-auth-secret
key: username
password:
name: grafana-cloud-auth-secret
key: password
writeRelabelConfigs:
- sourceLabels: [__name__]
regex: (apiextensions|apiserver|csi|kube|kubelet|kubernetes|node|prober|prometheus|rest|storage|volume|etcd|net|grafana|authentication|code|workqueue|cluster|go|alertmanager|authorization|namespace|scrape|up|field|registered|process|scylla).+
action: drop
- regex: endpoint|instance|namespace|pod|prometheus|prometheus_replica|service|name|resource|id
action: labeldrop
externalLabels:
validator: {{ .Values.validatorLabel }}
{{- end }}
retention: 2d
retentionSize: 1GB
storageSpec:
Expand Down Expand Up @@ -101,5 +121,5 @@ environment: "kind"

# Validator
validator:
serverConfig: "" # Is set by helmfile.
genesisConfig: "" # Is set by helmfile.
serverConfig: {{ env "LINERA_HELMFILE_SET_SERVER_CONFIG" | default "working/server_1.json" }}
genesisConfig: {{ env "LINERA_HELMFILE_SET_GENESIS_CONFIG" | default "working/genesis.json" }}