Skip to content

Commit

Permalink
add readiness probe logic based on node type
Browse files Browse the repository at this point in the history
  • Loading branch information
aWN4Y25pa2EK committed Jun 27, 2024
1 parent 739b18d commit 0e8093a
Show file tree
Hide file tree
Showing 5 changed files with 86 additions and 7 deletions.
2 changes: 1 addition & 1 deletion charts/celestia-node/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -21,4 +21,4 @@ maintainers:
name: celestia-node
sources:
- https://github.com/celestiaorg/celestia-node
version: 0.1.1
version: 0.1.0
10 changes: 8 additions & 2 deletions charts/celestia-node/templates/statefulset.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -209,18 +209,24 @@ spec:
port: rpc
{{- end }}
{{- if .Values.node.customReadinessProbe }}
readinessProbe: {{- include "common.tplvalues.render" (dict "value" .Values.node.customReadinessProbe "context" $) | nindent 12 }}
readinessProbe: { { - include "common.tplvalues.render" (dict "value" .Values.node.customReadinessProbe "context" $) | nindent 12 } }
{{- else if .Values.node.readinessProbe.enabled }}
readinessProbe: {{- include "common.tplvalues.render" (dict "value" (omit .Values.node.readinessProbe "enabled") "context" $) | nindent 12 }}
{{- if or (eq .Values.node.nodeType "bridge") (eq .Values.node.nodeType "full") }}
readinessProbe:
exec:
command:
- sh
- '-c'
- >
AUTH_TOKEN=$(celestia bridge auth read --node.store=/home/celestia 2>/dev/null);
{{- if eq .Values.node.nodeType "bridge" }}
curl --max-time 0.5 -s -X POST -H "Content-type: application/json" -H "Accept: application/json" -H "Authorization: Bearer $AUTH_TOKEN" -d '{"id":1,"jsonrpc":"2.0","method":"header.SyncWait","params":[]}' "http://localhost:26658";
{{- else if eq .Values.node.nodeType "full" }}
curl --max-time 0.5 -s -X POST -H "Content-type: application/json" -H "Accept: application/json" -H "Authorization: Bearer $AUTH_TOKEN" -d '{"id":1,"jsonrpc":"2.0","method":"das.WaitCatchUp","params":[]}' "http://localhost:26658";
{{- end }}
if [ "$?" -eq 0 ]; then exit 0; else echo "Catching up"; exit 1; fi
{{- end }}
{{- end }}
{{- if .Values.node.customStartupProbe }}
startupProbe: {{- include "common.tplvalues.render" (dict "value" .Values.node.customStartupProbe "context" $) | nindent 12 }}
{{- else if .Values.node.startupProbe.enabled }}
Expand Down
8 changes: 7 additions & 1 deletion charts/celestia-node/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -74,6 +74,12 @@ diagnosticMode:
## %%MAIN_CONTAINER/POD_DESCRIPTION%%
##
node:
## Select from: bridge, full, light
## Valid values:
## - bridge
## - full
## - light:
nodeType: bridge
## Celestia celestia-node image
## ref: https://github.com/celestiaorg/celestia-node/pkgs/container/celestia-node/versions?filters%5Bversion_type%5D=tagged
## @param node.image.registry [default: REGISTRY_NAME] celestia-node image registry
Expand Down Expand Up @@ -368,7 +374,7 @@ node:
##
readinessProbe:
# -- enable readiness probe on node containers, false by default
enabled: false
enabled: true
# -- initial delay seconds for readinessProbe, 0 by default
initialDelaySeconds: 0
# -- period seconds for readinessProbe, 10 by default
Expand Down
66 changes: 66 additions & 0 deletions examples/celestia-node/arabica-bridge.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
commonLabels:
chain_id: arabica-11
environment: arabica
network: da
type: bridge # check
persistence:
size: 1000Gi
dataSource:
apiGroup: snapshot.storage.k8s.io
kind: VolumeSnapshot
name: da-latest
node:
type: bridge # check
persistentVolumeClaimRetentionPolicy:
whenDeleted: Delete
whenScaled: Retain
otelAgent:
enabled: true
grafanaOtelSecret:
name: grafana-otel-token
resources:
requests:
cpu: 3
memory: 15Gi
limits:
cpu: 6
memory: 24Gi
livenessProbe:
enabled: true
periodSeconds: 10
failureThreshold: 3
readinessProbe:
enabled: true
periodSeconds: 10
failureThreshold: 30
startupProbe:
enabled: true
periodSeconds: 10
failureThreshold: 60
args:
- bridge # check
- start
- --p2p.network=arabica-11
- --node.store=$(CELESTIA_HOME)
- --metrics
- --metrics.tls=false
- --p2p.metrics
settings:
address: "eyJhbGciOiJQQkVTMi1IUzI1NitBMTI4S1ciLCJjcmVhdGVkIjoiMjAyNC0wMS0wMiAxMjo1NzoyMC4yNjk1Mjg2NTQgKzAwMDAgVVRDIG09KzAuMDQwNDkyNDk0IiwiZW5jIjoiQTI1NkdDTSIsInAyYyI6ODE5MiwicDJzIjoibHBUb0pLUkFvS3NPbmRhaCJ9.SFen5RaM_7JverpZQN6VxtJ06XePE5VKjyzMyIPgqURSge-XbiLHqA.vZ4fuVFbrLODe8RM.EGKwO3uGEifnPanziF-AD4i6q_92IetSVAEz-7Grg75AJyFLV3Flt4CmfLxrJ2JHWJEKUQBNyIU81u7pd01iNzEECDy9b0jO3DYZ_5PRET8zrVPv6SKKZ_U7MLWmAe_eUajipnbqZ6NzG8UcG4qAt278ttZB1KQsKqocKlE39fSvo3iaZEzOKxS0N3tU1Xw2C3w6HgHJFk0QiP36NIHuKoP_4QJkeAomhJX-cNOYwvTd8qTFTk2-1TzLJ5DasLXsVXTUSUzCzYQhEfL8F0qFoGvuY1dWRD5BESw2Gg2oLH1w957Xd2UhRbo5ORz9POR7goEv9AZ_rWrjSV8HozUmgFwDQyM89M7oiNedEfGQoDjypzcUBcVkZLEMIdrFRpshjcpNEzy6-PZ9rSxouKb7wemG_sueX3V3gIPCTfFr6hB8_b2mV-kKeIXQRS5pJz_wXxeFHFKOHDjt3L8n5eqh.fy-zygX7rjTUqgX02sZKKg"
node_id: "92a499fc2ce7cabd2de89416aa0d0d07838f625d"
secret:
name: keys-da-bridge-1
config:
configtoml:
Core:
IP: consensus-validator-1
RPC:
Enabled: true
Address: 0.0.0.0
Gateway:
Enabled: true
Address: 0.0.0.0
Node:
StartupTimeout: 2m
diagnosticMode:
enabled: false
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,15 @@ commonLabels:
chain_id: arabica-11
environment: arabica
network: da
type: bridge
type: full # check
persistence:
size: 1000Gi
dataSource:
apiGroup: snapshot.storage.k8s.io
kind: VolumeSnapshot
name: da-latest
node:
type: full # check
persistentVolumeClaimRetentionPolicy:
whenDeleted: Delete
whenScaled: Retain
Expand Down Expand Up @@ -37,7 +38,7 @@ node:
periodSeconds: 10
failureThreshold: 60
args:
- bridge
- full # check
- start
- --p2p.network=arabica-11
- --node.store=$(CELESTIA_HOME)
Expand All @@ -52,7 +53,7 @@ node:
config:
configtoml:
Core:
IP: consensus-validator
IP: consensus-validator-1
RPC:
Enabled: true
Address: 0.0.0.0
Expand Down

0 comments on commit 0e8093a

Please sign in to comment.