17 Commits

Author SHA1 Message Date
unkin-agent e4741dede2 Add autobackup-operator local docker registry
ci/woodpecker/pr/plan Pipeline was successful
ci/woodpecker/pr/pre-commit Pipeline was successful
The autobackup-operator project needs a place to push its container
image in the artifactapi local docker registry during CI releases.

Add config/local_docker/autobackup-operator.yaml declaring the local
docker repo (description only, matching sibling convention).
2026-08-13 23:31:47 +10:00
benvin 2c3f52181a Merge pull request 'artifactapi module: plumb mirror_strategy on rpm/apk remotes' (#26) from benvin/mirror-strategy-config into main
ci/woodpecker/push/apply Pipeline was successful
Reviewed-on: #26
2026-08-13 20:10:50 +10:00
unkin-agent b8ee0ed385 artifactapi module: plumb mirror_strategy on rpm/apk(alpine) remotes
ci/woodpecker/pr/pre-commit Pipeline was successful
ci/woodpecker/pr/plan Pipeline was successful
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.
2026-08-13 20:06:15 +10:00
benvin a335dc75f8 Merge pull request 'add ghcr.io container remote (for ghp image pull-through)' (#25) from benvin/ghcr-remote into main
ci/woodpecker/push/apply Pipeline was successful
Reviewed-on: #25
2026-08-13 20:02:33 +10:00
benvin 6c4b37ff17 Merge pull request 'artifactapi module: support mirrorlist on rpm/apk(alpine) remotes' (#24) from benvin/mirrorlist-config into main
ci/woodpecker/push/apply Pipeline was successful
Reviewed-on: #24
2026-08-13 19:54:02 +10:00
unkin-agent 62d5e2fb14 ghcr remote: allow goodtune/ghp for pull-through
ci/woodpecker/pr/plan Pipeline was successful
ci/woodpecker/pr/pre-commit Pipeline was successful
2026-08-13 19:31:01 +10:00
unkin-agent c21beda154 artifactapi module: support mirrorlist on rpm/apk(alpine) remotes
ci/woodpecker/pr/plan Pipeline was successful
ci/woodpecker/pr/pre-commit Pipeline was successful
Expose the provider v0.5.0 mirrorlist field through the config module so
rpm and alpine(apk) remotes can declare extra upstream mirror base URLs
(load-balanced with failover across base_url + mirrorlist).

- remote_rpm / remote_alpine object vars gain mirrorlist = optional(list(string), [])
- pass mirrorlist through to the corresponding remote resources
- bump artifactapi provider constraint to ~> 0.5

Additive and optional; no real remote config changes (deferred follow-up).
2026-08-13 17:39:25 +10:00
benvin 2ce7478b5e Merge pull request 'fedora remote: switch base_url to syd.mirror.rackspace.com (fast AU mirror w/ F44)' (#23) from benvin/fedora-mirror-unistuttgart into main
ci/woodpecker/push/apply Pipeline was successful
Reviewed-on: #23
2026-08-13 07:02:05 +10:00
unkin-agent 1f12b513ea fedora remote: switch base_url to syd.mirror.rackspace.com
ci/woodpecker/pr/plan Pipeline was successful
ci/woodpecker/pr/pre-commit Pipeline was successful
2026-08-13 06:42:27 +10:00
unkin-agent e0236b0584 fedora remote: switch base_url to ftp.uni-stuttgart.de
ci/woodpecker/pr/plan Pipeline was successful
ci/woodpecker/pr/pre-commit Pipeline was successful
dl.fedoraproject.org is the throttled master, causing F44 cold-fetch
timeouts. uni-stuttgart is a fast tier-1 mirror carrying the full
releases+updates tree.
2026-08-13 00:47:19 +10:00
benvin 950a228fdc Merge pull request 'fedora remote: point base_url at dl.fedoraproject.org' (#22) from benvin/fedora-mirror-dl into main
ci/woodpecker/push/apply Pipeline was successful
Reviewed-on: #22
2026-08-12 23:13:51 +10:00
unkin-agent 983cff4876 fedora remote: point base_url at dl.fedoraproject.org
ci/woodpecker/pr/plan Pipeline was successful
ci/woodpecker/pr/pre-commit Pipeline was successful
The fcix micromirror (gsl-syd.mm.fcix.net) does not carry F44, so dnf
gets HTTP 404 for releases/44/Everything/x86_64/os/repodata/repomd.xml.
dl.fedoraproject.org is the canonical always-current Fedora source.
2026-08-12 22:42:45 +10:00
benvin 734f1026e2 Merge pull request 'Bump artifactapi provider to v0.2.0' (#21) from benvin/provider-v0.2.0 into main
ci/woodpecker/push/apply Pipeline was successful
Reviewed-on: #21
2026-08-10 23:32:51 +10:00
benvin f1f6d699e5 Bump artifactapi provider to v0.2.0
ci/woodpecker/pr/plan Pipeline was successful
ci/woodpecker/pr/pre-commit Pipeline was successful
Pin the artifactapi Terraform provider to v0.2.0, which adds the artifactapi_remote_github_rpm resource (GitHub releases served as a yum repo). Verified v0.2.0 resolves and installs from the terraform-unkin registry.
2026-08-10 23:28:07 +10:00
benvin 0031eda691 Merge pull request 'Add kubernetes rpm remote (pkgs.k8s.io, any stable minor)' (#20) from benvin/kubernetes-rpm-remote into main
ci/woodpecker/push/apply Pipeline was successful
Reviewed-on: #20
2026-07-30 21:24:50 +10:00
unkinben 83e4dbd00d fix: quote base_url (trailing colon broke yaml parse)
ci/woodpecker/pr/plan Pipeline was successful
ci/woodpecker/pr/pre-commit Pipeline was successful
Claude-Session: https://claude.ai/code/session_015ur3i7D2azsMAWTSVABApv
2026-07-30 21:16:01 +10:00
unkinben df74a5d02a Add kubernetes rpm remote (pkgs.k8s.io, any stable minor)
ci/woodpecker/pr/plan Pipeline failed
ci/woodpecker/pr/pre-commit Pipeline failed
Claude-Session: https://claude.ai/code/session_015ur3i7D2azsMAWTSVABApv
2026-07-30 21:10:59 +10:00
7 changed files with 14 additions and 4 deletions
@@ -0,0 +1 @@
description: "Local container image registry for the autobackup-operator image"
+1
View File
@@ -8,6 +8,7 @@ patterns:
- "^emberstack/helm-charts"
- "^fallenbagel/"
- "^goauthentik/"
- "^goodtune/ghp"
- "^home-operations/"
- "^jellyfin/"
- "^netbox-community/"
+1 -1
View File
@@ -1,4 +1,4 @@
base_url: https://gsl-syd.mm.fcix.net/fedora/linux
base_url: https://syd.mirror.rackspace.com/fedora
description: Fedora Linux RPM package repository
immutable_ttl: 0
mutable_ttl: 7200
+2 -2
View File
@@ -1,5 +1,5 @@
base_url: https://pkgs.k8s.io/core:/stable:/v1.33/rpm
description: Kubernetes upstream RPMs (kubectl/kubeadm/kubelet), stable v1.33 channel
base_url: "https://pkgs.k8s.io/core:/stable:"
description: Kubernetes upstream RPMs (kubectl/kubeadm/kubelet); version-agnostic, consumers pick the minor via path (e.g. v1.33/rpm)
immutable_ttl: 0
mutable_ttl: 7200
immutable_patterns:
+4
View File
@@ -9,6 +9,8 @@ resource "artifactapi_remote_alpine" "this" {
immutable_patterns = each.value.immutable_patterns
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" {
@@ -74,6 +76,8 @@ resource "artifactapi_remote_rpm" "this" {
immutable_patterns = each.value.immutable_patterns
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" {
+4
View File
@@ -8,6 +8,8 @@ variable "remote_alpine" {
immutable_patterns = optional(list(string), [])
mutable_patterns = optional(list(string), [])
stale_on_error = optional(bool, true)
mirrorlist = optional(list(string), [])
mirror_strategy = optional(string, null)
}))
default = {}
}
@@ -78,6 +80,8 @@ variable "remote_rpm" {
immutable_patterns = optional(list(string), [])
mutable_patterns = optional(list(string), [])
stale_on_error = optional(bool, true)
mirrorlist = optional(list(string), [])
mirror_strategy = optional(string, null)
}))
default = {}
}
+1 -1
View File
@@ -3,7 +3,7 @@ terraform {
required_providers {
artifactapi = {
source = "artifactapi.k8s.syd1.au.unkin.net/terraform-unkin/artifactapi"
version = "0.1.4"
version = "~> 0.5"
}
}
}