Huawei Cloud Cci Instance Management
>-
- Skill ID
- huaweicloud/huaweicloud-skills/huawei-cloud-cci-instance-management
- Publisher
- huaweicloud
- Repository
- huaweicloud-skills
- Installs
- 302
- Files
- 17
- Synced
- Sep 16, 2026
Open any RiverX project, open the Skills panel in the chat, and search for this identifier. The files are fetched from the source repository at install time.
huaweicloud/huaweicloud-skills/huawei-cloud-cci-instance-managementInstalls these files- SKILL.md
- references/acceptance-criteria.md
- references/cci-operation-catalog.md
- references/common-workflows.md
- references/credential-configuration.md
- references/iam-policies.md
- references/parameter-format.md
- references/task-deployment-management.md
- references/task-eippool-management.md
- references/task-logs-and-status.md
- references/task-namespace-management.md
- references/task-network-management.md
- references/task-pod-management.md
- references/task-statefulset-management.md
- references/troubleshooting.md
- references/verification-method.md
- scripts/cci_network_helper.py
What this skill tells the agent
Huawei Cloud CCI Container Instance Lifecycle Management
Overview
Manage Huawei Cloud CCI (Cloud Container Instance) full lifecycle using hcloud CLI (KooCLI). CCI is a serverless container service — no cluster management needed, just create a Namespace, define a Network, then deploy workloads directly.
Architecture: hcloud CLI → CCI OpenAPI → Namespace / Network / Deployment / StatefulSet / Pod / EIPPool / Service / Ingress
Constraints and Rules
Security Rules
- Two-step confirmation: All destructive operations (delete Namespace/Network/Deployment/StatefulSet/Pod/EIPPool) require explicit user confirmation — preview command, resource details, and risk warning first; execute only after user confirms.
- Credential security: Never expose AK/SK values in conversation, commands, or output. Only use
hcloud configure listto check credential status (presence only). Prefer profile mode or environment variables over explicit AK/SK parameters.
Resource Constraints
- Namespace flavor annotation is mandatory: Every namespace must carry
namespace-kubernetes-io/flavorannotation (value:general-computingorgpu-accelerated). Without it, creation fails. - limits must equal requests: CCI enforces
resources.limits == resources.requests. Mismatch causes "limit and request doesn't equal" error. Set both to the same values (e.g.,500m/1Gi). - Network must precede workloads: Pod/Deployment/StatefulSet creation fails or stays Pending if no Network exists in the namespace. Always create Network before deploying workloads.
- VPC CIDR restriction: VPC subnet CIDR must NOT be
10.247.0.0/16— CCI reserves this range for Service networking. Using it causes IP conflicts and workload creation failures. - Deletion order: Pod → Deployment/StatefulSet → EIPPool → Network → Namespace. Deleting a Namespace cascades all resources under it.
hcloud CLI Constraints
- Network creation must use Python helper script: hcloud CLI cannot pass annotation keys containing dots (
network.alpha.kubernetes.io/default-security-group). Neither dot notation nor--cli-jsonInputworks. Usescripts/cci_network_helper.py. - Namespace annotation uses hyphen replacement: Keys like
namespace.kubernetes.io/flavorcan use hyphens (namespace-kubernetes-io/flavor) and CCI auto-normalizes. This workaround only works for Namespace, NOT for Network. - Always verify parameters with `--help`: CCI has hundreds of parameters. Run
hcloud CCI <Operation> --helpbefore constructing any command. The help output is the authoritative source.
Detailed breakdowns of these rules are in Security Constraints, hcloud CLI Limitations, and Precautions.
Standard Workflow
1. Create Namespace (with flavor annotation)
2. Create Network (requires Python helper script for annotation — see hcloud CLI Limitations)
3. Create Deployment / StatefulSet / Pod (run workloads)
4. Query status, view logs
5. (Optional) Create EIPPool for Pod public IP access
6. Cleanup: delete workload → delete Network → delete NamespacePrerequisites
1. hcloud CLI Requirements (MANDATORY)
- hcloud CLI installed (version >= 7.2.2)
- Run
hcloud versionto verify installation - First-time usage:
printf "y\n" | hcloud versionto accept privacy statement
2. Credential Configuration
hcloud CLI supports two credential modes. See references/credential-configuration.md for full details.
Quick setup (choose one):
# Mode A — Long-term AK/SK
export HUAWEI_CLOUD_AK=<your-ak>
export HUAWEI_CLOUD_SK=<your-sk>
export HUAWEI_CLOUD_REGION=cn-north-4
# Mode B — Temporary AK/SK + SecurityToken
export HUAWEI_CLOUD_AK=<your-temp-ak>
export HUAWEI_CLOUD_SK=<your-temp-sk>
export HUAWEI_CLOUD_SECURITY_TOKEN=<your-security-token>
export HUAWEI_CLOUD_REGION=cn-north-4- Security rules: Never expose AK/SK/SecurityToken values. Use
hcloud configure listto check presence only.
⚠️ Known limitation — Python helper script credentials are independent of hcloud CLI: The Python helper script (scripts/cci_network_helper.py) usesHW_ACCESS_KEY/HW_SECRET_KEY(and optionallyHW_SECURITY_TOKEN) environment variables for authentication, which are separate from hcloud CLI's credential source (profile orHUAWEI_CLOUD_AK/HUAWEI_CLOUD_SK). If the credentials inHW_ACCESS_KEY/HW_SECRET_KEYlack the necessary IAM permissions for CCI Network creation, the script will fail with a 403 error. Ensure these variables contain credentials with sufficient CCI permissions (e.g.,CCI FullAccess). The hcloud CLI continues using its own credential source independently — running the helper script does not affect subsequent hcloud CLI commands.
3. Validation Check
hcloud version
hcloud configure listSecurity Constraints
Dangerous Operation Confirmation Mechanism
This skill strictly enforces a two-step confirmation mechanism for all destructive operations.
All destructive operations require explicit user confirmation before execution. The process:
Step 1: Preview — Show the command, resource details, and risk warning
Step 2: Confirm & Execute — Only after user explicitly confirms
Operations Requiring Confirmation
| Operation | Risk Level | Description |
|---|---|---|
| Delete Namespace | 🔴 Critical | Cascades — deletes ALL resources under this namespace (Network, Pods, Deployments, etc.) |
| Delete Network | 🟠 High | Disconnects namespace from VPC; running pods lose network |
| Delete Deployment | 🟠 High | Terminates all replicas of the workload |
| Delete StatefulSet | 🟠 High | Terminates all replicas; PVC data may be lost |
| Delete Pod | 🟠 High | Terminates the container instance |
| Delete EIPPool | 🟡 Medium | Releases public IPs allocated to pods |
Credential Security
- Never expose AK/SK/SecurityToken values in conversation, commands, or output
- Never ask user to input AK/SK/SecurityToken directly in conversation
- Only use
hcloud configure listto check credential status (presence only, not values) - Prefer profile mode or environment variables over explicit AK/SK parameters
Command Format Standard
CCI follows the standard hcloud format with Kubernetes-style nested parameters:
hcloud CCI <Operation> --param=value --cli-region=<region> --cli-output=jsonCCI-Specific Parameter Rules
CCI parameters follow Kubernetes API conventions — deeply nested objects with dot notation:
- *Annotations use `{}
format**:--metadata.annotations.namespace-kubernetes-io/flavor=general-computing` - *Labels use `{}
format**:--metadata.labels.app=my-app` - Containers array (1-based):
--spec.template.spec.containers.1.name=main --spec.template.spec.containers.1.image=nginx - *Resources use `{}
format**:--spec.template.spec.containers.1.resources.limits.cpu=500m` - *Selector matchLabels use `{}
format**:--spec.selector.matchLabels.app=my-app` - Namespaced operations require `--namespace`: all workload operations must specify namespace
⚠️ Critical: Before constructing any CCI command, always run hcloud CCI <Operation> --help to verify exact parameter names. CCI has hundreds of parameters; the help output is the authoritative source.Parameter Format Details
See references/parameter-format.md for complete CCI parameter format rules and examples.
Scenario Routing
| User Intent | Reference Document |
|---|---|
| Create/query/delete Namespace | references/task-namespace-management.md |
| Create/query/delete Network | references/task-network-management.md |
