No description
Enhanced comprehensive example to wait for AppInstance deployment completion: ## New Polling Features: - **State Monitoring**: Polls ShowAppInst every 10 seconds until ready - **Timeout Protection**: 5-minute maximum wait time with context cancellation - **Smart State Detection**: Handles Creating, Ready, Running, Error states - **Progress Feedback**: Real-time status updates during deployment ## Implementation Details: - **waitForInstanceReady()**: Robust polling function with timeout - **State Logic**: Exits on non-creating states (Ready, Running, Error) - **Error Handling**: Distinguishes between polling errors and failure states - **Context Management**: Proper timeout context with cleanup ## User Experience: ``` 5️⃣ Waiting for application instance to be ready... Polling instance state (timeout: 5 minutes)... 📊 Instance state: Creating 📊 Instance state: Creating (power: PowerOn) 📊 Instance state: Ready (power: PowerOn) ✅ Instance reached ready state: Ready ``` This ensures the example demonstrates a complete, realistic deployment workflow where instance creation is fully completed before proceeding to subsequent operations. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com> |
||
|---|---|---|
| .claude | ||
| api | ||
| cmd | ||
| sdk | ||
| .gitignore | ||
| comprehensive | ||
| config.yaml.example | ||
| Dockerfile | ||
| edge-connect-client | ||
| go.mod | ||
| go.sum | ||
| main.go | ||
| Makefile | ||
| oapi-codegen.yaml | ||
| plan.md | ||
| project.md | ||
| README.md | ||
Edge Connect CLI
A command-line interface for managing Edge Connect applications and their instances.
Installation
go install
Configuration
The CLI can be configured using a configuration file or environment variables. The default configuration file location is $HOME/.edge-connect.yaml.
You can also specify a different configuration file using the --config flag.
Configuration File Format
Create a YAML file with the following structure:
base_url: "https://api.edge-connect.example.com"
username: "your-username"
password: "your-password"
Environment Variables
You can also use environment variables to configure the CLI:
EDGE_CONNECT_BASE_URL: Base URL for the Edge Connect APIEDGE_CONNECT_USERNAME: Username for authenticationEDGE_CONNECT_PASSWORD: Password for authentication
Usage
Managing Applications
Create a new application:
edge-connect app create --org myorg --name myapp --version 1.0.0 --region us-west
Show application details:
edge-connect app show --org myorg --name myapp --version 1.0.0 --region us-west
List applications:
edge-connect app list --org myorg --region us-west
Delete an application:
edge-connect app delete --org myorg --name myapp --version 1.0.0 --region us-west
Managing Application Instances
Create a new application instance:
edge-connect instance create \
--org myorg \
--name myinstance \
--cloudlet mycloudlet \
--cloudlet-org cloudletorg \
--region us-west \
--app myapp \
--version 1.0.0 \
--flavor myflavor
Show instance details:
edge-connect instance show \
--org myorg \
--name myinstance \
--cloudlet mycloudlet \
--cloudlet-org cloudletorg \
--region us-west
List instances:
edge-connect instance list \
--org myorg \
--cloudlet mycloudlet \
--cloudlet-org cloudletorg \
--region us-west
Delete an instance:
edge-connect instance delete \
--org myorg \
--name myinstance \
--cloudlet mycloudlet \
--cloudlet-org cloudletorg \
--region us-west
Global Flags
--config: Config file (default is $HOME/.edge-connect.yaml)--base-url: Base URL for the Edge Connect API--username: Username for authentication--password: Password for authentication