Files
unkin-agent 719b0dd502
ci/woodpecker/pr/build Pipeline was successful
ci/woodpecker/pr/test Pipeline was successful
ci/woodpecker/pr/pre-commit Pipeline was successful
Add artifactapi_remote_github_alpine resource
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

45 lines
1.3 KiB
Terraform

terraform {
required_providers {
artifactapi = {
source = "git.unkin.net/unkin/artifactapi"
version = "0.0.1"
}
}
}
provider "artifactapi" {
endpoint = "https://artifactapi.example.com"
}
# Backend generic remote that serves the actual .apk bytes from github.com.
# Its patterns must allowlist the target repo's release-download assets.
resource "artifactapi_remote_generic" "github" {
name = "github"
base_url = "https://github.com"
patterns = [
"goodtune/ghp/releases/download/.*\\.apk$",
]
}
# Metadata-only remote: scans goodtune/ghp releases for .apk assets and serves a
# synthesized apk repo (APKINDEX). Packages are never precached; downloads
# 302-redirect to the "github" remote above.
resource "artifactapi_remote_github_alpine" "goodtune_ghp" {
name = "goodtune-ghp"
base_url = "https://api.github.com/repos/goodtune/ghp"
description = "goodtune/ghp GitHub releases as an apk repo"
releases_remote = artifactapi_remote_generic.github.name
mutable_ttl = 3600
# Optional: restrict which release assets become packages.
patterns = [
".*_x86_64\\.apk$",
".*_noarch\\.apk$",
]
# Optional: token for private repos / higher GitHub API rate limits.
# password = var.github_token
}