@@ -982,6 +982,28 @@ to transfer files to the Puppet server. By default, this list is inferred from t
982982`terraform apply`. Providing an explicit list of tags allows bypassing the firewall rule inference,
983983which can be useful when the agent is in the same network as the cluster.
984984
985+ ### 4.23 Internal module inputs (advanced)
986+
987+ The following variables are inputs to internal modules (`common/design`, `common/configuration`,
988+ `common/provision`). They are set by the cloud provider modules and are not meant to be configured
989+ directly in a typical `main.tf`.
990+
991+ - `min_disk_size`: Minimum root disk size (in GB) enforced by the provider module when building the
992+ instance design. It is used to validate `instances.*.disk_size` against provider defaults.
993+ Typical values are 10 (Incus/OpenStack), 20 (AWS/GCP), and 30 (Azure).
994+ - `inventory`: Map of instances with computed metadata (IPs, tags, specs, volumes) used to generate
995+ cloud-init and Puppet configuration.
996+ - `post_inventory`: Map like `inventory` with provider-specific data added after resources are created
997+ (for example instance IDs). Default value is `{}`.
998+ - `cloud_provider`: Cloud provider identifier string (for example `aws`, `gcp`, `azure`, `openstack`,
999+ `incus`) used in Puppet facts and cloud-init templates.
1000+ - `cloud_region`: Provider region identifier string (for example `us-east-1`, `eastus`, `europe-west1`)
1001+ used in Puppet facts and cloud-init templates.
1002+ - `domain_name`: Fully qualified cluster domain name computed from `cluster_name` and `domain`
1003+ (for example `${cluster_name}.${domain}`).
1004+ - `configuration`: Output object from `common/configuration` passed into `common/provision`. It contains
1005+ values such as rendered user data, Terraform facts, SSH keys, inventory, and bastion information.
1006+
9851007## 5. Cloud Specific Configuration
9861008
9871009### 5.1 Amazon Web Services
@@ -1259,6 +1281,23 @@ if not OpenStack (i.e: `aws`, `gcp`, etc.).
12591281The file will be created after the `terraform apply` in the same folder as your `main.tf`
12601282and will be named as `${name}.${domain}.txt`.
12611283
1284+ ### 6.4 DNS module inputs
1285+
1286+ The DNS modules (`dns/cloudflare`, `dns/gcloud`, `dns/txt`) share a common set of inputs:
1287+
1288+ - `name`: Cluster name used as the DNS label. In the examples, this is typically
1289+ `module.<provider>.cluster_name`.
1290+ - `domain`: Base domain name. In the examples, this is typically `module.<provider>.domain`.
1291+ - `public_instances`: Map of instances with the `public` tag returned by the cloud provider module.
1292+ DNS A and SSHFP records are created for these instances.
1293+ - `vhosts`: List of virtual hostnames to create as `vhost.name.domain`. Default values differ by module:
1294+ Cloudflare uses `["*"]`, while Google Cloud and TXT use `["ipa", "jupyter", "mokey", "explore"]`.
1295+ - `domain_tag`: Tag that identifies which instances are pointed by the `name.domain` A record.
1296+ **default value**: `"login"`.
1297+ - `vhost_tag`: Tag that identifies which instances are pointed by the `vhost.name.domain` A records.
1298+ **default value**: `"proxy"`.
1299+ - `dkim_public_key`: Optional public key used to create a DKIM record. See [6.6 DKIM record (optional)](#66-dkim-record-optional).
1300+
12621301### 6.5 SSHFP records and DNSSEC
12631302
12641303Magic Castle DNS module creates SSHFP records for all instances with a public ip address.
0 commit comments