Contabo Live Storage Operations Guard
Purpose
Act as the approval gate for Contabo Object Storage mutations: audit current bucket inventory, access policies, and retention posture, then execute destructive operations only after verified backup evidence and explicit user sign-off.
When to use
Use this skill for:
- Contabo Object Storage bucket inventory and object listing
- Access policy review (bucket ACLs, public access exposure)
- Retention policy enforcement and lifecycle rule audit
- Bucket or object deletion with backup verification gate
- Migration or consolidation of Object Storage across regions
- Generating approval-ready change records for storage mutations
Hard-stop conditions
REFUSE to execute any bucket deletion or destructive Object Storage mutation unless ALL of the following are confirmed in writing:
- Target: Bucket name and full inventory of current objects or confirmed backup location
- Backup evidence: Verified backup of all data to be deleted (location, timestamp, verification method)
- Rollback plan: Documented recovery path if the operation produces unexpected results
- Named approving identity: the full name or authenticated account identifier of the person authorizing this operation (not a role, alias, or ticket number alone)
Lean operating rules
- Contabo has no official Terraform provider or SDK — recommend
cntb CLI or REST API (curl + jq) for automation.
- For S3-compatible Object Storage operations, use S3-compatible tools (aws CLI with
--endpoint-url pointing at the Contabo Object Storage endpoint).
- Prefer official Contabo docs (https://api.contabo.com/, https://docs.contabo.com/) and Context7 when live MCP access is unavailable.
- Separate confirmed facts from inference. If state was not queried or shown, say so.
- OAuth2 password grant tokens expire in ~5 minutes — include token refresh handling in all automation examples. Refresh logic must not log token values.
- Include
x-request-id (UUIDv4) in all Contabo REST API calls for support traceability.
- S3 access key and secret key for Object Storage API must be stored as environment variables, never hardcoded.
- Inventory current buckets and objects via read-only calls before proposing any mutation.
- Label claims as
live evidence, user-provided sanitized evidence, documentation-based, or inference.
Automation pattern (read-only inventory first)
# Load credentials from environment — never hardcode
: "${CONTABO_CLIENT_ID:?set in env}"
: "${CONTABO_CLIENT_SECRET:?set in env}"
: "${CONTABO_API_USER:?set in env}"
: "${CONTABO_API_PASSWORD:?set in env}"
# Refresh token before each operation
TOKEN=$(curl -s \
-d "client_id=${CONTABO_CLIENT_ID}" \
-d "client_secret=${CONTABO_CLIENT_SECRET}" \
--data-urlencode "username=${CONTABO_API_USER}" \
--data-urlencode "password=${CONTABO_API_PASSWORD}" \
-d 'grant_type=password' \
'https://auth.contabo.com/auth/realms/contabo/protocol/openid-connect/token' \
| jq -r '.access_token')
# List Object Storage instances (read-only)
curl -s \
-H "Authorization: Bearer ${TOKEN}" \
-H "x-request-id: $(uuidgen)" \
'https://api.contabo.com/v1/storage/object-storages' | jq .
Response minimum
Return, at minimum:
- the target bucket(s) and object inventory evidence level,
- the access policy and retention posture assessment,
- the hard-stop checklist status (all three items confirmed or blocked),
- the rollback plan,
- the assumptions or open questions that require user clarification before proceeding.
References
Load these only when needed:
- Workflow and output contract — use when executing a full storage operation or formatting the approval-ready change record.
- Safety checklist — use before any bucket deletion, object deletion, or irreversible storage mutation; all hard-stop gates must be confirmed before proceeding.
- Official sources — use when grounding Contabo Object Storage API behavior, S3 compatibility, or access policy configuration.
1---2name: contabo-live-storage-operations-guard3description: Live-guard skill for Contabo Object Storage (S3-compatible) bucket operations including inventory audit, access policy review, retention policy enforcement, and deletion workflows. Hard-stops any bucket deletion requested without verified backup evidence and a documented rollback plan. Use when the user needs to manage, audit, or delete Contabo Object Storage buckets or objects.4---56# Contabo Live Storage Operations Guard78## Purpose910Act as the approval gate for Contabo Object Storage mutations: audit current bucket inventory, access policies, and retention posture, then execute destructive operations only after verified backup evidence and explicit user sign-off.1112## When to use1314Use this skill for:1516- Contabo Object Storage bucket inventory and object listing17- Access policy review (bucket ACLs, public access exposure)18- Retention policy enforcement and lifecycle rule audit19- Bucket or object deletion with backup verification gate20- Migration or consolidation of Object Storage across regions21- Generating approval-ready change records for storage mutations2223## Hard-stop conditions2425REFUSE to execute any bucket deletion or destructive Object Storage mutation unless ALL of the following are confirmed in writing:26271. **Target**: Bucket name and full inventory of current objects or confirmed backup location282. **Backup evidence**: Verified backup of all data to be deleted (location, timestamp, verification method)293. **Rollback plan**: Documented recovery path if the operation produces unexpected results304. **Named approving identity**: the full name or authenticated account identifier of the person authorizing this operation (not a role, alias, or ticket number alone)3132## Lean operating rules3334- Contabo has no official Terraform provider or SDK — recommend `cntb` CLI or REST API (curl + jq) for automation.35- For S3-compatible Object Storage operations, use S3-compatible tools (aws CLI with `--endpoint-url` pointing at the Contabo Object Storage endpoint).36- Prefer official Contabo docs (https://api.contabo.com/, https://docs.contabo.com/) and Context7 when live MCP access is unavailable.37- Separate confirmed facts from inference. If state was not queried or shown, say so.38- OAuth2 password grant tokens expire in ~5 minutes — include token refresh handling in all automation examples. Refresh logic must not log token values.39- Include `x-request-id` (UUIDv4) in all Contabo REST API calls for support traceability.40- S3 access key and secret key for Object Storage API must be stored as environment variables, never hardcoded.41- Inventory current buckets and objects via read-only calls before proposing any mutation.42- Label claims as `live evidence`, `user-provided sanitized evidence`, `documentation-based`, or `inference`.4344## Automation pattern (read-only inventory first)4546```bash47# Load credentials from environment — never hardcode48: "${CONTABO_CLIENT_ID:?set in env}"49: "${CONTABO_CLIENT_SECRET:?set in env}"50: "${CONTABO_API_USER:?set in env}"51: "${CONTABO_API_PASSWORD:?set in env}"5253# Refresh token before each operation54TOKEN=$(curl -s \55 -d "client_id=${CONTABO_CLIENT_ID}" \56 -d "client_secret=${CONTABO_CLIENT_SECRET}" \57 --data-urlencode "username=${CONTABO_API_USER}" \58 --data-urlencode "password=${CONTABO_API_PASSWORD}" \59 -d 'grant_type=password' \60 'https://auth.contabo.com/auth/realms/contabo/protocol/openid-connect/token' \61 | jq -r '.access_token')6263# List Object Storage instances (read-only)64curl -s \65 -H "Authorization: Bearer ${TOKEN}" \66 -H "x-request-id: $(uuidgen)" \67 'https://api.contabo.com/v1/storage/object-storages' | jq .68```6970## Response minimum7172Return, at minimum:7374- the target bucket(s) and object inventory evidence level,75- the access policy and retention posture assessment,76- the hard-stop checklist status (all three items confirmed or blocked),77- the rollback plan,78- the assumptions or open questions that require user clarification before proceeding.7980## References8182Load these only when needed:8384- [Workflow and output contract](references/workflow-and-output.md) — use when executing a full storage operation or formatting the approval-ready change record.85- [Safety checklist](references/safety-checklist.md) — use before any bucket deletion, object deletion, or irreversible storage mutation; all hard-stop gates must be confirmed before proceeding.86- [Official sources](references/official-sources.md) — use when grounding Contabo Object Storage API behavior, S3 compatibility, or access policy configuration.