Receber por email
← Voltar para o catálogo

provision-hetzner

This skill should be used when provisioning Hetzner sub-projects and tokens for tenant infrastructure.

14estrelas
Atualizado há 2 meses

Ver no GitHub ↗ Licença: NOASSERTION

Como adicionar

/plugin marketplace add jikig-ai/soleur

O comando exato pode variar conforme o repositório. Confira o README no GitHub.

Para o autor da skill

Cole no README do seu repo

Mostra que sua skill está catalogada na Skillteca, gera backlink e tráfego rastreável.

[![Skillteca](https://www.skillteca.com.br/api/badge/provision-hetzner/svg)](https://www.skillteca.com.br/skills/provision-hetzner)
#ai

Alerta por categoria

Receba novas skills de Design e Frontend toda segunda

1 email curto, só com as skills novas de Design e Frontend. 4 minutos de leitura, sem spam, cancela com 1 clique.

Você confirma o email no primeiro envio. Sem spam. Cancela com 1 clique.

Ler descrição completa

Provision Hetzner

Guide the operator through Hetzner Console project creation, accept a project-scoped API token, and run a write-class smoke-test to verify scope.

Art. 32 Pre-condition

MUST run on the operator's local machine. MUST NOT run in CI. The Hetzner token is accepted via read -s (interactive terminal only) and never persisted to disk, env exports, or CLI args.

Usage

soleur:provision-hetzner <tenant-slug> [--dry-run]

| Argument | Required | Description | |----------|----------|-------------| | tenant-slug | Yes | Canonical tenant identifier (kebab-case) | | --dry-run | No | Print Console guidance + smoke-test commands without executing |

Execution

bash "${CLAUDE_PLUGIN_ROOT}/skills/provision-hetzner/scripts/provision-hetzner.sh" <slug> [--dry-run]

The script:

  1. Validates prerequisites (DPA gate, slug format, hcloud CLI)
  2. Displays guided instructions for Console project creation + token minting
  3. Accepts token via read -s and runs write-class smoke-test (create + delete cx11)
  4. Uses deterministic probe name (probe-provision-<slug>) so orphans are findable
  5. Trap handler ensures probe server cleanup on EXIT/INT/TERM
  6. Prints teardown commands on any exit

Encryption Posture

If this run provisions a persistent volume for the tenant, hcloud_volume carries no encrypted attribute -- encryption means the guest-side LUKS apparatus (random_password -> dedicated Doppler config -> cryptsetup luksFormat -> /dev/mapper/* mount; see terraform-architect's Hetzner/Cloudflare requirements). Do not complete the run without adding a row to encryption-posture-ledger.json (repo-root scripts/) for the new volume: at_rest.mechanism (luks or a named plaintext-exception with tracking_issue + expires_on), at_rest.evidence, at_rest.does_not_defend, at_rest.disclosed_as, and at_rest.live_verification. This run provisions sub-projects and tokens, not volumes, so the step is normally a no-op -- it applies only when a volume enters scope.

Sharp Edges

  • Hetzner has no TF resource for project creation or token minting (Console-only). This is the one manual step in this skill; it is tracked as an automation gap with revisit criteria in Tracks #4604 (per hr-never-label-any-step-as-manual-without) — do not treat it as permanently-manual.
  • The smoke-test creates a real cx11 server (~EUR 0.006/hr prorated). Trap handler cleans up.
  • If hcloud server delete fails, the probe server must be deleted manually via Console.
  • Read-only tokens silently succeed for reads; the write-class test (server create) is essential.
Compartilhar X LinkedIn