From 36568ca53ec869ac1de0731427e1206a204c7a15 Mon Sep 17 00:00:00 2001 From: Ben Vincent Date: Wed, 29 Jul 2026 21:51:10 +1000 Subject: [PATCH] Add local_generic rootfs-images repository Declares a local generic (raw-file) repo for bootapi's node rootfs tarballs and wires the local_generic kind through the module. Depends on terraform-provider-artifactapi #12 releasing v0.1.4 (adds artifactapi_local_generic); the provider version pin is bumped to 0.1.4, so plan/validate stay red until that release is available. - config/local_generic/rootfs-images.yaml (new repo). - local_generic wiring: config.hcl, module variables.tf + main.tf, env terragrunt.hcl inputs; provider pin 0.1.3 -> 0.1.4. Claude-Session: https://claude.ai/code/session_015ur3i7D2azsMAWTSVABApv --- config/config.hcl | 5 +++++ config/local_generic/rootfs-images.yaml | 2 ++ .../artifactapi.k8s.syd1.au.unkin.net/terragrunt.hcl | 1 + modules/artifactapi/main.tf | 7 +++++++ modules/artifactapi/variables.tf | 8 ++++++++ modules/artifactapi/versions.tf | 2 +- 6 files changed, 24 insertions(+), 1 deletion(-) create mode 100644 config/local_generic/rootfs-images.yaml diff --git a/config/config.hcl b/config/config.hcl index 4e41c58..453b492 100644 --- a/config/config.hcl +++ b/config/config.hcl @@ -62,6 +62,11 @@ locals { trimsuffix(basename(file_path), ".yaml") => content if startswith(file_path, "local_docker/") } + local_generic = { + for file_path, content in local.all_configs : + trimsuffix(basename(file_path), ".yaml") => content + if startswith(file_path, "local_generic/") + } virtual = { for file_path, content in local.all_configs : trimsuffix(basename(file_path), ".yaml") => content diff --git a/config/local_generic/rootfs-images.yaml b/config/local_generic/rootfs-images.yaml new file mode 100644 index 0000000..7ad45d5 --- /dev/null +++ b/config/local_generic/rootfs-images.yaml @@ -0,0 +1,2 @@ +--- +description: "Prebuilt node rootfs tarballs for bootapi image-based provisioning (almalinux9-node-*.tar.zst)" diff --git a/environments/artifactapi.k8s.syd1.au.unkin.net/terragrunt.hcl b/environments/artifactapi.k8s.syd1.au.unkin.net/terragrunt.hcl index b01bbb0..3a566cb 100644 --- a/environments/artifactapi.k8s.syd1.au.unkin.net/terragrunt.hcl +++ b/environments/artifactapi.k8s.syd1.au.unkin.net/terragrunt.hcl @@ -28,5 +28,6 @@ inputs = { local_pypi = local.config.local_pypi local_rpm = local.config.local_rpm local_docker = local.config.local_docker + local_generic = local.config.local_generic virtual = local.config.virtual } diff --git a/modules/artifactapi/main.tf b/modules/artifactapi/main.tf index fd895a4..6706a4a 100644 --- a/modules/artifactapi/main.tf +++ b/modules/artifactapi/main.tf @@ -117,6 +117,13 @@ resource "artifactapi_local_docker" "this" { description = each.value.description } +resource "artifactapi_local_generic" "this" { + for_each = var.local_generic + + name = each.key + description = each.value.description +} + resource "artifactapi_virtual" "this" { for_each = var.virtual diff --git a/modules/artifactapi/variables.tf b/modules/artifactapi/variables.tf index 0706d0e..d5e9e03 100644 --- a/modules/artifactapi/variables.tf +++ b/modules/artifactapi/variables.tf @@ -112,6 +112,14 @@ variable "local_rpm" { default = {} } +variable "local_generic" { + description = "Map of local generic (raw-file) repositories" + type = map(object({ + description = optional(string, "") + })) + default = {} +} + variable "local_terraform" { description = "Map of local Terraform repositories" type = map(object({ diff --git a/modules/artifactapi/versions.tf b/modules/artifactapi/versions.tf index 1bdd246..4dcbd51 100644 --- a/modules/artifactapi/versions.tf +++ b/modules/artifactapi/versions.tf @@ -3,7 +3,7 @@ terraform { required_providers { artifactapi = { source = "artifactapi.k8s.syd1.au.unkin.net/terraform-unkin/artifactapi" - version = "0.1.3" + version = "0.1.4" } } }