719b0dd502
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
45 lines
1.3 KiB
Terraform
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
|
|
}
|