Commit Graph

85 Commits

Author SHA1 Message Date
unkin-agent 809758961b merge main
ci/woodpecker/pr/pre-commit Pipeline was successful
ci/woodpecker/pr/build Pipeline was successful
ci/woodpecker/pr/test Pipeline was successful
2026-10-18 20:51:46 +11:00
benvin 627a58059e Merge pull request 'Add artifactapi_local_ansible resource' (#34) from benvin/local-ansible into main
ci/woodpecker/tag/release Pipeline was successful
Reviewed-on: #34
v0.10.0
2026-10-18 18:02:44 +11:00
benvin 2357d41ada Merge pull request 'resource_remote: add artifactapi_remote_ansible' (#23) from benvin/remote-ansible into main
Reviewed-on: #23
2026-10-18 18:02:32 +11:00
unkin-agent 1b11e20769 Add artifactapi_local_ansible resource
ci/woodpecker/pr/build Pipeline was successful
ci/woodpecker/pr/pre-commit Pipeline was successful
ci/woodpecker/pr/test Pipeline was successful
2026-10-18 03:38:31 +11:00
unkin-agent 7c2c8b6d3a Merge main into benvin/remote-ansible
ci/woodpecker/pr/build Pipeline was successful
ci/woodpecker/pr/pre-commit Pipeline was successful
ci/woodpecker/pr/test Pipeline was successful
2026-10-18 03:21:33 +11:00
benvin 30fd69548a Merge pull request 'Add artifactapi_local_gems resource' (#33) from benvin/local-gems into main
ci/woodpecker/tag/release Pipeline was successful
Reviewed-on: #33
v0.9.0
2026-10-18 01:13:06 +11:00
unkin-agent 7249e418f3 Add artifactapi_local_gems resource
ci/woodpecker/pr/build Pipeline was successful
ci/woodpecker/pr/pre-commit Pipeline was successful
ci/woodpecker/pr/test Pipeline was successful
2026-10-18 00:39:54 +11:00
benvin 25b8f7af14 Merge pull request 'use placeholder host in docs and examples' (#32) from benvin/placeholder-host into main
Reviewed-on: #32
2026-10-17 17:18:48 +11:00
unkin-agent b89d453cf0 document source address for make install builds
ci/woodpecker/pr/build Pipeline was successful
ci/woodpecker/pr/pre-commit Pipeline was successful
ci/woodpecker/pr/test Pipeline was successful
2026-10-17 15:47:56 +11:00
unkin-agent b3a897cc20 use placeholder host in docs and examples
ci/woodpecker/pr/build Pipeline was successful
ci/woodpecker/pr/pre-commit Pipeline was successful
ci/woodpecker/pr/test Pipeline was successful
2026-10-17 15:40:14 +11:00
benvin b2272508cc Merge pull request 'Register resources per file and split resource docs' (#31) from benvin/modular-registry into main
ci/woodpecker/tag/release Pipeline was successful
Reviewed-on: #31
v0.8.0
2026-10-17 15:31:07 +11:00
unkin-agent 36f8f468e7 Register resources per file and split resource docs
ci/woodpecker/pr/build Pipeline was successful
ci/woodpecker/pr/pre-commit Pipeline was successful
ci/woodpecker/pr/test Pipeline was successful
- add registry with per-file init() registration, sorted by type name
- give each remote kind its own resource_remote_<kind>.go
- replace hardcoded resource tables with registry/examples/docs invariants
- move per-resource README sections into docs/resources and docs/data-sources
2026-10-17 15:17:02 +11:00
benvin 52343256da Merge pull request 'Add artifactapi_local_helm resource' (#26) from benvin/local-helm into main
Reviewed-on: #26
2026-10-17 15:14:55 +11:00
unkin-agent f8d0f8b5ed merge main
ci/woodpecker/pr/test Pipeline was successful
ci/woodpecker/pr/build Pipeline was successful
ci/woodpecker/pr/pre-commit Pipeline was successful
2026-10-17 13:23:24 +11:00
unkin-agent 2ef0119eef merge main
ci/woodpecker/pr/build Pipeline was successful
ci/woodpecker/pr/pre-commit Pipeline was successful
ci/woodpecker/pr/test Pipeline was successful
2026-10-17 13:23:14 +11:00
unkin-agent 744fa2b817 merge main
ci/woodpecker/pr/build Pipeline was successful
ci/woodpecker/pr/pre-commit Pipeline was successful
ci/woodpecker/pr/test Pipeline was successful
2026-10-17 13:22:50 +11:00
benvin 12a736c542 Merge pull request 'resource_remote: add artifactapi_remote_gems' (#27) from benvin/remote-gems into main
Reviewed-on: #27
2026-10-17 13:21:22 +11:00
unkin-agent 0a6b6f1839 merge main
ci/woodpecker/pr/build Pipeline was successful
ci/woodpecker/pr/test Pipeline was successful
ci/woodpecker/pr/pre-commit Pipeline was successful
2026-10-17 12:51:57 +11:00
unkin-agent aba6639cdc merge main
ci/woodpecker/pr/build Pipeline was successful
ci/woodpecker/pr/pre-commit Pipeline was successful
ci/woodpecker/pr/test Pipeline was successful
2026-10-17 12:51:18 +11:00
unkin-agent 055d49f2fa merge main
ci/woodpecker/pr/build Pipeline was successful
ci/woodpecker/pr/pre-commit Pipeline was successful
ci/woodpecker/pr/test Pipeline was successful
2026-10-17 12:49:18 +11:00
unkin-agent 2ed3ec472b Merge remote-tracking branch 'origin/main' into benvin/remote-gems
ci/woodpecker/pr/build Pipeline was successful
ci/woodpecker/pr/pre-commit Pipeline was successful
ci/woodpecker/pr/test Pipeline was successful
# Conflicts:
#	internal/provider/provider_test.go
2026-10-17 12:47:55 +11:00
benvin 1ad6aff8a4 Merge pull request 'Add artifactapi_local_npm resource' (#24) from benvin/local-npm into main
Reviewed-on: #24
2026-10-17 12:47:28 +11:00
unkin-agent 3b65a3ca92 Fix resource count comment
ci/woodpecker/pr/build Pipeline was successful
ci/woodpecker/pr/pre-commit Pipeline was successful
ci/woodpecker/pr/test Pipeline was successful
2026-10-17 12:40:36 +11:00
unkin-agent 81c2bc1e4a Retrigger CI
ci/woodpecker/pr/build Pipeline was successful
ci/woodpecker/pr/pre-commit Pipeline was successful
ci/woodpecker/pr/test Pipeline was successful
2026-10-16 23:35:45 +11:00
unkin-agent 7783b571b7 Add artifactapi_local_goproxy resource
ci/woodpecker/pr/pre-commit Pipeline failed
ci/woodpecker/pr/build Pipeline was successful
ci/woodpecker/pr/test Pipeline was successful
2026-10-16 23:33:59 +11:00
unkin-agent 7b86d2f022 resource_remote: add artifactapi_remote_gems
ci/woodpecker/pr/build Pipeline was successful
ci/woodpecker/pr/pre-commit Pipeline was successful
ci/woodpecker/pr/test Pipeline was successful
2026-10-16 23:21:48 +11:00
unkin-agent a83eab2449 Add artifactapi_local_helm resource
ci/woodpecker/pr/build Pipeline was successful
ci/woodpecker/pr/pre-commit Pipeline was successful
ci/woodpecker/pr/test Pipeline was successful
2026-10-16 23:17:09 +11:00
unkin-agent 924ca78104 Add artifactapi_local_npm resource
ci/woodpecker/pr/build Pipeline was successful
ci/woodpecker/pr/pre-commit Pipeline was successful
ci/woodpecker/pr/test Pipeline was successful
2026-10-16 23:10:39 +11:00
unkin-agent cb6707b3ad resource_remote: add artifactapi_remote_ansible
ci/woodpecker/pr/build Pipeline was successful
ci/woodpecker/pr/pre-commit Pipeline was successful
ci/woodpecker/pr/test Pipeline was successful
2026-10-16 23:08:30 +11:00
benvin 30a393ae80 Merge pull request 'provider: add bearer token auth' (#22) from benvin/bearer-token into main
ci/woodpecker/tag/release Pipeline was successful
Reviewed-on: #22
v0.7.0
2026-10-16 21:48:44 +11:00
unkin-agent 517790abef provider: add bearer token auth
ci/woodpecker/pr/build Pipeline was successful
ci/woodpecker/pr/pre-commit Pipeline was successful
ci/woodpecker/pr/test Pipeline was successful
2026-10-14 22:20:15 +11:00
benvin 70169163db Merge pull request 'resource_remote: add artifactapi_remote_cargo' (#21) from benvin/remote-cargo into main
ci/woodpecker/tag/release Pipeline was successful
Reviewed-on: #21
v0.6.0
2026-10-09 21:48:45 +11:00
unkin-agent 43dde488ca provider_test: bump expected resource count to 23
ci/woodpecker/pr/build Pipeline was successful
ci/woodpecker/pr/pre-commit Pipeline was successful
ci/woodpecker/pr/test Pipeline was successful
2026-10-09 19:39:44 +11:00
unkin-agent 1a5fdcfd72 resource_remote: add artifactapi_remote_cargo 2026-10-09 19:39:11 +11:00
benvin 74a3c39c3b Merge pull request 'ci: shared gobuilder image + S3 Go build cache' (#20) from benvin/gocache into main
Reviewed-on: #20
2026-10-02 23:57:58 +10:00
unkin-agent e1370de1c4 ci: use shared gobuilder image + S3 Go build cache
ci/woodpecker/pr/build Pipeline was successful
ci/woodpecker/pr/pre-commit Pipeline was successful
ci/woodpecker/pr/test Pipeline was successful
Go toolchain steps (build, lint, test, pre-commit, package) now run
on artifactapi gobuilder:0.1.2-alma9 instead of golang:1.25 / the old
almalinux9-gobuilder:20260606 pin. Adds GOCACHEPROG env wiring each
step to the shared S3-backed build cache via go-cache-plugin.
2026-10-02 23:51:47 +10:00
benvin f947f23e45 Merge pull request 'resource_remote: add mirror_strategy attribute (fixes missing API field)' (#19) from benvin/mirror-strategy into main
ci/woodpecker/tag/release Pipeline was successful
Reviewed-on: #19
v0.5.1
2026-08-13 19:56:58 +10:00
unkin-agent 24c11d233a resource_remote: make mirror_strategy Computed to avoid plan churn
ci/woodpecker/pr/build Pipeline was successful
ci/woodpecker/pr/test Pipeline was successful
ci/woodpecker/pr/pre-commit Pipeline was successful
The API stores mirror_strategy NOT NULL DEFAULT 'round_robin' and always
returns it on GET, so an Optional-only attribute (mapping empty->null on
read) put 'round_robin' into state while config was null, showing a
perpetual 'round_robin -> null' diff for every remote that did not set it.

- schema: mirror_strategy is now Optional+Computed with a round_robin
  default, mirroring how the description attribute handles an
  API-defaulted scalar; state can hold the API's round_robin with no diff
- apiToModel: pass the API value straight through, settling an empty
  create-response to the round_robin default (no more empty->null)
- datasource: read the value through directly (drop the shared helper)
- tests: assert the GET-returns-round_robin refresh path yields no
  post-apply diff, the empty create-response settles to the default, and
  the schema attribute is Optional+Computed

Removed the now-unused stringOrNull helper.
2026-08-13 19:27:49 +10:00
unkin-agent c69c3d9f74 resource_remote: add mirror_strategy attribute
ci/woodpecker/pr/build Pipeline was successful
ci/woodpecker/pr/test Pipeline was successful
ci/woodpecker/pr/pre-commit Pipeline was successful
The provider exposed mirrorlist but not mirror_strategy, so the API's
mirror load-balancing strategy (round_robin/least_conn) was unreachable
via Terraform. Add mirror_strategy the same way mirrorlist was added,
scoped to rpm/deb/alpine remotes.

- schema: optional string mirror_strategy on the remote resource
- ValidateConfig: reject on non-rpm/deb/alpine types and validate the
  round_robin/least_conn enum at plan time
- wire model + modelToAPI/apiToModel (empty->null to avoid perpetual diff)
- datasource (computed) + README + rpm example
- unit tests: modelToAPI/apiToModel round-trip and ValidateConfig matrix
2026-08-13 17:50:52 +10:00
benvin bc13e7372d Merge pull request 'resource_remote: add mirrorlist attribute (rpm/deb/apk remotes)' (#18) from benvin/mirrorlist into main
ci/woodpecker/tag/release Pipeline was successful
Reviewed-on: #18
v0.5.0
2026-08-13 17:24:58 +10:00
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
benvin 0879921398 Merge pull request 'Add artifactapi_remote_github_alpine resource' (#17) from benvin/apk-github into main
ci/woodpecker/tag/release Pipeline was successful
Reviewed-on: #17
v0.4.0
2026-08-12 20:49:57 +10:00
unkin-agent 719b0dd502 Add artifactapi_remote_github_alpine resource
ci/woodpecker/pr/build Pipeline was successful
ci/woodpecker/pr/test Pipeline was successful
ci/woodpecker/pr/pre-commit Pipeline was successful
Adds the metadata-only Alpine/apk analog of the github_deb/github_rpm
remotes: exposes a GitHub repo's release .apk assets as an apk repository
(synthesized APKINDEX) without precaching, redirecting downloads to a
backing releases_remote.

- register newRemoteResource("github_alpine") in provider Resources()
- add NewRemoteGitHubAlpine convenience ctor
- extend provider/metadata/ctor table tests + bump resource count to 22
- document github_alpine remote type in README
- add examples/resources/artifactapi_remote_github_alpine/main.tf
2026-08-12 20:42:10 +10:00
benvin 8d2e0ef27d Merge pull request 'Add artifactapi_local_alpine resource' (#16) from benvin/apk-local into main
Reviewed-on: #16
2026-08-12 20:41:03 +10:00
unkin-agent cb1110c723 Add artifactapi_local_alpine resource
ci/woodpecker/pr/build Pipeline was successful
ci/woodpecker/pr/test Pipeline was successful
ci/woodpecker/pr/pre-commit Pipeline was successful
Adds a local Alpine/apk repository resource mirroring the existing
artifactapi_local_deb and artifactapi_local_rpm locals, so Alpine
package registries can be managed directly via Terraform.

- add localAlpineResource (PackageType alpine, RepoType local) with
  CRUD + import passthrough and model<->API mappers
- register NewLocalAlpineResource in provider Resources()
- bump provider_test resource count to 21 and expected type list
- add local unit tests and README/example entries
2026-08-12 00:52:33 +10:00
benvin b8c18690ef Merge pull request 'Add artifactapi_remote_github_deb resource' (#15) from benvin/deb-github-metadataonly into main
ci/woodpecker/tag/release Pipeline was successful
Reviewed-on: #15
v0.3.0
2026-08-11 23:52:45 +10:00
unkin-agent 25b72fd1ac Add artifactapi_remote_github_deb resource
ci/woodpecker/pr/build Pipeline was successful
ci/woodpecker/pr/test Pipeline was successful
ci/woodpecker/pr/pre-commit Pipeline was successful
Add the metadata-only Debian/apt analog of artifactapi_remote_github_rpm,
exposing a GitHub repo's release .deb assets as a synthesized apt repository
with downloads redirected to a backing releases_remote.

- Register newRemoteResource("github_deb") and add NewRemoteGitHubDeb ctor
- Bump provider resource count 19 -> 20 and add the type name to test lists
- Add modelToAPI/metadata/constructor test coverage for github_deb
- Document github_deb in README and add an examples/ main.tf (goodtune/ghp)
2026-08-11 23:43:31 +10:00
benvin 5ee3a1d3d6 Merge pull request 'Add artifactapi_local_deb and artifactapi_remote_deb resources' (#14) from benvin/deb-local-remote into main
Reviewed-on: #14
2026-08-11 23:41:33 +10:00
unkin-agent b21892217a Add artifactapi_local_deb and artifactapi_remote_deb resources
ci/woodpecker/pr/build Pipeline was successful
ci/woodpecker/pr/test Pipeline was successful
ci/woodpecker/pr/pre-commit Pipeline was successful
2026-08-11 21:50:20 +10:00