diff --git a/config/remote_github_rpm/stablyai-orca-rpm.yaml b/config/remote_github_rpm/stablyai-orca-rpm.yaml index 660aaeb..b647e6d 100644 --- a/config/remote_github_rpm/stablyai-orca-rpm.yaml +++ b/config/remote_github_rpm/stablyai-orca-rpm.yaml @@ -1,3 +1,6 @@ base_url: https://api.github.com/repos/stablyai/orca description: stablyai/orca GitHub releases as a yum repo releases_remote: github +cache_repodata: true +serve_stale: true +sync_interval: 3600 diff --git a/config/virtual/rpm-custom-f44.yaml b/config/virtual/rpm-custom-f44.yaml index d8ad8c0..6ec1694 100644 --- a/config/virtual/rpm-custom-f44.yaml +++ b/config/virtual/rpm-custom-f44.yaml @@ -18,3 +18,4 @@ members: - storytold-soundcraft-rpm - storytold-vectorcraft-rpm - storytold-wordcraft-rpm +parallel_fetch: true diff --git a/modules/artifactapi/main.tf b/modules/artifactapi/main.tf index f7c5c49..b51e19c 100644 --- a/modules/artifactapi/main.tf +++ b/modules/artifactapi/main.tf @@ -9,6 +9,7 @@ resource "artifactapi_remote_alpine" "this" { immutable_patterns = each.value.immutable_patterns mutable_patterns = each.value.mutable_patterns stale_on_error = each.value.stale_on_error + serve_stale = each.value.serve_stale mirrorlist = each.value.mirrorlist mirror_strategy = each.value.mirror_strategy } @@ -25,6 +26,7 @@ resource "artifactapi_remote_cargo" "this" { patterns = each.value.patterns mutable_patterns = each.value.mutable_patterns stale_on_error = each.value.stale_on_error + serve_stale = each.value.serve_stale } resource "artifactapi_remote_docker" "this" { @@ -38,6 +40,7 @@ resource "artifactapi_remote_docker" "this" { patterns = each.value.patterns mutable_patterns = each.value.mutable_patterns stale_on_error = each.value.stale_on_error + serve_stale = each.value.serve_stale ban_tags_enabled = each.value.ban_tags_enabled ban_tags = each.value.ban_tags } @@ -53,6 +56,7 @@ resource "artifactapi_remote_generic" "this" { patterns = each.value.patterns mutable_patterns = each.value.mutable_patterns stale_on_error = each.value.stale_on_error + serve_stale = each.value.serve_stale } resource "artifactapi_remote_goproxy" "this" { @@ -64,6 +68,7 @@ resource "artifactapi_remote_goproxy" "this" { immutable_ttl = each.value.immutable_ttl mutable_ttl = each.value.mutable_ttl stale_on_error = each.value.stale_on_error + serve_stale = each.value.serve_stale } resource "artifactapi_remote_helm" "this" { @@ -77,6 +82,7 @@ resource "artifactapi_remote_helm" "this" { check_mutable = each.value.check_mutable immutable_patterns = each.value.immutable_patterns stale_on_error = each.value.stale_on_error + serve_stale = each.value.serve_stale } resource "artifactapi_remote_rpm" "this" { @@ -90,6 +96,7 @@ resource "artifactapi_remote_rpm" "this" { immutable_patterns = each.value.immutable_patterns mutable_patterns = each.value.mutable_patterns stale_on_error = each.value.stale_on_error + serve_stale = each.value.serve_stale mirrorlist = each.value.mirrorlist mirror_strategy = each.value.mirror_strategy } @@ -104,6 +111,9 @@ resource "artifactapi_remote_github_rpm" "this" { mutable_ttl = each.value.mutable_ttl patterns = each.value.patterns stale_on_error = each.value.stale_on_error + serve_stale = each.value.serve_stale + sync_interval = each.value.sync_interval + cache_repodata = each.value.cache_repodata depends_on = [artifactapi_remote_generic.this] } @@ -118,6 +128,8 @@ resource "artifactapi_remote_github_deb" "this" { mutable_ttl = each.value.mutable_ttl patterns = each.value.patterns stale_on_error = each.value.stale_on_error + serve_stale = each.value.serve_stale + sync_interval = each.value.sync_interval depends_on = [artifactapi_remote_generic.this] } @@ -132,6 +144,8 @@ resource "artifactapi_remote_github_alpine" "this" { mutable_ttl = each.value.mutable_ttl patterns = each.value.patterns stale_on_error = each.value.stale_on_error + serve_stale = each.value.serve_stale + sync_interval = each.value.sync_interval depends_on = [artifactapi_remote_generic.this] } @@ -147,6 +161,7 @@ resource "artifactapi_remote_npm" "this" { patterns = each.value.patterns mutable_patterns = each.value.mutable_patterns stale_on_error = each.value.stale_on_error + serve_stale = each.value.serve_stale } resource "artifactapi_remote_puppet" "this" { @@ -160,6 +175,7 @@ resource "artifactapi_remote_puppet" "this" { patterns = each.value.patterns mutable_patterns = each.value.mutable_patterns stale_on_error = each.value.stale_on_error + serve_stale = each.value.serve_stale } resource "artifactapi_remote_vcs" "this" { @@ -173,6 +189,7 @@ resource "artifactapi_remote_vcs" "this" { patterns = each.value.patterns mutable_patterns = each.value.mutable_patterns stale_on_error = each.value.stale_on_error + serve_stale = each.value.serve_stale } resource "artifactapi_remote_ansible" "this" { @@ -186,6 +203,7 @@ resource "artifactapi_remote_ansible" "this" { patterns = each.value.patterns mutable_patterns = each.value.mutable_patterns stale_on_error = each.value.stale_on_error + serve_stale = each.value.serve_stale } resource "artifactapi_remote_gems" "this" { @@ -199,6 +217,7 @@ resource "artifactapi_remote_gems" "this" { patterns = each.value.patterns mutable_patterns = each.value.mutable_patterns stale_on_error = each.value.stale_on_error + serve_stale = each.value.serve_stale } resource "artifactapi_remote_pypi" "this" { @@ -212,6 +231,7 @@ resource "artifactapi_remote_pypi" "this" { patterns = each.value.patterns mutable_patterns = each.value.mutable_patterns stale_on_error = each.value.stale_on_error + serve_stale = each.value.serve_stale } resource "artifactapi_local_terraform" "this" { @@ -308,8 +328,9 @@ resource "artifactapi_local_generic" "this" { resource "artifactapi_virtual" "this" { for_each = var.virtual - name = each.key - package_type = each.value.package_type - description = each.value.description - members = each.value.members + name = each.key + package_type = each.value.package_type + description = each.value.description + members = each.value.members + parallel_fetch = each.value.parallel_fetch } diff --git a/modules/artifactapi/variables.tf b/modules/artifactapi/variables.tf index 7a0c388..7ee0e25 100644 --- a/modules/artifactapi/variables.tf +++ b/modules/artifactapi/variables.tf @@ -8,6 +8,7 @@ variable "remote_alpine" { immutable_patterns = optional(list(string), []) mutable_patterns = optional(list(string), []) stale_on_error = optional(bool, true) + serve_stale = optional(bool, false) mirrorlist = optional(list(string), []) mirror_strategy = optional(string, null) })) @@ -25,6 +26,7 @@ variable "remote_cargo" { patterns = optional(list(string), []) mutable_patterns = optional(list(string), []) stale_on_error = optional(bool, true) + serve_stale = optional(bool, false) })) default = {} } @@ -39,6 +41,7 @@ variable "remote_docker" { patterns = optional(list(string), []) mutable_patterns = optional(list(string), []) stale_on_error = optional(bool, true) + serve_stale = optional(bool, false) ban_tags_enabled = optional(bool, false) ban_tags = optional(list(string), []) })) @@ -55,6 +58,7 @@ variable "remote_generic" { patterns = optional(list(string), []) mutable_patterns = optional(list(string), []) stale_on_error = optional(bool, true) + serve_stale = optional(bool, false) })) default = {} } @@ -67,6 +71,7 @@ variable "remote_goproxy" { immutable_ttl = optional(number, 0) mutable_ttl = optional(number, 300) stale_on_error = optional(bool, true) + serve_stale = optional(bool, false) })) default = {} } @@ -81,6 +86,7 @@ variable "remote_helm" { check_mutable = optional(bool, true) immutable_patterns = optional(list(string), []) stale_on_error = optional(bool, true) + serve_stale = optional(bool, false) })) default = {} } @@ -95,6 +101,7 @@ variable "remote_rpm" { immutable_patterns = optional(list(string), []) mutable_patterns = optional(list(string), []) stale_on_error = optional(bool, true) + serve_stale = optional(bool, false) mirrorlist = optional(list(string), []) mirror_strategy = optional(string, null) })) @@ -110,6 +117,9 @@ variable "remote_github_rpm" { mutable_ttl = optional(number, 21600) patterns = optional(list(string), []) stale_on_error = optional(bool, true) + serve_stale = optional(bool, false) + sync_interval = optional(number, 0) + cache_repodata = optional(bool, false) })) default = {} } @@ -123,6 +133,8 @@ variable "remote_github_deb" { mutable_ttl = optional(number, 21600) patterns = optional(list(string), []) stale_on_error = optional(bool, true) + serve_stale = optional(bool, false) + sync_interval = optional(number, 0) })) default = {} } @@ -136,6 +148,8 @@ variable "remote_github_alpine" { mutable_ttl = optional(number, 21600) patterns = optional(list(string), []) stale_on_error = optional(bool, true) + serve_stale = optional(bool, false) + sync_interval = optional(number, 0) })) default = {} } @@ -150,6 +164,7 @@ variable "remote_npm" { patterns = optional(list(string), []) mutable_patterns = optional(list(string), []) stale_on_error = optional(bool, true) + serve_stale = optional(bool, false) })) default = {} } @@ -164,6 +179,7 @@ variable "remote_puppet" { patterns = optional(list(string), []) mutable_patterns = optional(list(string), []) stale_on_error = optional(bool, true) + serve_stale = optional(bool, false) })) default = {} } @@ -178,6 +194,7 @@ variable "remote_vcs" { patterns = optional(list(string), []) mutable_patterns = optional(list(string), []) stale_on_error = optional(bool, true) + serve_stale = optional(bool, false) })) default = {} } @@ -192,6 +209,7 @@ variable "remote_ansible" { patterns = optional(list(string), []) mutable_patterns = optional(list(string), []) stale_on_error = optional(bool, true) + serve_stale = optional(bool, false) })) default = {} } @@ -206,6 +224,7 @@ variable "remote_gems" { patterns = optional(list(string), []) mutable_patterns = optional(list(string), []) stale_on_error = optional(bool, true) + serve_stale = optional(bool, false) })) default = {} } @@ -220,6 +239,7 @@ variable "remote_pypi" { patterns = optional(list(string), []) mutable_patterns = optional(list(string), []) stale_on_error = optional(bool, true) + serve_stale = optional(bool, false) })) default = {} } @@ -331,9 +351,10 @@ variable "local_docker" { variable "virtual" { description = "Map of virtual repositories" type = map(object({ - package_type = string - description = optional(string, "") - members = list(string) + package_type = string + description = optional(string, "") + members = list(string) + parallel_fetch = optional(bool, false) })) default = {} } diff --git a/modules/artifactapi/versions.tf b/modules/artifactapi/versions.tf index e4d4c52..4831ac5 100644 --- a/modules/artifactapi/versions.tf +++ b/modules/artifactapi/versions.tf @@ -3,7 +3,7 @@ terraform { required_providers { artifactapi = { source = "artifactapi.k8s.syd1.au.unkin.net/terraform-unkin/artifactapi" - version = "~> 0.7" + version = "~> 0.14" } } }