From b8ee0ed385f12c3ba05e93aa18eff418b628d38d Mon Sep 17 00:00:00 2001 From: unkin-agent Date: Thu, 13 Aug 2026 20:06:15 +1000 Subject: [PATCH] artifactapi module: plumb mirror_strategy on rpm/apk(alpine) remotes Expose the provider v0.5.1 mirror_strategy field through the config module so rpm and alpine(apk) remotes can select how upstream mirrors are chosen (round_robin | least_conn) across base_url + mirrorlist. Completes the mirror IaC surface started in #24. - remote_rpm / remote_alpine object vars gain mirror_strategy = optional(string, null) - pass mirror_strategy through to the corresponding remote resources - provider constraint stays ~> 0.5 (already resolves v0.5.1, which adds the attr) Additive and optional; no real remote config changes. --- modules/artifactapi/main.tf | 2 ++ modules/artifactapi/variables.tf | 2 ++ 2 files changed, 4 insertions(+) diff --git a/modules/artifactapi/main.tf b/modules/artifactapi/main.tf index c3d1ca0..dc19454 100644 --- a/modules/artifactapi/main.tf +++ b/modules/artifactapi/main.tf @@ -10,6 +10,7 @@ resource "artifactapi_remote_alpine" "this" { mutable_patterns = each.value.mutable_patterns stale_on_error = each.value.stale_on_error mirrorlist = each.value.mirrorlist + mirror_strategy = each.value.mirror_strategy } resource "artifactapi_remote_docker" "this" { @@ -76,6 +77,7 @@ resource "artifactapi_remote_rpm" "this" { mutable_patterns = each.value.mutable_patterns stale_on_error = each.value.stale_on_error mirrorlist = each.value.mirrorlist + mirror_strategy = each.value.mirror_strategy } resource "artifactapi_remote_pypi" "this" { diff --git a/modules/artifactapi/variables.tf b/modules/artifactapi/variables.tf index fa24950..660e944 100644 --- a/modules/artifactapi/variables.tf +++ b/modules/artifactapi/variables.tf @@ -9,6 +9,7 @@ variable "remote_alpine" { mutable_patterns = optional(list(string), []) stale_on_error = optional(bool, true) mirrorlist = optional(list(string), []) + mirror_strategy = optional(string, null) })) default = {} } @@ -80,6 +81,7 @@ variable "remote_rpm" { mutable_patterns = optional(list(string), []) stale_on_error = optional(bool, true) mirrorlist = optional(list(string), []) + mirror_strategy = optional(string, null) })) default = {} }