diff --git a/config/config.hcl b/config/config.hcl index 6f12d24..d188a51 100644 --- a/config/config.hcl +++ b/config/config.hcl @@ -97,6 +97,11 @@ locals { trimsuffix(basename(file_path), ".yaml") => content if startswith(file_path, "local_npm/") } + local_goproxy = { + for file_path, content in local.all_configs : + trimsuffix(basename(file_path), ".yaml") => content + if startswith(file_path, "local_goproxy/") + } local_ansible = { for file_path, content in local.all_configs : trimsuffix(basename(file_path), ".yaml") => content diff --git a/config/local_goproxy/go-internal.yaml b/config/local_goproxy/go-internal.yaml new file mode 100644 index 0000000..2686812 --- /dev/null +++ b/config/local_goproxy/go-internal.yaml @@ -0,0 +1 @@ +description: "Internal Go modules" diff --git a/config/virtual/go.yaml b/config/virtual/go.yaml new file mode 100644 index 0000000..bd5bc4d --- /dev/null +++ b/config/virtual/go.yaml @@ -0,0 +1,5 @@ +package_type: goproxy +description: "Virtual Go module proxy over internal and public modules — member order is priority order for duplicate versions" +members: + - go-internal + - goproxy diff --git a/environments/artifactapi.k8s.syd1.au.unkin.net/terragrunt.hcl b/environments/artifactapi.k8s.syd1.au.unkin.net/terragrunt.hcl index a15f837..db0ffd8 100644 --- a/environments/artifactapi.k8s.syd1.au.unkin.net/terragrunt.hcl +++ b/environments/artifactapi.k8s.syd1.au.unkin.net/terragrunt.hcl @@ -35,6 +35,7 @@ inputs = { local_rpm = local.config.local_rpm local_helm = local.config.local_helm local_npm = local.config.local_npm + local_goproxy = local.config.local_goproxy local_gems = local.config.local_gems local_ansible = local.config.local_ansible local_docker = local.config.local_docker diff --git a/modules/artifactapi/main.tf b/modules/artifactapi/main.tf index cf9c2d2..0ae974a 100644 --- a/modules/artifactapi/main.tf +++ b/modules/artifactapi/main.tf @@ -209,6 +209,13 @@ resource "artifactapi_local_npm" "this" { description = each.value.description } +resource "artifactapi_local_goproxy" "this" { + for_each = var.local_goproxy + + name = each.key + description = each.value.description +} + resource "artifactapi_local_gems" "this" { for_each = var.local_gems diff --git a/modules/artifactapi/variables.tf b/modules/artifactapi/variables.tf index 5074eac..ff380b8 100644 --- a/modules/artifactapi/variables.tf +++ b/modules/artifactapi/variables.tf @@ -215,6 +215,14 @@ variable "local_npm" { default = {} } +variable "local_goproxy" { + description = "Map of local Go module proxies" + type = map(object({ + description = optional(string, "") + })) + default = {} +} + variable "local_gems" { description = "Map of local gems repositories" type = map(object({