diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index e15354b0c..2e3d8f2b2 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -203,7 +203,7 @@ jobs: - name: Set up Helm uses: azure/setup-helm@v1 with: - version: v3.5.3 + version: v3.8.1 - name: Lint Helm Charts run: helm lint charts/* diff --git a/charts/tezos/templates/_containers.tpl b/charts/tezos/templates/_containers.tpl index 31f4022d4..917d2ad9b 100644 --- a/charts/tezos/templates/_containers.tpl +++ b/charts/tezos/templates/_containers.tpl @@ -160,12 +160,14 @@ name: config-volume - mountPath: /var/tezos name: var-volume +{{- if not (eq $.node_vals.readiness_probe false) }} readinessProbe: httpGet: path: /is_synced port: 31732 {{- end }} {{- end }} +{{- end }} {{- define "tezos.container.tezedge" }} {{- if eq (include "tezos.getNodeImplementation" $) "tezedge" }} @@ -354,6 +356,7 @@ Also start endorser for protocols that need it. {{- end }} {{- define "tezos.container.sidecar" }} +{{- if not (eq $.node_vals.readiness_probe false) }} - command: - python args: @@ -364,6 +367,7 @@ Also start endorser for protocols that need it. imagePullPolicy: IfNotPresent name: sidecar {{- end }} +{{- end }} {{- define "tezos.container.zerotier" }} {{- if (include "tezos.doesZerotierConfigExist" .) }} diff --git a/charts/tezos/values.yaml b/charts/tezos/values.yaml index 4c791d21a..ee9d49ca3 100644 --- a/charts/tezos/values.yaml +++ b/charts/tezos/values.yaml @@ -93,6 +93,15 @@ accounts: {} ## automatically for you. ## - "node_selector": Specify a kubernetes node selector in 'key: value' format ## for your tezos nodes. +## - "readiness_probe": Attach a probe to the node. The probe checks whether +## the most recent block is recent enough. If not, the +## services will be unreachable. Defaults to True. +## True is good for RPC nodes, private nodes, and +## self-contained private chains. +## Recommended to set to False when bootstrapping a new +## chain with external bakers, such as a new test chain. +## Otherwise, the chain may become unreachable externally +## while waiting for other nodes to come online. ## - "instances": a list of nodes to fire up, each is a dictionary defining: ## - "bake_using_account": Account name that should be used for baking. ## - "bake_using_accounts": List of account names that should be used for baking.