Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Unify production branches #140

Draft
wants to merge 34 commits into
base: prod
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
34 commits
Select commit Hold shift + click to select a range
8c23ca9
cleaning up all charts, updating versions
matilote Dec 1, 2023
8db086e
update image tags
matilote Dec 1, 2023
9c9a18d
add fallbackRpcEndpoints and fix sharedPersistence init
matilote Dec 5, 2023
ddbc13c
add missing envFrom
matilote Dec 5, 2023
7daa6e4
add securityContext nonRoot
matilote Dec 6, 2023
e0ee790
fix references
matilote Dec 6, 2023
30fba23
remove ownership changes
matilote Dec 6, 2023
8db3019
use root for init
matilote Dec 6, 2023
6f2a7b3
remove dataStorage settings for Teku
matilote Dec 12, 2023
8717ba0
Merge prod-stable additions (#74)
matilote Dec 18, 2023
60fcdb0
Features/quantstamp audit cleanup prep (#81)
matilote Jan 8, 2024
7149531
Start using Nethermind chiseled image (#75)
matilote Jan 18, 2024
0343615
Revert "Start using Nethermind chiseled image (#75)"
aivarasko Jan 18, 2024
b5f8e10
Update statefulset.yaml (#101)
matilote Feb 29, 2024
55f99fd
Update statefulset.yaml
matilote Feb 29, 2024
9ed6c0d
Update statefulset.yaml
matilote Feb 29, 2024
8d0458e
Update statefulset.yaml
matilote Feb 29, 2024
812717b
Update statefulset.yaml
matilote Feb 29, 2024
1954901
Update statefulset.yaml
matilote Feb 29, 2024
45740d8
Update statefulset.yaml
matilote Feb 29, 2024
152b819
Update statefulset.yaml
matilote Feb 29, 2024
1518f8b
Update statefulset.yaml
matilote Feb 29, 2024
11a93ec
Update statefulset.yaml
matilote Feb 29, 2024
1c4beb9
Update statefulset.yaml
matilote Feb 29, 2024
f5058da
Ethereum/dirk vouch unify (#102)
matilote Mar 1, 2024
08c9ae3
Vouch patch (#103)
matilote Mar 1, 2024
2b8540b
Update statefulset.yaml
matilote Mar 1, 2024
272805b
Update statefulset.yaml
matilote Mar 1, 2024
0f7810b
Update statefulset.yaml
matilote Mar 1, 2024
fe06304
Update statefulset.yaml
matilote Mar 1, 2024
5fb2b26
add blockrelay http service (#106)
matilote Mar 16, 2024
4a07ea2
add clickhouse from bitnami to our charts repo
matilote Mar 18, 2024
c844b71
add reloader (#109)
matilote Mar 20, 2024
c99db0c
Feat/balval (#107)
matilote Aug 6, 2024
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
23 changes: 23 additions & 0 deletions charts/balval/.helmignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# Patterns to ignore when building packages.
# This supports shell glob matching, relative path matching, and
# negation (prefixed with !). Only one pattern per line.
.DS_Store
# Common VCS dirs
.git/
.gitignore
.bzr/
.bzrignore
.hg/
.hgignore
.svn/
# Common backup files
*.swp
*.bak
*.tmp
*.orig
*~
# Various IDEs
.project
.idea/
*.tmproj
.vscode/
6 changes: 6 additions & 0 deletions charts/balval/Chart.lock
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
dependencies:
- name: common
repository: file://../common
version: 1.0.0
digest: sha256:07cebde439abe4ba19bb28e844b7419dab83c7f613886416aaf3ec08e8059144
generated: "2024-03-17T01:44:51.25393669+01:00"
20 changes: 20 additions & 0 deletions charts/balval/Chart.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
apiVersion: v2
name: validator-balval
description: A Helm chart for installing and configuring Lido's validator-balval
type: application
version: 1.0.0
appVersion: "v4.6.0"

keywords:
- ethereum
- lido
- validators
- monitoring
- balval

home: https://nethermind.io/

dependencies:
- name: common
repository: file://../common
version: 1.0.0
62 changes: 62 additions & 0 deletions charts/balval/templates/_helpers.tpl
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
{{/*
Expand the name of the chart.
*/}}
{{- define "balval.name" -}}
{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" }}
{{- end }}

{{/*
Create a default fully qualified app name.
We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
If release name contains chart name it will be used as a full name.
*/}}
{{- define "balval.fullname" -}}
{{- if .Values.fullnameOverride }}
{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" }}
{{- else }}
{{- $name := default .Chart.Name .Values.nameOverride }}
{{- if contains $name .Release.Name }}
{{- .Release.Name | trunc 63 | trimSuffix "-" }}
{{- else }}
{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" }}
{{- end }}
{{- end }}
{{- end }}

{{/*
Create chart name and version as used by the chart label.
*/}}
{{- define "balval.chart" -}}
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }}
{{- end }}

{{/*
Common labels
*/}}
{{- define "balval.labels" -}}
helm.sh/chart: {{ include "balval.chart" . }}
{{ include "balval.selectorLabels" . }}
{{- if .Chart.AppVersion }}
app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
{{- end }}
app.kubernetes.io/managed-by: {{ .Release.Service }}
{{- end }}

{{/*
Selector labels
*/}}
{{- define "balval.selectorLabels" -}}
app.kubernetes.io/name: {{ include "balval.name" . }}
app.kubernetes.io/instance: {{ .Release.Name }}
{{- end }}

{{/*
Create the name of the service account to use
*/}}
{{- define "balval.serviceAccountName" -}}
{{- if .Values.serviceAccount.create }}
{{- default (include "balval.fullname" .) .Values.serviceAccount.name }}
{{- else }}
{{- default "default" .Values.serviceAccount.name }}
{{- end }}
{{- end }}
13 changes: 13 additions & 0 deletions charts/balval/templates/configmap.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
---
apiVersion: v1
kind: ConfigMap
metadata:
name: {{ include "common.names.fullname" . }}
labels:
{{- include "common.labels.standard" . | nindent 4 }}
data:
custom_mainnet.yaml: |
operators:
- name: Test
keys:
- "0xb1294eeeab227054786e3da41566f0472c581e4dc74834fca7287817a64edb4a4a4e912c7ae8ae703d417fe43a221cdb"
18 changes: 18 additions & 0 deletions charts/balval/templates/external-secret.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
{{- if .Values.global.externalSecrets.enabled }}
apiVersion: external-secrets.io/v1beta1
kind: ExternalSecret
metadata:
name: eso-{{ include "common.names.fullname" . }}
labels:
{{- include "common.labels.standard" . | nindent 4 }}
spec:
refreshInterval: 10m
secretStoreRef:
name: {{ .Values.global.externalSecrets.secretStoreRef.name }}
kind: {{ .Values.global.externalSecrets.secretStoreRef.kind }}
target:
name: eso-{{ include "common.names.fullname" . }}
creationPolicy: Owner
data:
{{- .Values.global.externalSecrets.data | toYaml | trim | nindent 2 }}
{{- end }}
124 changes: 124 additions & 0 deletions charts/balval/templates/prometheusrules.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,124 @@
{{- if .Values.prometheusRule.enabled }}
---
apiVersion: monitoring.coreos.com/v1
kind: PrometheusRule
metadata:
name: {{ include "common.names.fullname" . }}
{{- if .Values.prometheusRule.namespace }}
namespace: {{ .Values.prometheusRule.namespace }}
{{- else }}
namespace: {{ .Release.Namespace | quote }}
{{- end }}
labels:
{{- include "common.labels.standard" . | nindent 4 }}
{{- if .Values.prometheusRule.additionalLabels }}
{{- toYaml .Values.prometheusRule.additionalLabels | nindent 4 }}
{{- end }}
spec:
groups:
{{- with .Values.prometheusRule.rules }}
- name: {{ include "common.names.fullname" $ }}
rules: {{- tpl (toYaml .) $ | nindent 8 }}
{{- end }}
{{- if .Values.prometheusRule.default }}
- name: {{ include "common.names.fullname" $ }}-default
rules:
- alert: UserSlashedValidators
expr: (ethereum_validators_monitoring_user_validators{status="slashed"} - ethereum_validators_monitoring_user_validators{status="slashed"} offset 1m) > 0
labels:
severity: critical
annotations:
emoji: 🔪
summary: "Operators have slashed validators"
description: 'Number of slashed validators per operator'
- alert: DataActuality
expr: absent(ethereum_validators_monitoring_data_actuality) OR (ethereum_validators_monitoring_data_actuality / 1000 > 3600)
for: 1m
labels:
severity: critical
annotations:
emoji: ⏳
summary: "Data actuality greater then 1 hour"
resolved_summary: "Data actuality is back to normal and now less then 1 hour"
description: "It's not OK. Please, check app health"
- alert: NumValidatorsWithNegativeDelta
expr: ethereum_validators_monitoring_validator_count_with_negative_balances_delta > 0 AND ON() changes(ethereum_validators_monitoring_epoch_number[1m]) > 0
labels:
severity: critical
annotations:
emoji: 💸
summary: 'Operators have a negative balance delta'
resolved_summary: 'Operators have a positive balance delta'
description: 'Number of validators per operator who have a negative balance delta.'
- alert: NumValidatorsWithMissAttestationLastNEpoch
expr: ethereum_validators_monitoring_validator_count_miss_attestation_last_n_epoch > 0 AND ON() changes(ethereum_validators_monitoring_epoch_number[1m]) > 0
labels:
severity: critical
annotations:
emoji: 📝❌
summary: 'Operators have missed attestation in last {{ printf "{{ $labels.epoch_interval }}" }} finalized epochs'
resolved_summary: 'Operators not have missed attestation in last {{ printf "{{ $labels.epoch_interval }}" }} finalized epochs'
description: 'Number of validators per operator who have missed attestations.'
- alert: NumValidatorsWithHighIncDelayAttestationLastNEpoch
expr: ethereum_validators_monitoring_validator_count_high_inc_delay_last_n_epoch > 0 AND ON() changes(ethereum_validators_monitoring_epoch_number[1m]) > 0
labels:
severity: critical
annotations:
emoji: 📝🐢
summary: 'Operators have attestation inc. delay greater than 2 in last {{ printf "{{ $labels.epoch_interval }}" }} finalized epochs'
description: 'Number of validators per operator who have attestation with high inc. delay.'
- alert: NumValidatorsWithInvalidPropertyAttestationLastNEpoch
expr: ethereum_validators_monitoring_validator_count_invalid_attestation_property_last_n_epoch > 0 AND ON() changes(ethereum_validators_monitoring_epoch_number[1m]) > 0
labels:
severity: critical
annotations:
emoji: '📝🏷️'
summary: 'Operators have invalid attestation property in last {{ printf "{{ $labels.epoch_interval }}" }} finalized epochs'
description: 'Number of validators per operator who have invalid attestation property.'
- alert: NumValidatorsWithMissPropose
expr: ethereum_validators_monitoring_validator_count_miss_propose > 0 AND ON() changes(ethereum_validators_monitoring_epoch_number[1m]) > 0
labels:
severity: critical
annotations:
emoji: 📥
summary: 'Operators missed block propose in the last finalized epoch'
resolved_summary: 'Operators not missed block propose in the last finalized epoch'
description: 'Number of validators per operator who missed block propose.'
- alert: NumValidatorsWithSyncParticipationLessAvgLastNEpoch
expr: ethereum_validators_monitoring_validator_count_with_sync_participation_less_avg_last_n_epoch > 0 AND ON() changes(ethereum_validators_monitoring_epoch_number[1m]) > 0
labels:
severity: critical
annotations:
emoji: 🔄
summary: 'Operators sync participation less than average in last {{ printf "{{ $labels.epoch_interval }}" }} finalized epochs'
resolved_summary: 'Operators sync participation higher or equal than average in last {{ printf "{{ $labels.epoch_interval }}" }} finalized epochs'
description: 'Number of validators per operator whose sync participation less than average.'
- alert: HighRewardNumValidatorsWithSyncParticipationLessAvgLastNEpoch
expr: ethereum_validators_monitoring_high_reward_validator_count_with_sync_participation_less_avg_last_n_epoch > 0 AND ON() changes(ethereum_validators_monitoring_epoch_number[1m]) > 0
labels:
severity: critical
annotations:
emoji: '📈🔄'
summary: 'Operators may get high rewards in the future, but sync participation less than average in last {{ printf "{{ $labels.epoch_interval }}" }} finalized epochs!'
resolved_summary: 'Operators sync participation higher or equal than average in last {{ printf "{{ $labels.epoch_interval }}" }} finalized epoch. Now may get high rewards in the future!'
description: 'Number of validators per operator whose sync participation less than average.'
- alert: HighRewardNumValidatorsWithMissAttestationLastNEpoch
expr: ethereum_validators_monitoring_high_reward_validator_count_miss_attestation_last_n_epoch > 0 AND ON() changes(ethereum_validators_monitoring_epoch_number[1m]) > 0
labels:
severity: critical
annotations:
emoji: '📈📝❌'
summary: 'Operators may get high rewards in the future, but missed attestation in last {{ printf "{{ $labels.epoch_interval }}" }} finalized epochs!'
resolved_summary: 'Operators not have missed attestation in last {{ printf "{{ $labels.epoch_interval }}" }} finalized epochs. Now may get high rewards in the future!'
description: 'Number of validators per operator who have missed attestations.'
- alert: HighRewardNumValidatorsWithMissPropose
expr: ethereum_validators_monitoring_high_reward_validator_count_miss_propose > 0 AND ON() changes(ethereum_validators_monitoring_epoch_number[1m]) > 0
labels:
severity: critical
annotations:
emoji: '📈📥'
summary: 'Operators may get high rewards in the future, but missed block propose in the last finalized epoch!'
resolved_summary: 'Operators not missed block propose in the last finalized epoch. Now may get high rewards in the future!'
description: 'Number of validators per operator who missed block propose.'
{{- end }}
{{- end }}
15 changes: 15 additions & 0 deletions charts/balval/templates/service.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
apiVersion: v1
kind: Service
metadata:
name: {{ include "balval.fullname" . }}
labels:
{{- include "balval.labels" . | nindent 4 }}
spec:
type: ClusterIP
ports:
- port: {{ .Values.balval.httpPort }}
targetPort: metrics
protocol: TCP
name: metrics
selector:
{{- include "balval.selectorLabels" . | nindent 4 }}
12 changes: 12 additions & 0 deletions charts/balval/templates/serviceaccount.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
{{- if or .Values.global.serviceAccount.create .Values.serviceAccount.create -}}
apiVersion: v1
kind: ServiceAccount
metadata:
name: {{ include "common.names.serviceAccountName" . }}
labels:
{{- include "common.labels.standard" . | nindent 4 }}
{{- with .Values.serviceAccount.annotations }}
annotations:
{{- toYaml . | nindent 4 }}
{{- end }}
{{- end }}
41 changes: 41 additions & 0 deletions charts/balval/templates/servicemonitor.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
{{- if .Values.serviceMonitor.enabled }}
apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
name: {{ include "common.names.fullname" . }}
{{- if .Values.serviceMonitor.namespace }}
namespace: {{ .Values.serviceMonitor.namespace }}
{{- else }}
namespace: {{ .Release.Namespace | quote }}
{{- end }}
labels:
{{- include "common.labels.standard" . | nindent 4 }}
{{- if .Values.serviceMonitor.additionalLabels }}
{{- toYaml .Values.serviceMonitor.additionalLabels | nindent 4 }}
{{- end }}
spec:
endpoints:
- port: metrics
path: /metrics
{{- if .Values.serviceMonitor.interval }}
interval: {{ .Values.serviceMonitor.interval }}
{{- end }}
{{- if .Values.serviceMonitor.scrapeTimeout }}
scrapeTimeout: {{ .Values.serviceMonitor.scrapeTimeout }}
{{- end }}
{{- if .Values.serviceMonitor.honorLabels }}
honorLabels: {{ .Values.serviceMonitor.honorLabels }}
{{- end }}
{{- if .Values.serviceMonitor.relabelings }}
relabelings: {{- toYaml .Values.serviceMonitor.relabelings | nindent 6 }}
{{- end }}
{{- if .Values.serviceMonitor.metricRelabelings }}
metricRelabelings: {{- toYaml .Values.serviceMonitor.metricRelabelings | nindent 6 }}
{{- end }}
namespaceSelector:
matchNames:
- {{ .Release.Namespace }}
selector:
matchLabels:
{{- include "common.labels.matchLabels" . | nindent 6 }}
{{- end }}
Loading