iuna

iuna

iuna - experimental mainnet-candidate protocol
git clone https://getiuna.org/git/iuna.git
Log | Files | Refs | README | LICENSE

commit 7af67de5d570d571631e08b6c904a1716a08e57c
parent b3a9d166cfb2e8037e597246ff4cb980d71734e6
Author: Joris Hartog <jorishartog@hotmail.com>
Date:   Tue, 25 Aug 2026 20:00:13 +0200

Harden genesis deployment rollout

Diffstat:
Mconfig/deployment.yml | 8++++++++
Mdeployment.sh | 22+++++++++++++++-------
2 files changed, 23 insertions(+), 7 deletions(-)

diff --git a/config/deployment.yml b/config/deployment.yml @@ -153,6 +153,7 @@ metadata: namespace: iuna spec: replicas: 1 + minReadySeconds: 3 strategy: type: Recreate rollingUpdate: null @@ -183,6 +184,13 @@ ${IUNA_NODE_GENESIS_ARG} containerPort: 18661 - name: p2p containerPort: 9444 + readinessProbe: + tcpSocket: + port: management + initialDelaySeconds: 1 + periodSeconds: 2 + timeoutSeconds: 1 + failureThreshold: 30 volumeMounts: - name: data mountPath: /data diff --git a/deployment.sh b/deployment.sh @@ -448,7 +448,15 @@ deploy_docker_image() { render_manifest "$www_image" "$node_image" "$node_pvc" "$genesis" "${tmp_folder}/deployment.yml" if [ "$genesis" = "true" ]; then - echo "Bestaande node en PVC ${node_pvc} worden verwijderd" + echo "WARNING: the existing chain is about to be permanently deleted." + echo "Kubernetes context: ${kubectl_context}" + echo "Namespace: iuna" + echo "PVC: ${node_pvc}" + if ! confirm "Are you absolutely sure? (Y/N) "; then + echo "Deployment aborted; the existing node and PVC were not deleted" + exit 1 + fi + echo "Deleting the existing node and PVC ${node_pvc}" kubectl --context "$kubectl_context" -n iuna delete deployment node --ignore-not-found --wait=true kubectl --context "$kubectl_context" -n iuna delete pvc "$node_pvc" --ignore-not-found --wait=true fi @@ -465,7 +473,7 @@ deploy_docker_image() { kubectl --context "$kubectl_context" -n iuna rollout status deployment/node if [ "$genesis" = "true" ]; then - echo "Genesis is gestart; --genesis wordt nu verwijderd voor volgende pod-starts" + echo "Genesis started successfully; removing --genesis for subsequent pod starts" render_manifest "$www_image" "$node_image" "$node_pvc" false "${tmp_folder}/deployment.yml" kubectl --context "$kubectl_context" apply -f "${tmp_folder}/deployment.yml" kubectl --context "$kubectl_context" -n iuna rollout status deployment/node @@ -499,11 +507,11 @@ main() { ensure_clean_worktree if [ "$genesis" = "true" ]; then - echo "LET OP: dit start een nieuwe chain met --genesis en een nieuwe PVC." - echo "De bestaande chain in PVC local-path-db-pvc wordt DEFINITIEF VERWIJDERD." - echo "Daarna wordt een lege PVC met dezelfde permanente naam aangemaakt." - if ! confirm "Weet je het zeker? (Y/N) "; then - echo "Deployment afgebroken" + echo "WARNING: this starts a new chain with --genesis and a fresh PVC." + echo "The existing chain in PVC local-path-db-pvc will be PERMANENTLY DELETED." + echo "An empty PVC will then be created with the same permanent name." + if ! confirm "Are you sure? (Y/N) "; then + echo "Deployment aborted" exit 1 fi fi