diff --git a/.github/workflows/modules/deploy/staging-deploy.yml b/.github/workflows/modules/deploy/staging-deploy.yml deleted file mode 100644 index b17abe311..000000000 --- a/.github/workflows/modules/deploy/staging-deploy.yml +++ /dev/null @@ -1,211 +0,0 @@ -name: Deploy Staging - -on: - - workflow_dispatch: - inputs: - terms1: - description: "I acknowledge that running this workflow will make changes to the state of our EKS environments..." - type: boolean - required: true - terms2: - description: "I understand that an updated chain-spec from the same CI Run as the Substrate image must be provided if Substrate PVCs are being wiped" - type: boolean - required: true - terms3: - description: "I have made the Team aware that this deployment is about to occur" - type: boolean - required: true - substrate-node-image: - description: "Substrate Node ECR Image (Leave blank to use value from master)" - required: false - chain-spec-secret-name: - description: "Chain Spec Secret Name (Leave blank to use value from master, or if 'Wipe Substrate PVCs' is not selected)" - required: false - wipe: - description: "Wipe Substrate PVCs?" - type: boolean - required: true - rolling: - description: "Rolling Upgrade without deleting pods or PVCs?" - type: boolean - required: true - -jobs: - deploy: - runs-on: [self-hosted, eks] - permissions: - id-token: write - contents: write - steps: - - name: Validate Terms and Conditions - run: | - echo "Validating terms and conditions..." - if [[ "${{ github.event.inputs.terms1 }}" != 'true' || "${{ github.event.inputs.terms2 }}" != 'true' || "${{ github.event.inputs.terms3 }}" != 'true' ]]; then - echo "Please read and accept all Terms before running the deployment. Exiting..." - exit 1 - fi - echo "All terms and conditions accepted." - - - name: Confirm Inputs and Evaluate Conditions - id: evaluate-conditions - run: | - echo "Confirming inputs..." - echo - echo "substrate-node-image: ${{ github.event.inputs.substrate-node-image }}" - echo "chain-spec-secret-name: ${{ github.event.inputs.chain-spec-secret-name }}" - echo "wipe: ${{ github.event.inputs.wipe }}" - echo "rolling: ${{ github.event.inputs.rolling }}" - echo "Evaluating Deployment Type..." - - if [[ "${{ github.event.inputs.wipe }}" == 'true' ]]; then - echo "wipe=true" >> $GITHUB_ENV - else - echo "wipe=false" >> $GITHUB_ENV - fi - - if [[ "${{ github.event.inputs.rolling }}" == 'true' ]]; then - echo "rolling=true" >> $GITHUB_ENV - else - echo "rolling=false" >> $GITHUB_ENV - fi - - if [[ "${{ github.event.inputs.wipe }}" == 'true' && "${{ github.event.inputs.chain-spec-secret-name }}" != '' && "${{ github.event.inputs.substrate-node-image }}" != '' ]]; then - echo "deployment_type=1" >> $GITHUB_ENV - echo "Step: Deploy with chain-spec and image override will be run" - elif [[ "${{ github.event.inputs.wipe }}" == 'false' && "${{ github.event.inputs.substrate-node-image }}" != '' ]]; then - echo "deployment_type=2" >> $GITHUB_ENV - echo "Step: Deploy with image override will be run" - elif [[ "${{ github.event.inputs.substrate-node-image }}" == '' ]]; then - echo "deployment_type=3" >> $GITHUB_ENV - echo "Step: Deploy from master with no value overrides will be run" - else - echo "No matching condition for deployment" - exit 1 - fi - - - name: Checkout sidechains-infra-priv repo - uses: actions/checkout@v4 - with: - repository: input-output-hk/sidechains-infra-priv - token: ${{ secrets.ACTIONS_PAT }} - path: sidechains-infra-priv - - - name: Install kubectl, kubernetes-helm and awscli - run: | - curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl" - chmod +x ./kubectl - sudo mv ./kubectl /usr/local/bin/kubectl - curl https://baltocdn.com/helm/signing.asc | gpg --dearmor | sudo tee /usr/share/keyrings/helm.gpg > /dev/null - sudo apt-get install apt-transport-https --yes - echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/helm.gpg] https://baltocdn.com/helm/stable/debian/ all main" | sudo tee /etc/apt/sources.list.d/helm-stable-debian.list - sudo apt-get update - sudo apt-get install helm - - - name: Configure kubectl - run: | - echo "${{ secrets.kubeconfig_base64 }}" | base64 --decode > ${{ runner.temp }}/kubeconfig.yaml - kubectl config set-cluster my-cluster --server=${{ secrets.K8S_SERVER }} --insecure-skip-tls-verify=true - kubectl config set-credentials github-actions --token=${{ secrets.K8S_SA_TOKEN }} - kubectl config set-context my-context --cluster=my-cluster --user=github-actions --namespace=default - kubectl config use-context my-context - - - name: Delete pods - if: env.rolling != 'true' - continue-on-error: true - run: | - kubectl delete pod validator-1 -n staging || true - kubectl delete pod validator-2 -n staging || true - kubectl delete pod validator-3 -n staging || true - kubectl delete pod validator-4 -n staging || true - kubectl delete pod validator-5 -n staging || true - kubectl delete pod validator-6 -n staging || true - kubectl delete pod validator-7 -n staging || true - echo "Waiting for pods to delete..." - kubectl wait --for=delete pod/validator-1 pod/validator-2 pod/validator-3 pod/validator-4 pod/validator-5 pod/validator-6 pod/validator-7 -n staging --timeout=120s || true - - - name: Delete substrate PVCs - if: env.wipe == 'true' && github.event.inputs.rolling != 'true' - continue-on-error: true - run: | - kubectl delete pvc validator-1-claim-substrate-node-data -n staging - kubectl delete pvc validator-2-claim-substrate-node-data -n staging - kubectl delete pvc validator-3-claim-substrate-node-data -n staging - kubectl delete pvc validator-4-claim-substrate-node-data -n staging - kubectl delete pvc validator-5-claim-substrate-node-data -n staging - kubectl delete pvc validator-6-claim-substrate-node-data -n staging - kubectl delete pvc validator-7-claim-substrate-node-data -n staging - echo "Waiting for PVCs to delete..." - kubectl wait --for=delete pvc/validator-1-claim-substrate-node-data pvc/validator-2-claim-substrate-node-data pvc/validator-3-claim-substrate-node-data pvc/validator-4-claim-substrate-node-data pvc/validator-5-claim-substrate-node-data pvc/validator-6-claim-substrate-node-data pvc/validator-7-claim-substrate-node-data -n staging --timeout=120s - - - name: Deploy with chain-spec and image override - if: env.deployment_type == 1 - run: | - cd sidechains-infra-priv/src/kube/substrate-poc/environments/helm/substrate-node-stack-chart/ - helm upgrade --install validator-1 . -f values/chains/staging.yaml -f values/nodes/staging/validator/validator-1 --set images.substrateNode="${{ github.event.inputs.substrate-node-image }}" --set chain.chainspec_secretName="${{ github.event.inputs.chain-spec-secret-name }}" - helm upgrade --install validator-2 . -f values/chains/staging.yaml -f values/nodes/staging/validator/validator-2 --set images.substrateNode="${{ github.event.inputs.substrate-node-image }}" --set chain.chainspec_secretName="${{ github.event.inputs.chain-spec-secret-name }}" - helm upgrade --install validator-3 . -f values/chains/staging.yaml -f values/nodes/staging/validator/validator-3 --set images.substrateNode="${{ github.event.inputs.substrate-node-image }}" --set chain.chainspec_secretName="${{ github.event.inputs.chain-spec-secret-name }}" - helm upgrade --install validator-4 . -f values/chains/staging.yaml -f values/nodes/staging/validator/validator-4 --set images.substrateNode="${{ github.event.inputs.substrate-node-image }}" --set chain.chainspec_secretName="${{ github.event.inputs.chain-spec-secret-name }}" - helm upgrade --install validator-5 . -f values/chains/staging.yaml -f values/nodes/staging/validator/validator-5 --set images.substrateNode="${{ github.event.inputs.substrate-node-image }}" --set chain.chainspec_secretName="${{ github.event.inputs.chain-spec-secret-name }}" - helm upgrade --install validator-6 . -f values/chains/staging.yaml -f values/nodes/staging/validator/validator-6 --set images.substrateNode="${{ github.event.inputs.substrate-node-image }}" --set chain.chainspec_secretName="${{ github.event.inputs.chain-spec-secret-name }}" - helm upgrade --install validator-7 . -f values/chains/staging.yaml -f values/nodes/staging/validator/validator-7 --set images.substrateNode="${{ github.event.inputs.substrate-node-image }}" --set chain.chainspec_secretName="${{ github.event.inputs.chain-spec-secret-name }}" - - - name: Deploy with image override - if: env.deployment_type == 2 - run: | - cd sidechains-infra-priv/src/kube/substrate-poc/environments/helm/substrate-node-stack-chart/ - helm upgrade --install validator-1 . -f values/chains/staging.yaml -f values/nodes/staging/validator/validator-1 --set images.substrateNode="${{ github.event.inputs.substrate-node-image }}" - helm upgrade --install validator-2 . -f values/chains/staging.yaml -f values/nodes/staging/validator/validator-2 --set images.substrateNode="${{ github.event.inputs.substrate-node-image }}" - helm upgrade --install validator-3 . -f values/chains/staging.yaml -f values/nodes/staging/validator/validator-3 --set images.substrateNode="${{ github.event.inputs.substrate-node-image }}" - helm upgrade --install validator-4 . -f values/chains/staging.yaml -f values/nodes/staging/validator/validator-4 --set images.substrateNode="${{ github.event.inputs.substrate-node-image }}" - helm upgrade --install validator-5 . -f values/chains/staging.yaml -f values/nodes/staging/validator/validator-5 --set images.substrateNode="${{ github.event.inputs.substrate-node-image }}" - helm upgrade --install validator-6 . -f values/chains/staging.yaml -f values/nodes/staging/validator/validator-6 --set images.substrateNode="${{ github.event.inputs.substrate-node-image }}" - helm upgrade --install validator-7 . -f values/chains/staging.yaml -f values/nodes/staging/validator/validator-7 --set images.substrateNode="${{ github.event.inputs.substrate-node-image }}" - - - name: Deploy from master with no value overrides - if: env.deployment_type == 3 - run: | - cd sidechains-infra-priv/src/kube/substrate-poc/environments/helm/substrate-node-stack-chart/ - helm upgrade --install validator-1 . -f values/chains/staging.yaml -f values/nodes/staging/validator/validator-1 - helm upgrade --install validator-2 . -f values/chains/staging.yaml -f values/nodes/staging/validator/validator-2 - helm upgrade --install validator-3 . -f values/chains/staging.yaml -f values/nodes/staging/validator/validator-3 - helm upgrade --install validator-4 . -f values/chains/staging.yaml -f values/nodes/staging/validator/validator-4 - helm upgrade --install validator-5 . -f values/chains/staging.yaml -f values/nodes/staging/validator/validator-5 - helm upgrade --install validator-6 . -f values/chains/staging.yaml -f values/nodes/staging/validator/validator-6 - helm upgrade --install validator-7 . -f values/chains/staging.yaml -f values/nodes/staging/validator/validator-7 - - - name: Wait - run: | - echo "Waiting for validator-1..." - kubectl wait --for=condition=ready pod validator-1 -n staging --timeout=300s - echo "Waiting for validator-2..." - kubectl wait --for=condition=ready pod validator-2 -n staging --timeout=300s - echo "Waiting for validator-3..." - kubectl wait --for=condition=ready pod validator-3 -n staging --timeout=300s - echo "Waiting for validator-4..." - kubectl wait --for=condition=ready pod validator-4 -n staging --timeout=300s - echo "Waiting for validator-5..." - kubectl wait --for=condition=ready pod validator-5 -n staging --timeout=300s - echo "Waiting for validator-6..." - kubectl wait --for=condition=ready pod validator-6 -n staging --timeout=300s - echo "Waiting for validator-7..." - kubectl wait --for=condition=ready pod validator-7 -n staging --timeout=300s - - - name: Validate - run: | - echo "Checking validator-1..." - kubectl get pod validator-1 -n staging -o jsonpath="{.status.containerStatuses[*].ready}" - echo "Checking validator-2..." - kubectl get pod validator-2 -n staging -o jsonpath="{.status.containerStatuses[*].ready}" - echo "Checking validator-3..." - kubectl get pod validator-3 -n staging -o jsonpath="{.status.containerStatuses[*].ready}" - echo "Checking validator-4..." - kubectl get pod validator-4 -n staging -o jsonpath="{.status.containerStatuses[*].ready}" - echo "Checking validator-5..." - kubectl get pod validator-5 -n staging -o jsonpath="{.status.containerStatuses[*].ready}" - echo "Checking validator-6..." - kubectl get pod validator-6 -n staging -o jsonpath="{.status.containerStatuses[*].ready}" - echo "Checking validator-7..." - kubectl get pod validator-7 -n staging -o jsonpath="{.status.containerStatuses[*].ready}" - kubectl get pods -n sc -o custom-columns='NAME:.metadata.name,READY:.status.containerStatuses[*].ready' | grep -E '^(validator-1|validator-2|validator-3|validator-4|validator-5|validator-6|validator-7)' | awk '{if ($2 != "true,true,true,true") exit 1}' - echo "All pods are 4/4 up and ready" diff --git a/.github/workflows/modules/deploy/staging-preprod-deploy.yml b/.github/workflows/modules/deploy/staging-preprod-deploy.yml index eac0d8191..ccae675b5 100644 --- a/.github/workflows/modules/deploy/staging-preprod-deploy.yml +++ b/.github/workflows/modules/deploy/staging-preprod-deploy.yml @@ -1,4 +1,4 @@ -name: Deploy Staging +name: Deploy staging-preprod on: @@ -16,7 +16,7 @@ env: SSH_AUTH_SOCK: /tmp/ssh_agent.sock jobs: - deploy-staging-preview: + deploy-staging-preprod: runs-on: [self-hosted, eks] permissions: id-token: write @@ -62,51 +62,51 @@ jobs: - name: Delete pods continue-on-error: true run: | - kubectl delete pod validator-1 -n staging-preprod || true - kubectl delete pod validator-2 -n staging-preprod || true - kubectl delete pod validator-3 -n staging-preprod || true - kubectl delete pod validator-4 -n staging-preprod || true + kubectl delete pod staging-preprod-validator-1 -n staging-preprod || true + kubectl delete pod staging-preprod-validator-2 -n staging-preprod || true + kubectl delete pod staging-preprod-validator-3 -n staging-preprod || true + kubectl delete pod staging-preprod-validator-4 -n staging-preprod || true echo "Waiting for pods to delete..." - kubectl wait --for=delete pod/validator-1 pod/validator-2 pod/validator-3 pod/validator-4 -n staging-preprod --timeout=120s || true + kubectl wait --for=delete pod/staging-preprod-validator-1 pod/staging-preprod-validator-2 pod/staging-preprod-validator-3 pod/staging-preprod-validator-4 -n staging-preprod --timeout=120s || true - name: Delete substrate PVCs continue-on-error: true run: | - kubectl delete pvc validator-1-claim-substrate-node-data -n staging-preprod - kubectl delete pvc validator-2-claim-substrate-node-data -n staging-preprod - kubectl delete pvc validator-3-claim-substrate-node-data -n staging-preprod - kubectl delete pvc validator-4-claim-substrate-node-data -n staging-preprod + kubectl delete pvc staging-preprod-validator-1-claim-substrate-node-data -n staging-preprod + kubectl delete pvc staging-preprod-validator-2-claim-substrate-node-data -n staging-preprod + kubectl delete pvc staging-preprod-validator-3-claim-substrate-node-data -n staging-preprod + kubectl delete pvc staging-preprod-validator-4-claim-substrate-node-data -n staging-preprod echo "Waiting for PVCs to delete..." - kubectl wait --for=delete pvc/validator-1-claim-substrate-node-data pvc/validator-2-claim-substrate-node-data pvc/validator-3-claim-substrate-node-data pvc/validator-4-claim-substrate-node-data -n staging-preprod --timeout=120s + kubectl wait --for=delete pvc/staging-preprod-validator-1-claim-substrate-node-data pvc/staging-preprod-validator-2-claim-substrate-node-data pvc/staging-preprod-validator-3-claim-substrate-node-data pvc/staging-preprod-validator-4-claim-substrate-node-data -n staging-preprod --timeout=120s - name: Deploy with chain-spec and image override run: | cd sidechains-infra-priv/src/kube/substrate-poc/environments/helm/substrate-node-stack-chart/ - helm upgrade --install validator-1 . -f values/chains/staging-preprod.yaml -f values/nodes/staging/validator/validator-1 --set images.substrateNode="${{ inputs.image }}" --set chain.chainspec_secretName="${{ inputs.chain-spec-secret }}" - helm upgrade --install validator-2 . -f values/chains/staging-preprod.yaml -f values/nodes/staging/validator/validator-2 --set images.substrateNode="${{ inputs.image }}" --set chain.chainspec_secretName="${{ inputs.chain-spec-secret }}" - helm upgrade --install validator-3 . -f values/chains/staging-preprod.yaml -f values/nodes/staging/validator/validator-3 --set images.substrateNode="${{ inputs.image }}" --set chain.chainspec_secretName="${{ inputs.chain-spec-secret }}" - helm upgrade --install validator-4 . -f values/chains/staging-preprod.yaml -f values/nodes/staging/validator/validator-4 --set images.substrateNode="${{ inputs.image }}" --set chain.chainspec_secretName="${{ inputs.chain-spec-secret }}" + helm upgrade --install staging-preprod-validator-1 . -f values/chains/staging-preprod.yaml -f values/nodes/staging-preprod/validator/staging-preprod-validator-1 --set images.substrateNode="${{ inputs.image }}" --set chain.chainspec_secretName="${{ inputs.chain-spec-secret }}" + helm upgrade --install staging-preprod-validator-2 . -f values/chains/staging-preprod.yaml -f values/nodes/staging-preprod/validator/staging-preprod-validator-2 --set images.substrateNode="${{ inputs.image }}" --set chain.chainspec_secretName="${{ inputs.chain-spec-secret }}" + helm upgrade --install staging-preprod-validator-3 . -f values/chains/staging-preprod.yaml -f values/nodes/staging-preprod/validator/staging-preprod-validator-3 --set images.substrateNode="${{ inputs.image }}" --set chain.chainspec_secretName="${{ inputs.chain-spec-secret }}" + helm upgrade --install staging-preprod-validator-4 . -f values/chains/staging-preprod.yaml -f values/nodes/staging-preprod/validator/staging-preprod-validator-4 --set images.substrateNode="${{ inputs.image }}" --set chain.chainspec_secretName="${{ inputs.chain-spec-secret }}" - name: Wait run: | - echo "Waiting for validator-1..." - kubectl wait --for=condition=ready pod validator-1 -n staging-preprod --timeout=300s - echo "Waiting for validator-2..." - kubectl wait --for=condition=ready pod validator-2 -n staging-preprod --timeout=300s - echo "Waiting for validator-3..." - kubectl wait --for=condition=ready pod validator-3 -n staging-preprod --timeout=300s - echo "Waiting for validator-4..." - kubectl wait --for=condition=ready pod validator-4 -n staging-preprod --timeout=300s + echo "Waiting for staging-preprod-validator-1..." + kubectl wait --for=condition=ready pod staging-preprod-validator-1 -n staging-preprod --timeout=300s + echo "Waiting for staging-preprod-validator-2..." + kubectl wait --for=condition=ready pod staging-preprod-validator-2 -n staging-preprod --timeout=300s + echo "Waiting for staging-preprod-validator-3..." + kubectl wait --for=condition=ready pod staging-preprod-validator-3 -n staging-preprod --timeout=300s + echo "Waiting for staging-preprod-validator-4..." + kubectl wait --for=condition=ready pod staging-preprod-validator-4 -n staging-preprod --timeout=300s - name: Validate run: | - echo "Checking validator-1..." - kubectl get pod validator-1 -n staging-preprod -o jsonpath="{.status.containerStatuses[*].ready}" - echo "Checking validator-2..." - kubectl get pod validator-2 -n staging-preprod -o jsonpath="{.status.containerStatuses[*].ready}" - echo "Checking validator-3..." - kubectl get pod validator-3 -n staging-preprod -o jsonpath="{.status.containerStatuses[*].ready}" - echo "Checking validator-4..." - kubectl get pod validator-4 -n staging-preprod -o jsonpath="{.status.containerStatuses[*].ready}" - kubectl get pods -n sc -o custom-columns='NAME:.metadata.name,READY:.status.containerStatuses[*].ready' | grep -E '^(validator-1|validator-2|validator-3|validator-4)' | awk '{if ($2 != "true,true,true,true") exit 1}' + echo "Checking staging-preprod-validator-1..." + kubectl get pod staging-preprod-validator-1 -n staging-preprod -o jsonpath="{.status.containerStatuses[*].ready}" + echo "Checking staging-preprod-validator-2..." + kubectl get pod staging-preprod-validator-2 -n staging-preprod -o jsonpath="{.status.containerStatuses[*].ready}" + echo "Checking staging-preprod-validator-3..." + kubectl get pod staging-preprod-validator-3 -n staging-preprod -o jsonpath="{.status.containerStatuses[*].ready}" + echo "Checking staging-preprod-validator-4..." + kubectl get pod staging-preprod-validator-4 -n staging-preprod -o jsonpath="{.status.containerStatuses[*].ready}" + kubectl get pods -n sc -o custom-columns='NAME:.metadata.name,READY:.status.containerStatuses[*].ready' | grep -E '^(staging-preprod-validator-1|staging-preprod-validator-2|staging-preprod-validator-3|staging-preprod-validator-4)' | awk '{if ($2 != "true,true,true,true") exit 1}' echo "All pods are 4/4 up and ready" \ No newline at end of file diff --git a/.github/workflows/modules/deploy/staging-preview-deploy.yml b/.github/workflows/modules/deploy/staging-preview-deploy.yml index 80fc89085..0d1ca8b31 100644 --- a/.github/workflows/modules/deploy/staging-preview-deploy.yml +++ b/.github/workflows/modules/deploy/staging-preview-deploy.yml @@ -1,4 +1,4 @@ -name: Deploy Staging +name: Deploy staging-preview on: @@ -62,51 +62,51 @@ jobs: - name: Delete pods continue-on-error: true run: | - kubectl delete pod validator-1 -n staging-preview || true - kubectl delete pod validator-2 -n staging-preview || true - kubectl delete pod validator-3 -n staging-preview || true - kubectl delete pod validator-4 -n staging-preview || true + kubectl delete pod staging-preview-validator-1 -n staging-preview || true + kubectl delete pod staging-preview-validator-2 -n staging-preview || true + kubectl delete pod staging-preview-validator-3 -n staging-preview || true + kubectl delete pod staging-preview-validator-4 -n staging-preview || true echo "Waiting for pods to delete..." - kubectl wait --for=delete pod/validator-1 pod/validator-2 pod/validator-3 pod/validator-4 -n staging-preview --timeout=120s || true + kubectl wait --for=delete pod/staging-preview-validator-1 pod/staging-preview-validator-2 pod/staging-preview-validator-3 pod/staging-preview-validator-4 -n staging-preview --timeout=120s || true - name: Delete substrate PVCs continue-on-error: true run: | - kubectl delete pvc validator-1-claim-substrate-node-data -n staging-preview - kubectl delete pvc validator-2-claim-substrate-node-data -n staging-preview - kubectl delete pvc validator-3-claim-substrate-node-data -n staging-preview - kubectl delete pvc validator-4-claim-substrate-node-data -n staging-preview + kubectl delete pvc staging-preview-validator-1-claim-substrate-node-data -n staging-preview + kubectl delete pvc staging-preview-validator-2-claim-substrate-node-data -n staging-preview + kubectl delete pvc staging-preview-validator-3-claim-substrate-node-data -n staging-preview + kubectl delete pvc staging-preview-validator-4-claim-substrate-node-data -n staging-preview echo "Waiting for PVCs to delete..." - kubectl wait --for=delete pvc/validator-1-claim-substrate-node-data pvc/validator-2-claim-substrate-node-data pvc/validator-3-claim-substrate-node-data pvc/validator-4-claim-substrate-node-data -n staging-preview --timeout=120s + kubectl wait --for=delete pvc/staging-preview-validator-1-claim-substrate-node-data pvc/staging-preview-validator-2-claim-substrate-node-data pvc/staging-preview-validator-3-claim-substrate-node-data pvc/staging-preview-validator-4-claim-substrate-node-data -n staging-preview --timeout=120s - name: Deploy with chain-spec and image override run: | cd sidechains-infra-priv/src/kube/substrate-poc/environments/helm/substrate-node-stack-chart/ - helm upgrade --install validator-1 . -f values/chains/staging-preview.yaml -f values/nodes/staging/validator/validator-1 --set images.substrateNode="${{ inputs.image }}" --set chain.chainspec_secretName="${{ inputs.chain-spec-secret }}" - helm upgrade --install validator-2 . -f values/chains/staging-preview.yaml -f values/nodes/staging/validator/validator-2 --set images.substrateNode="${{ inputs.image }}" --set chain.chainspec_secretName="${{ inputs.chain-spec-secret }}" - helm upgrade --install validator-3 . -f values/chains/staging-preview.yaml -f values/nodes/staging/validator/validator-3 --set images.substrateNode="${{ inputs.image }}" --set chain.chainspec_secretName="${{ inputs.chain-spec-secret }}" - helm upgrade --install validator-4 . -f values/chains/staging-preview.yaml -f values/nodes/staging/validator/validator-4 --set images.substrateNode="${{ inputs.image }}" --set chain.chainspec_secretName="${{ inputs.chain-spec-secret }}" + helm upgrade --install staging-preview-validator-1 . -f values/chains/staging-preview.yaml -f values/nodes/staging-preview/validator/staging-preview-validator-1 --set images.substrateNode="${{ inputs.image }}" --set chain.chainspec_secretName="${{ inputs.chain-spec-secret }}" + helm upgrade --install staging-preview-validator-2 . -f values/chains/staging-preview.yaml -f values/nodes/staging-preview/validator/staging-preview-validator-2 --set images.substrateNode="${{ inputs.image }}" --set chain.chainspec_secretName="${{ inputs.chain-spec-secret }}" + helm upgrade --install staging-preview-validator-3 . -f values/chains/staging-preview.yaml -f values/nodes/staging-preview/validator/staging-preview-validator-3 --set images.substrateNode="${{ inputs.image }}" --set chain.chainspec_secretName="${{ inputs.chain-spec-secret }}" + helm upgrade --install staging-preview-validator-4 . -f values/chains/staging-preview.yaml -f values/nodes/staging-preview/validator/staging-preview-validator-4 --set images.substrateNode="${{ inputs.image }}" --set chain.chainspec_secretName="${{ inputs.chain-spec-secret }}" - name: Wait run: | - echo "Waiting for validator-1..." - kubectl wait --for=condition=ready pod validator-1 -n staging-preview --timeout=300s - echo "Waiting for validator-2..." - kubectl wait --for=condition=ready pod validator-2 -n staging-preview --timeout=300s - echo "Waiting for validator-3..." - kubectl wait --for=condition=ready pod validator-3 -n staging-preview --timeout=300s - echo "Waiting for validator-4..." - kubectl wait --for=condition=ready pod validator-4 -n staging-preview --timeout=300s + echo "Waiting for staging-preview-validator-1..." + kubectl wait --for=condition=ready pod staging-preview-validator-1 -n staging-preview --timeout=300s + echo "Waiting for staging-preview-validator-2..." + kubectl wait --for=condition=ready pod staging-preview-validator-2 -n staging-preview --timeout=300s + echo "Waiting for staging-preview-validator-3..." + kubectl wait --for=condition=ready pod staging-preview-validator-3 -n staging-preview --timeout=300s + echo "Waiting for staging-preview-validator-4..." + kubectl wait --for=condition=ready pod staging-preview-validator-4 -n staging-preview --timeout=300s - name: Validate run: | - echo "Checking validator-1..." - kubectl get pod validator-1 -n staging-preview -o jsonpath="{.status.containerStatuses[*].ready}" - echo "Checking validator-2..." - kubectl get pod validator-2 -n staging-preview -o jsonpath="{.status.containerStatuses[*].ready}" - echo "Checking validator-3..." - kubectl get pod validator-3 -n staging-preview -o jsonpath="{.status.containerStatuses[*].ready}" - echo "Checking validator-4..." - kubectl get pod validator-4 -n staging-preview -o jsonpath="{.status.containerStatuses[*].ready}" - kubectl get pods -n sc -o custom-columns='NAME:.metadata.name,READY:.status.containerStatuses[*].ready' | grep -E '^(validator-1|validator-2|validator-3|validator-4)' | awk '{if ($2 != "true,true,true,true") exit 1}' + echo "Checking staging-preview-validator-1..." + kubectl get pod staging-preview-validator-1 -n staging-preview -o jsonpath="{.status.containerStatuses[*].ready}" + echo "Checking staging-preview-validator-2..." + kubectl get pod staging-preview-validator-2 -n staging-preview -o jsonpath="{.status.containerStatuses[*].ready}" + echo "Checking staging-preview-validator-3..." + kubectl get pod staging-preview-validator-3 -n staging-preview -o jsonpath="{.status.containerStatuses[*].ready}" + echo "Checking staging-preview-validator-4..." + kubectl get pod staging-preview-validator-4 -n staging-preview -o jsonpath="{.status.containerStatuses[*].ready}" + kubectl get pods -n sc -o custom-columns='NAME:.metadata.name,READY:.status.containerStatuses[*].ready' | grep -E '^(staging-preview-validator-1|staging-preview-validator-2|staging-preview-validator-3|staging-preview-validator-4)' | awk '{if ($2 != "true,true,true,true") exit 1}' echo "All pods are 4/4 up and ready" \ No newline at end of file