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
This commit is contained in:
@@ -0,0 +1,44 @@
|
||||
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
|
||||
}
|
||||
Reference in New Issue
Block a user