054110d748
terragrunt-enc is the single source of truth for encapi ENC data (Puppet statuses, roles, and node classifications), managed with Terraform/Terragrunt. It supersedes Cobbler classification for Puppet and the terraform-incus dual-write prototype (PR #39). - Add modules/encapi (encapi_status / encapi_role / encapi_node, nodes FK-ordered after their role and status). - Add config/encapi leaf: 3 statuses, 51 roles, and 143 node assignments (130 container VMs env production + 13 prodnxsr physicals env develop), all YAML-driven. - Add config/root.hcl (consul backend infra/terraform/enc/<leaf>/state) and the encapi provider from the artifactapi registry (v0.1.0). - Add Makefile, Woodpecker pre-commit/plan/apply pipelines, pre-commit config, ci/extract_incus_nodes.py, and expand the README.
56 lines
1.9 KiB
YAML
56 lines
1.9 KiB
YAML
# encapi roles: every distinct Puppet role class used across
|
|
# config/instances/*/config.yaml (cobbler_mgmt_classes[0]) PLUS the roles
|
|
# run by the 13 prodnxsr physical nodes (from PuppetDB enc_role fact).
|
|
# Values are empty maps; add description/default_params here when needed.
|
|
roles::apps::jupyter::hub: {}
|
|
roles::apps::media::jellyfin: {}
|
|
roles::apps::media::lidarr: {}
|
|
roles::apps::media::nzbget: {}
|
|
roles::apps::media::prowlarr: {}
|
|
roles::apps::media::radarr: {}
|
|
roles::apps::media::readarr: {}
|
|
roles::apps::media::sonarr: {}
|
|
roles::apps::music::gonic: {}
|
|
roles::base: {}
|
|
roles::infra::auth::glauth: {}
|
|
roles::infra::ceph::rgw: {}
|
|
roles::infra::cobbler::server: {}
|
|
roles::infra::dhcp::server: {}
|
|
roles::infra::dns::externaldns: {}
|
|
roles::infra::dns::master: {}
|
|
roles::infra::dns::resolver: {}
|
|
roles::infra::git::redis: {}
|
|
roles::infra::git::runner: {}
|
|
roles::infra::git::server: {}
|
|
roles::infra::halb::haproxy2: {}
|
|
roles::infra::incus::imagehost: {}
|
|
roles::infra::incus::node: {}
|
|
roles::infra::k8s::compute: {}
|
|
roles::infra::k8s::control: {}
|
|
roles::infra::logs::vlagent: {}
|
|
roles::infra::logs::vlinsert: {}
|
|
roles::infra::logs::vlselect: {}
|
|
roles::infra::logs::vlstorage: {}
|
|
roles::infra::mail::backend: {}
|
|
roles::infra::mail::gateway: {}
|
|
roles::infra::metrics::grafana: {}
|
|
roles::infra::metrics::prometheus: {}
|
|
roles::infra::metrics::vmagent: {}
|
|
roles::infra::metrics::vminsert: {}
|
|
roles::infra::metrics::vmselect: {}
|
|
roles::infra::metrics::vmstorage: {}
|
|
roles::infra::nomad::agentv2: {}
|
|
roles::infra::nomad::server: {}
|
|
roles::infra::pki::certbot: {}
|
|
roles::infra::proxy::jumphost: {}
|
|
roles::infra::puppetboard::server: {}
|
|
roles::infra::puppetdb::api: {}
|
|
roles::infra::puppetdb::sql: {}
|
|
roles::infra::puppet::master: {}
|
|
roles::infra::reposync::repo: {}
|
|
roles::infra::reposync::syncer: {}
|
|
roles::infra::sql::shared: {}
|
|
roles::infra::storage::consul: {}
|
|
roles::infra::storage::edgecache: {}
|
|
roles::infra::storage::vault: {}
|