initial implementation: terraform-provider-encapi #1

Merged
benvin merged 1 commits from benvin/initial-implementation into main 2026-07-05 00:10:55 +10:00
Owner

Why

Manage the encapi Puppet ENC (roles, statuses, and node assignments) declaratively in Terraform/OpenTofu, alongside the rest of the estate. Companion to the new encapi service that replaces Cobbler.

Changes

  • add resources: encapi_role (inheritable default_params via jsonencode), encapi_status (Puppet environment / Cobbler status), encapi_node (certname -> role + environment + params)
  • add data sources: encapi_node, encapi_role
  • add HTTP client with bearer-token auth (token defaults to $ENCAPI_WRITE_TOKEN); reads are open
  • add unit tests (helpers, client, provider/resource schemas) and examples
  • add Makefile (package -> zip) and Woodpecker CI that publishes the provider zip to the artifactapi terraform-unkin registry (namespace unkin/encapi) on tag
## Why Manage the encapi Puppet ENC (roles, statuses, and node assignments) declaratively in Terraform/OpenTofu, alongside the rest of the estate. Companion to the new `encapi` service that replaces Cobbler. ## Changes - add resources: `encapi_role` (inheritable `default_params` via jsonencode), `encapi_status` (Puppet environment / Cobbler status), `encapi_node` (certname -> role + environment + params) - add data sources: `encapi_node`, `encapi_role` - add HTTP client with bearer-token auth (token defaults to $ENCAPI_WRITE_TOKEN); reads are open - add unit tests (helpers, client, provider/resource schemas) and examples - add Makefile (`package` -> zip) and Woodpecker CI that publishes the provider zip to the artifactapi `terraform-unkin` registry (namespace `unkin/encapi`) on tag
unkinben added 1 commit 2026-07-04 23:45:51 +10:00
Terraform/OpenTofu provider for encapi (the Puppet ENC replacing Cobbler).
- resources: encapi_role (jsonencode default_params), encapi_status, encapi_node
- data sources: encapi_node, encapi_role
- client with bearer-token auth; unit tests; examples
- Makefile (package->zip), Woodpecker CI publishing to the artifactapi
  terraform-unkin registry on tag
benvin merged commit 983859b9c6 into main 2026-07-05 00:10:55 +10:00
benvin deleted branch benvin/initial-implementation 2026-07-05 00:10:55 +10:00
Sign in to join this conversation.