✓ Verified 💻 Development ✓ Enhanced Data

Deploydevnlu

Deploy the application to SupplyWhy via Slack natural language commands.

Rating
4.2 (343 reviews)
Downloads
3,788 downloads
Version
1.0.0

Overview

Deploy the application to SupplyWhy via Slack natural language commands.

Key Features

1

Add SSH Key to Agent

2

Test SSH Connection

3

Update Image Tag

4

Deploy via kubectl

5

Verify Deployment Status

Complete Documentation

View Source →

DeployDevNLU

Deploy the application to SupplyWhy via Slack natural language commands.

Instructions

Execute the following steps in order. Verify each step succeeds before proceeding to the next.

Step 1: Add SSH Key to Agent

Run the following command to add the SSH key:

bash
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.

Step 2: Test SSH Connection

Before deploying, verify the SSH connection works:

bash
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.

Step 3: Update Image Tag

If an IMAGE_TAG argument was provided ($ARGUMENTS), update the deployment.yaml with the new tag:

bash
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:

bash
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.

Step 4: Deploy via kubectl

SSH into the EC2 server and run the kubectl deployment command:

bash
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 configured
  • service/xxx unchanged
Stop and report to user if:
  • kubectl returns errors (e.g., "error: the path does not exist", "connection refused")
  • Any resource shows error status

Step 5: Verify Deployment Status

After applying, check that the deployment is rolling out successfully:

bash
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.

Success Criteria

The deployment is successful when:

  • SSH key was added successfully
  • SSH connection to server works
  • Image tag was updated (if argument provided)
  • kubectl apply completed without errors
  • Deployment rollout status shows success

Troubleshooting

If the deployment fails at any step:

  • SSH key issues: Verify the key exists at ~/.ssh/supplywhy-dev-key.pem and has correct permissions (600)
  • SSH connection issues: Check network access and that your IP is allowed in security groups
  • kubectl apply errors: Verify deployment.yaml exists in the genie folder on the server
  • Rollout failures: Check pod logs with kubectl logs or describe the deployment with kubectl describe deployment

Installation

Terminal bash

openclaw install deploydevnlu
    
Copied!

💻Code Examples

ssh-add ~/.ssh/supplywhy-dev-key.pem

ssh-add-sshsupplywhy-dev-keypem.txt
**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.

### Step 2: Test SSH Connection

Before deploying, verify the SSH connection works:

ssh supplywhy-dev-master "echo 'SSH connection successful'"

ssh-supplywhy-dev-master-echo-ssh-connection-successful.txt
**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.

### Step 3: Update Image Tag

If an IMAGE_TAG argument was provided (`$ARGUMENTS`), update the deployment.yaml with the new tag:

ssh supplywhy-dev-master "grep 'image:' genie/deployment.yaml"

ssh-supplywhy-dev-master-grep-image-geniedeploymentyaml.txt
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.

### Step 4: Deploy via kubectl

SSH into the EC2 server and run the kubectl deployment command:

ssh supplywhy-dev-master "cd genie && kubectl apply -f deployment.yaml"

ssh-supplywhy-dev-master-cd-genie--kubectl-apply--f-deploymentyaml.txt
**Verification:** The kubectl output should show resources being `created`, `configured`, or `unchanged`. Look for lines like:
- `deployment.apps/xxx configured`
- `service/xxx unchanged`

**Stop and report to user if:**
- kubectl returns errors (e.g., "error: the path does not exist", "connection refused")
- Any resource shows `error` status

### Step 5: Verify Deployment Status

After applying, check that the deployment is rolling out successfully:

Tags

#devops_and-cloud

Quick Info

Category Development
Model Claude 3.5
Complexity One-Click
Author yusong-7456
Last Updated 3/10/2026
🚀
Optimized for
Claude 3.5
🧠

Ready to Install?

Get started with this skill in seconds

openclaw install deploydevnlu