From 2aa0e3a3bb787737138c33f122cba4398e61a959 Mon Sep 17 00:00:00 2001 From: unkin-agent Date: Sat, 17 Oct 2026 17:01:41 +1100 Subject: [PATCH] Add local npm kind and npm virtual --- config/config.hcl | 5 +++++ config/local_npm/npm-internal.yaml | 1 + config/virtual/npm.yaml | 5 +++++ .../artifactapi.k8s.syd1.au.unkin.net/terragrunt.hcl | 1 + modules/artifactapi/main.tf | 7 +++++++ modules/artifactapi/variables.tf | 8 ++++++++ 6 files changed, 27 insertions(+) create mode 100644 config/local_npm/npm-internal.yaml create mode 100644 config/virtual/npm.yaml diff --git a/config/config.hcl b/config/config.hcl index 56025ed..3c558a0 100644 --- a/config/config.hcl +++ b/config/config.hcl @@ -82,6 +82,11 @@ locals { trimsuffix(basename(file_path), ".yaml") => content if startswith(file_path, "local_helm/") } + local_npm = { + for file_path, content in local.all_configs : + trimsuffix(basename(file_path), ".yaml") => content + if startswith(file_path, "local_npm/") + } local_docker = { for file_path, content in local.all_configs : trimsuffix(basename(file_path), ".yaml") => content diff --git a/config/local_npm/npm-internal.yaml b/config/local_npm/npm-internal.yaml new file mode 100644 index 0000000..2d45a0c --- /dev/null +++ b/config/local_npm/npm-internal.yaml @@ -0,0 +1 @@ +description: "Internal npm packages" diff --git a/config/virtual/npm.yaml b/config/virtual/npm.yaml new file mode 100644 index 0000000..7c87007 --- /dev/null +++ b/config/virtual/npm.yaml @@ -0,0 +1,5 @@ +package_type: npm +description: "Virtual npm registry over internal and public packages — member order is priority order for duplicate versions" +members: + - npm-internal + - npmjs diff --git a/environments/artifactapi.k8s.syd1.au.unkin.net/terragrunt.hcl b/environments/artifactapi.k8s.syd1.au.unkin.net/terragrunt.hcl index b46c6fc..dab55c2 100644 --- a/environments/artifactapi.k8s.syd1.au.unkin.net/terragrunt.hcl +++ b/environments/artifactapi.k8s.syd1.au.unkin.net/terragrunt.hcl @@ -32,6 +32,7 @@ inputs = { local_pypi = local.config.local_pypi local_rpm = local.config.local_rpm local_helm = local.config.local_helm + local_npm = local.config.local_npm local_docker = local.config.local_docker local_generic = local.config.local_generic virtual = local.config.virtual diff --git a/modules/artifactapi/main.tf b/modules/artifactapi/main.tf index 2289ebe..b1382ac 100644 --- a/modules/artifactapi/main.tf +++ b/modules/artifactapi/main.tf @@ -176,6 +176,13 @@ resource "artifactapi_local_helm" "this" { description = each.value.description } +resource "artifactapi_local_npm" "this" { + for_each = var.local_npm + + name = each.key + description = each.value.description +} + resource "artifactapi_local_docker" "this" { for_each = var.local_docker diff --git a/modules/artifactapi/variables.tf b/modules/artifactapi/variables.tf index 0181dfd..0c0c3da 100644 --- a/modules/artifactapi/variables.tf +++ b/modules/artifactapi/variables.tf @@ -179,6 +179,14 @@ variable "local_helm" { default = {} } +variable "local_npm" { + description = "Map of local npm registries" + type = map(object({ + description = optional(string, "") + })) + default = {} +} + variable "local_generic" { description = "Map of local generic (raw-file) repositories" type = map(object({ -- 2.47.3