Install
openclaw skills install deploydevnluDeploys the application to the SupplyWhy development EC2 server via SSH, updates image tag if provided, applies Kubernetes deployment, and verifies rollout s...
openclaw skills install deploydevnluDeploy the application to SupplyWhy via Slack natural language commands.
Execute the following steps in order. Verify each step succeeds before proceeding to the next.
Run the following command to add the SSH key:
ssh-add ~/.ssh/supplywhy-dev-key.pem
Verification: The command should output Identity added: ~/.ssh/supplywhy-dev-key.pem or similar. If you see "Could not open a connection to your authentication agent", the ssh-agent may not be running. If you see "No such file or directory", the key file is missing.
Stop and report to user if: The key cannot be added.
Before deploying, verify the SSH connection works:
ssh supplywhy-dev-master "echo 'SSH connection successful'"
Verification: Should output SSH connection successful. If you see connection timeout, permission denied, or host not found errors, the SSH connection is not working.
Stop and report to user if: SSH connection fails.
If an IMAGE_TAG argument was provided ($ARGUMENTS), update the deployment.yaml with the new tag:
ssh supplywhy-dev-master "sed -i 's|590183820143.dkr.ecr.us-west-2.amazonaws.com/genie:.*|590183820143.dkr.ecr.us-west-2.amazonaws.com/genie:$ARGUMENTS|' genie/deployment.yaml"
Verification: Run a quick check to confirm the tag was updated:
ssh supplywhy-dev-master "grep 'image:' genie/deployment.yaml"
The output should show the new tag you provided.
Skip this step if: No IMAGE_TAG argument was provided (deploy with existing tag).
Stop and report to user if: The sed command fails.
SSH into the EC2 server and run the kubectl deployment command:
ssh supplywhy-dev-master "cd genie && kubectl apply -f deployment.yaml"
Verification: The kubectl output should show resources being created, configured, or unchanged. Look for lines like:
deployment.apps/xxx configuredservice/xxx unchangedStop and report to user if:
error statusAfter applying, check that the deployment is rolling out successfully:
ssh supplywhy-dev-master "kubectl rollout status deployment -n default --timeout=60s"
Verification: Should show successfully rolled out for deployments. If it times out or shows errors, the deployment may have issues.
Report to user: The final status of all deployments, whether successful or failed.
The deployment is successful when:
If the deployment fails at any step:
~/.ssh/supplywhy-dev-key.pem and has correct permissions (600)deployment.yaml exists in the genie folder on the serverkubectl logs or describe the deployment with kubectl describe deployment