diff --git a/.tool-versions b/.tool-versions index bf758da..8598116 100644 --- a/.tool-versions +++ b/.tool-versions @@ -1,2 +1,2 @@ terraform 1.14.1 -terramate 0.17.0-rc2 +terramate 0.17.0-rc4 diff --git a/bundles/example.com/account/v1/bundle.tm.hcl b/bundles/example.com/account/v1/bundle.tm.hcl index ac58349..f6fe703 100644 --- a/bundles/example.com/account/v1/bundle.tm.hcl +++ b/bundles/example.com/account/v1/bundle.tm.hcl @@ -19,7 +19,7 @@ define bundle { } scaffolding { - path = "/configs/accounts/${bundle.environment.id}/${tm_slug(bundle.input.account_alias.value)}.tm.yml" + path = "/configs/accounts/${tm_slug(bundle.input.account_alias.value)}.tm.yml" name = tm_slug(bundle.input.account_alias.value) } } diff --git a/bundles/example.com/account/v1/inputs.tm.hcl b/bundles/example.com/account/v1/inputs.tm.hcl index 72e6367..64b6893 100644 --- a/bundles/example.com/account/v1/inputs.tm.hcl +++ b/bundles/example.com/account/v1/inputs.tm.hcl @@ -1,6 +1,7 @@ define bundle { input "account_alias" { type = string + immutable = true description = "A human-friendly alias for the account (e.g., 'my-prod-account')" prompt { diff --git a/bundles/example.com/region/v1/bundle.tm.hcl b/bundles/example.com/region/v1/bundle.tm.hcl index 13ecd93..346dfaa 100644 --- a/bundles/example.com/region/v1/bundle.tm.hcl +++ b/bundles/example.com/region/v1/bundle.tm.hcl @@ -18,7 +18,7 @@ define bundle { } scaffolding { - path = "/configs/accounts/${bundle.environment.id}/${tm_slug(bundle.input.account.value)}/region_${tm_slug(bundle.input.region.value)}.tm.yml" + path = "/configs/accounts/${tm_slug(bundle.input.account.value)}/region_${tm_slug(bundle.input.region.value)}.tm.yml" name = tm_slug(tm_join("-", [bundle.input.account.value, bundle.input.region.value])) enabled { diff --git a/bundles/example.com/region/v1/inputs.tm.hcl b/bundles/example.com/region/v1/inputs.tm.hcl index 0fa7b57..a5957b5 100644 --- a/bundles/example.com/region/v1/inputs.tm.hcl +++ b/bundles/example.com/region/v1/inputs.tm.hcl @@ -1,6 +1,7 @@ define bundle { input "account" { type = string + immutable = true description = "The account alias to associate this region with" prompt { @@ -14,6 +15,7 @@ define bundle { input "region" { type = string + immutable = true description = "The region identifier (e.g., us-east-1, eu-west-1)" prompt { diff --git a/configs/accounts/dev/demo-account.tm.yml b/configs/accounts/demo-account.tm.yml similarity index 64% rename from configs/accounts/dev/demo-account.tm.yml rename to configs/accounts/demo-account.tm.yml index f012c44..c977277 100644 --- a/configs/accounts/dev/demo-account.tm.yml +++ b/configs/accounts/demo-account.tm.yml @@ -10,7 +10,13 @@ spec: # tmdoc: A human-friendly alias for the account account_alias: demo-account - # tmdoc: The account identifier (e.g., AWS 12-digit account ID or GCP project ID) - account_id: "123456789012" environments: - dev: {} + dev: + inputs: + account_id: "111111111111" + stg: + inputs: + account_id: "222222222222" + prd: + inputs: + account_id: "333333333333" diff --git a/configs/accounts/demo-account/region_eu-west-1.tm.yml b/configs/accounts/demo-account/region_eu-west-1.tm.yml new file mode 100644 index 0000000..88f3b7e --- /dev/null +++ b/configs/accounts/demo-account/region_eu-west-1.tm.yml @@ -0,0 +1,15 @@ +apiVersion: terramate.io/cli/v1 +kind: BundleInstance +metadata: + name: demo-account-eu-west-1 + uuid: 1deeb739-30f5-4897-9b94-9a1f7315823f +spec: + source: /bundles/example.com/region/v1 + inputs: + # tmdoc: The account alias to associate this region with + account: demo-account + # tmdoc: The region identifier (e.g., us-east-1, eu-west-1) + region: eu-west-1 + +environments: + dev: diff --git a/configs/accounts/dev/demo-account/region_us-east-1.tm.yml b/configs/accounts/demo-account/region_us-east-1.tm.yml similarity index 95% rename from configs/accounts/dev/demo-account/region_us-east-1.tm.yml rename to configs/accounts/demo-account/region_us-east-1.tm.yml index 2a251c3..0c84d16 100644 --- a/configs/accounts/dev/demo-account/region_us-east-1.tm.yml +++ b/configs/accounts/demo-account/region_us-east-1.tm.yml @@ -14,3 +14,5 @@ spec: region: us-east-1 environments: dev: {} + stg: {} + prd: {} diff --git a/configs/accounts/prd/demo-account.tm.yml b/configs/accounts/prd/demo-account.tm.yml deleted file mode 100644 index a016e98..0000000 --- a/configs/accounts/prd/demo-account.tm.yml +++ /dev/null @@ -1,12 +0,0 @@ -apiVersion: terramate.io/cli/v1 -kind: BundleInstance -metadata: - name: demo-account - uuid: c75c4b59-3483-4478-99f9-80cf73b24bf4 -spec: - source: /bundles/example.com/account/v1 - inputs: - account_alias: demo-account - account_id: "123456789012" -environments: - prd: {} diff --git a/configs/accounts/prd/demo-account/region_us-east-1.tm.yml b/configs/accounts/prd/demo-account/region_us-east-1.tm.yml deleted file mode 100644 index b6814a8..0000000 --- a/configs/accounts/prd/demo-account/region_us-east-1.tm.yml +++ /dev/null @@ -1,12 +0,0 @@ -apiVersion: terramate.io/cli/v1 -kind: BundleInstance -metadata: - name: demo-account-us-east-1 - uuid: da837070-fe6c-4ce4-b627-53151a1b619c -spec: - source: /bundles/example.com/region/v1 - inputs: - account: demo-account - region: us-east-1 -environments: - prd: {} diff --git a/configs/accounts/stg/demo-account.tm.yml b/configs/accounts/stg/demo-account.tm.yml deleted file mode 100644 index 4d24c79..0000000 --- a/configs/accounts/stg/demo-account.tm.yml +++ /dev/null @@ -1,12 +0,0 @@ -apiVersion: terramate.io/cli/v1 -kind: BundleInstance -metadata: - name: demo-account - uuid: eda0ccfa-13dd-4479-976d-d423307a3f5e -spec: - source: /bundles/example.com/account/v1 - inputs: - account_alias: demo-account - account_id: "123456789012" -environments: - stg: {} diff --git a/configs/accounts/stg/demo-account/region_us-east-1.tm.yml b/configs/accounts/stg/demo-account/region_us-east-1.tm.yml deleted file mode 100644 index 3d4303f..0000000 --- a/configs/accounts/stg/demo-account/region_us-east-1.tm.yml +++ /dev/null @@ -1,12 +0,0 @@ -apiVersion: terramate.io/cli/v1 -kind: BundleInstance -metadata: - name: demo-account-us-east-1 - uuid: 78092fe1-d6a0-4028-9594-ae419f811c82 -spec: - source: /bundles/example.com/region/v1 - inputs: - account: demo-account - region: us-east-1 -environments: - stg: {} diff --git a/terramate.tm.hcl b/terramate.tm.hcl index 0b9068a..58fcdd5 100644 --- a/terramate.tm.hcl +++ b/terramate.tm.hcl @@ -1,5 +1,5 @@ terramate { - required_version = "0.17.0-rc2" + required_version = "0.17.0-rc4" required_version_allow_prereleases = true config {