9a6f775300
Scope now spans devices and provisioning, not just IPAM. - rename module/consul-path/role ipam -> infra - networks config (subnet binding + gateway/dns/search constants); prefixes tagged net:<name> - intent-only devices module: netbox_device + device_type/role/manufacturer, static or next-available IPs (sticky via ignore_changes), transitional bootstrap_mac interface for bootapi PXE keying - seed 6 pending hosts prodnxsr0014-0019 (mgmt IPs .14-.19, optiplex-3070) - ci/puppetdb_backfill.py: emit NetBox reality (serial/model/uuid/interfaces) for existing hosts Claude-Session: https://claude.ai/code/session_01JUoARVdmhxKQHyyyp1pxeT
21 lines
521 B
Terraform
21 lines
521 B
Terraform
provider "vault" {
|
|
address = var.vault_address
|
|
}
|
|
|
|
# KeaAPI and NetBox tokens live in a single Vault KV v2 secret. The vault
|
|
# provider authenticates with the VAULT_TOKEN set by the Makefile.
|
|
data "vault_kv_secret_v2" "tokens" {
|
|
mount = "kv"
|
|
name = "service/terraform/ipam"
|
|
}
|
|
|
|
provider "netbox" {
|
|
server_url = var.netbox_server_url
|
|
api_token = data.vault_kv_secret_v2.tokens.data["netbox_token"]
|
|
}
|
|
|
|
provider "kea" {
|
|
endpoint = var.kea_endpoint
|
|
token = data.vault_kv_secret_v2.tokens.data["kea_token"]
|
|
}
|