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
13 changes: 6 additions & 7 deletions charts/eth-validator-watcher/Chart.yaml
Original file line number Diff line number Diff line change
@@ -1,10 +1,9 @@
apiVersion: v2
description: A Helm chart for running eth-validator-watcher
name: eth-validator-watcher
name: ethereum-validator-watcher
description: A Helm chart to deploy ethereum-validator-watcher on Kubernetes
type: application
version: 1.3.0
appVersion: 0.7.1
version: 2.0.0
appVersion: mxs-0.0.8-beta1
maintainers:
- name: Alluvial
email: contact@alluvial.finance
url: https://alluvial.finance
- name: kiln
email: contact@kiln.fi
55 changes: 24 additions & 31 deletions charts/eth-validator-watcher/README.md
Original file line number Diff line number Diff line change
@@ -1,67 +1,60 @@
# eth-validator-watcher
# ethereum-validator-watcher

![Version: 1.3.0](https://img.shields.io/badge/Version-1.3.0-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 0.7.1](https://img.shields.io/badge/AppVersion-0.7.1-informational?style=flat-square)
![Version: 6.0.1](https://img.shields.io/badge/Version-6.0.1-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: mxs-0.0.8-beta1](https://img.shields.io/badge/AppVersion-mxs--0.0.8--beta1-informational?style=flat-square)

A Helm chart for running eth-validator-watcher
A Helm chart to deploy ethereum-validator-watcher on Kubernetes

## Maintainers

| Name | Email | Url |
| ---- | ------ | --- |
| Alluvial | <contact@alluvial.finance> | <https://alluvial.finance> |
| kiln | <contact@kiln.fi> | |

## Values

| Key | Type | Default | Description |
|-----|------|---------|-------------|
| affinity | object | `{}` | |
| config.beaconType | string | `"other"` | |
| config.beaconUrl | string | `"http://localhost:5052"` | |
| config.watchedKeys | list | `[]` | List of public keys to watch. See https://github.com/kilnfi/eth-validator-watcher/blob/main/README.md#command-lines-examples |
| env | object | `{}` | |
| envFrom | object | `{}` | |
| extraArgs | list | `[]` | |
| extraInitContainers | list | `[]` | |
| config.beacon_timeout_sec | int | `90` | |
| config.beacon_url | string | `"http://beacon-url:5051"` | |
| config.metrics_port | int | `8000` | |
| config.network | string | `"network-name"` | |
| config.watched_keys[0].labels[0] | string | `"operator:kiln"` | |
| config.watched_keys[0].labels[1] | string | `"vc:prysm-validator-1"` | |
| config.watched_keys[0].public_key[0] | string | `"989fa046d04b41fc95a04dabb7ab8b64e84afaa85c0aa49e1c6878d7b2814094402d62ae42dfbf3ac72e6770ee0926a8"` | |
| deploymentAnnotations | object | `{}` | |
| extraArgs | object | `{}` | |
| fullnameOverride | string | `""` | |
| image.pullPolicy | string | `"IfNotPresent"` | |
| image.repository | string | `"ghcr.io/kilnfi/eth-validator-watcher"` | |
| image.tag | string | `""` | |
| imagePullSecrets | list | `[]` | |
| livenessProbe.failureThreshold | int | `1` | |
| livenessProbe.initialDelaySeconds | int | `60` | |
| image.tag | string | `"1.0.0-beta8"` | |
| livenessProbe.failureThreshold | int | `10` | |
| livenessProbe.httpGet.path | string | `"/"` | |
| livenessProbe.httpGet.port | int | `8000` | |
| livenessProbe.initialDelaySeconds | int | `600` | |
| livenessProbe.periodSeconds | int | `60` | |
| livenessProbe.successThreshold | int | `1` | |
| livenessProbe.timeoutSeconds | int | `1` | |
| livenessProbe.timeoutSeconds | int | `60` | |
| nameOverride | string | `""` | |
| nodeSelector | object | `{}` | |
| podAnnotations | object | `{}` | |
| podLabels | object | `{}` | |
| podMonitor.additionalLabels | object | `{}` | |
| podMonitor.enabled | bool | `false` | |
| podMonitor.enabled | bool | `true` | |
| podMonitor.interval | string | `"12s"` | |
| podMonitor.relabelings | list | `[]` | |
| podMonitor.scheme | string | `"http"` | |
| podMonitor.tlsConfig | object | `{}` | |
| podSecurityContext | object | `{}` | |
| readinessProbe.failureThreshold | int | `1` | |
| readinessProbe.initialDelaySeconds | int | `60` | |
| readinessProbe.periodSeconds | int | `60` | |
| readinessProbe.successThreshold | int | `1` | |
| readinessProbe.timeoutSeconds | int | `1` | |
| readinessProbe | object | `{}` | |
| replicaCount | int | `1` | |
| resources.limits.memory | string | `"2400Mi"` | |
| resources.requests.cpu | string | `"100m"` | |
| resources.requests.memory | string | `"1200Mi"` | |
| resources | object | `{}` | |
| securityContext | object | `{}` | |
| service.port | int | `80` | |
| service.type | string | `"ClusterIP"` | |
| serviceAccount.annotations | object | `{}` | |
| serviceAccount.create | bool | `true` | |
| serviceAccount.labels | object | `{}` | |
| serviceAccount.name | string | `""` | |
| startupProbe | object | `{}` | |
| tolerations | list | `[]` | |
| volumeMounts | object | `{}` | |
| volumes | object | `{}` | |

----------------------------------------------
Autogenerated from chart metadata using [helm-docs v1.11.0](https://github.com/norwoodj/helm-docs/releases/v1.11.0)
Autogenerated from chart metadata using [helm-docs v1.14.2](https://github.com/norwoodj/helm-docs/releases/v1.14.2)
34 changes: 16 additions & 18 deletions charts/eth-validator-watcher/templates/_helpers.tpl
Original file line number Diff line number Diff line change
Expand Up @@ -30,35 +30,33 @@ Create chart name and version as used by the chart label.
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }}
{{- end }}

{{/*
Create the name of the service account to use
*/}}
{{- define "ethereum-validator-watcher.serviceAccountName" -}}
{{- if .Values.serviceAccount.create }}
{{- default (include "ethereum-validator-watcher.fullname" .) .Values.serviceAccount.name }}
{{- else }}

{{- default "default" .Values.serviceAccount.name }}
{{- end }}
{{- end }}

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

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

{{/*
Create the name of the service account to use
*/}}
{{- define "ethereum-validator-watcher.serviceAccountName" -}}
{{- if .Values.serviceAccount.create }}
{{- default (include "ethereum-validator-watcher.fullname" .) .Values.serviceAccount.name }}
{{- else }}
{{- default "default" .Values.serviceAccount.name }}
{{- end }}
{{- end }}
10 changes: 3 additions & 7 deletions charts/eth-validator-watcher/templates/configmap.yaml
Original file line number Diff line number Diff line change
@@ -1,13 +1,9 @@
{{- if .Values.config.watchedKeys }}
apiVersion: v1
kind: ConfigMap
metadata:
name: {{ include "ethereum-validator-watcher.fullname" . }}
name: {{ include "ethereum-validator-watcher.fullname" . }}-config
labels:
{{- include "ethereum-validator-watcher.labels" . | nindent 4 }}
data:
watched-keys.txt: |
{{- range .Values.config.watchedKeys }}
{{- . | nindent 4 }}
{{- end }}
{{- end }}
config.yaml: |-
{{ .Values.config | nindent 4 }}
105 changes: 45 additions & 60 deletions charts/eth-validator-watcher/templates/deployment.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,29 +5,33 @@ metadata:
namespace: {{ .Release.Namespace }}
labels:
{{- include "ethereum-validator-watcher.labels" . | nindent 4 }}
{{- with .Values.podAnnotations }}
{{- with .Values.deploymentAnnotations }}
annotations:
{{- toYaml . | nindent 4 }}
{{- end }}
spec:
strategy:
type: Recreate
replicas: {{ .Values.replicaCount }}
selector:
matchLabels:
{{- include "ethereum-validator-watcher.matchLabels" . | nindent 6 }}
{{- include "ethereum-validator-watcher.selectorLabels" . | nindent 6 }}
template:
metadata:
labels:
{{- include "ethereum-validator-watcher.matchLabels" . | nindent 8 }}
{{- include "ethereum-validator-watcher.labels" . | nindent 8 }}
{{- with .Values.podLabels }}
{{- tpl (toYaml .) $ | nindent 8 }}
{{- end }}
{{- with .Values.podAnnotations }}
annotations: {{ tpl (toYaml .) $ | nindent 8 }}
{{- end }}
annotations:
checksum/config: {{ include (print $.Template.BasePath "/configmap.yaml") . | sha256sum }}
{{- with .Values.podAnnotations }}
{{ tpl (toYaml .) $ | nindent 8 }}
{{- end }}
spec:
containers:
- name: validator-watcher
image: "{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }}"
image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
imagePullPolicy: {{ .Values.image.pullPolicy }}
{{- with .Values.resources }}
resources:
Expand All @@ -36,71 +40,52 @@ spec:
ports:
- name: metrics
containerPort: 8000
args:
{{- if .Values.config.watchedKeys }}
- --pubkeys-file-path=/data/keys/watched-keys.txt
{{- end }}
- --beacon-url={{ .Values.config.beaconUrl }}
- --beacon-type={{ .Values.config.beaconType }}
- --liveness-file=/tmp/liveness
{{- with .Values.extraArgs }}
{{- toYaml . | nindent 10 }}
{{- end }}
{{- with .Values.env }}
env:
{{- with .Values.envFrom }}
{{- range $key, $value := . }}
- name: {{ $key }}
{{- range $name, $value := . }}
{{- $type := typeOf $value }}
- name: {{ $name }}
{{- if eq $type "string" }}
value: {{ $value | quote }}
{{- else }}
{{- toYaml $value | nindent 12 }}
{{- end }}
{{- end }}
{{- with .Values.env }}
{{- range $key, $value := . }}
- name: {{ $key }}
value: {{ $value | quote }}
{{- end }}
{{- end }}
args:
- --config=/config/config.yaml
{{- range $key, $value := .Values.extraArgs }}
{{- if eq ($value | quote | len) 2 }}
- --{{ $key }}
{{- else }}
- --{{ $key }}={{ $value }}
{{- end }}
{{- end }}
{{- with .Values.livenessProbe }}
livenessProbe:
exec:
command:
- /usr/bin/python3.11
- /usr/local/bin/liveness_check.py
- /tmp/liveness
initialDelaySeconds: {{ .initialDelaySeconds }}
periodSeconds: {{ .periodSeconds }}
timeoutSeconds: {{ .timeoutSeconds }}
successThreshold: {{ .successThreshold }}
failureThreshold: {{ .failureThreshold }}
{{- toYaml . | nindent 10 }}
{{- end }}
{{- with .Values.startupProbe }}
startupProbe:
{{- toYaml . | nindent 10 }}
{{- end }}
{{- with .Values.readinessProbe }}
readinessProbe:
exec:
command:
- /usr/bin/python3.11
- /usr/local/bin/liveness_check.py
- /tmp/liveness
initialDelaySeconds: {{ .initialDelaySeconds }}
periodSeconds: {{ .periodSeconds }}
timeoutSeconds: {{ .timeoutSeconds }}
successThreshold: {{ .successThreshold }}
failureThreshold: {{ .failureThreshold }}
{{- toYaml . | nindent 10 }}
{{- end }}
volumeMounts:
{{- if .Values.config.watchedKeys }}
- name: "watched-keys"
mountPath: "/data/keys"
readOnly: true
{{- end }}
{{- with .Values.volumeMounts }}
{{- toYaml . | nindent 12 }}
{{- end }}
- name: config
mountPath: /config
serviceAccountName: {{ include "ethereum-validator-watcher.serviceAccountName" . }}
volumes:
{{- if .Values.config.watchedKeys }}
- name: "watched-keys"
configMap:
name: {{ include "ethereum-validator-watcher.fullname" . }}
{{- end }}
{{- with .Values.volumes }}
{{- with .Values.nodeSelector }}
nodeSelector:
{{- toYaml . | nindent 8 }}
{{- end }}
{{- with .Values.affinity }}
affinity:
{{- toYaml . | nindent 6 }}
{{- end }}
volumes:
- name: config
configMap:
name: {{ include "ethereum-validator-watcher.fullname" . }}-config
6 changes: 3 additions & 3 deletions charts/eth-validator-watcher/templates/podmonitor.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ metadata:
spec:
selector:
matchLabels:
{{- include "ethereum-validator-watcher.matchLabels" . | nindent 8 }}
{{- include "ethereum-validator-watcher.selectorLabels" . | nindent 8 }}
podMetricsEndpoints:
- port: metrics
{{- if .Values.podMonitor.interval }}
Expand All @@ -23,11 +23,11 @@ spec:
scheme: {{ .Values.podMonitor.scheme }}
{{- end }}
{{- if .Values.podMonitor.tlsConfig }}
tlsConfig:
tlsConfig:
{{- toYaml .Values.podMonitor.tlsConfig | nindent 6 }}
{{- end }}
{{- if .Values.podMonitor.relabelings }}
relabelings:
relabelings:
{{ toYaml .Values.podMonitor.relabelings | nindent 6 }}
{{- end }}
{{- end }}
Loading
Loading