diff --git a/terraform-modules/aws/helm/ghcr-secret/ghcr-secret.tpl.yaml b/terraform-modules/aws/helm/ghcr-secret/ghcr-secret.tpl.yaml new file mode 100644 index 000000000..fa1b05c5e --- /dev/null +++ b/terraform-modules/aws/helm/ghcr-secret/ghcr-secret.tpl.yaml @@ -0,0 +1,12 @@ +--- +apiVersion: v1 +kind: Secret +type: kubernetes.io/dockerconfigjson +metadata: + #name: dockerconfigjson-github-com + name: ${secret_name} + namespace: ${namespace} + labels: + app: app-name +data: + .dockerconfigjson: ${ghcr_secret} \ No newline at end of file diff --git a/terraform-modules/aws/helm/ghcr-secret/main.tf b/terraform-modules/aws/helm/ghcr-secret/main.tf new file mode 100644 index 000000000..c5aea793e --- /dev/null +++ b/terraform-modules/aws/helm/ghcr-secret/main.tf @@ -0,0 +1,12 @@ +data "template_file" "ghcr_secret" { + template = file("${path.module}/ghcr-secret.tpl.yaml") + + vars = { + ghcr_secret = var.ghcr_secret + namespace = var.namespace + } +} + +resource "kubectl_manifest" "ghcr_secret" { + yaml_body = data.template_file.ghcr_secret.rendered +} \ No newline at end of file diff --git a/terraform-modules/aws/helm/ghcr-secret/variables.tf b/terraform-modules/aws/helm/ghcr-secret/variables.tf new file mode 100644 index 000000000..b3863f342 --- /dev/null +++ b/terraform-modules/aws/helm/ghcr-secret/variables.tf @@ -0,0 +1,14 @@ +#namespace of the application +variable "namespace" { + type = string +} + +#name of the secret for using for reference +variable "secret_name" { + type = string +} + +#value of the json for authorize ghcr +variable "ghcr_secret" { + type = string +}