resource_remote: add mirrorlist attribute (rpm/deb/apk remotes) #18

Merged
benvin merged 2 commits from benvin/mirrorlist into main 2026-08-13 17:24:59 +10:00

2 Commits

Author SHA1 Message Date
unkin-agent cd49af0f94 go.mod: promote terraform-plugin-go to a direct dependency
ci/woodpecker/pr/build Pipeline was successful
ci/woodpecker/pr/test Pipeline was successful
ci/woodpecker/pr/pre-commit Pipeline was successful
The mirrorlist ValidateConfig test imports terraform-plugin-go/tftypes
directly to build a tfsdk.Config, so `go mod tidy` moves it from an
indirect to a direct require. Commit the tidied go.mod so the CI
go-mod-tidy pre-commit hook is green.
2026-08-13 16:22:29 +10:00
unkin-agent 9ed7f07463 resource_remote: add mirrorlist attribute (rpm/deb/apk remotes)
ci/woodpecker/pr/build Pipeline was successful
ci/woodpecker/pr/test Pipeline was successful
ci/woodpecker/pr/pre-commit Pipeline failed
Expose the artifactapi remotes API's new mirrorlist field so users can
configure extra upstream mirror base URLs. The API load-balances
base_url + mirrorlist with failover.

- Add optional mirrorlist list attribute to the remote resource schema
  and the remote data source (read-only).
- Wire it end-to-end: TF model, wire model (json mirrorlist,omitempty),
  modelToAPI/apiToModel, and preserve null/empty list semantics to avoid
  plan churn.
- Scope to rpm/deb/alpine via ValidateConfig (plan-time error on other
  remote types); API 400 is the backstop.
- Docs + rpm example; unit tests for round-trip, null handling, and the
  type-scoping validation.
2026-08-13 16:16:49 +10:00