/terraform-yandex-container-registry

Terraform module witch creates a Container Registry within the Yandex.Cloud

Primary LanguageHCLMIT LicenseMIT

Terraform module

Terraform module which creates Container Registry on Yandex.Cloud. Yandex Container Registry is a Docker image storage and distribution service.

Examples

Simple registry with two repositories (test1 and test2).

locals {
  policy = {
    expire_period = "48h"
  }
  sa_id = "xxx" //service account id
}

module "cr" {
  source  = "glavk/container-registry/yandex"
  version = "0.1.3"

  registry = "test"

  role    = "puller"
  members = ["system:allUsers"]

  repos = {
    test1 = {
      role    = "pusher"
      members = [
        "serviceAccount:${local.sa_id}"
      ]
      lifecycle_policy = local.policy
    },
    test2 = {
      role    = "pusher"
      members = [
        "serviceAccount:${local.sa_id}"
      ]
      lifecycle_policy = local.policy
    }
  }

}

Requirements

Name Version
terraform >= 0.13
yandex >= 0.47.0

Providers

Name Version
yandex >= 0.47.0

Modules

No modules.

Resources

Name Type
yandex_container_registry.this resource
yandex_container_registry_iam_binding.this resource
yandex_container_repository.this resource
yandex_container_repository_iam_binding.this resource
yandex_container_repository_lifecycle_policy.this resource
yandex_resourcemanager_folder.this data source

Inputs

Name Description Type Default Required
folder_name Folder that the resource belongs to. If value is omitted, the default provider folder is used string "" no
labels Container registry labels map(string) {} no
members The role that should be applied list(string)
[
"system:allUsers"
]
no
registry Container registry name string n/a yes
repos Repositories with role binding and lifecycle_policy map(any) {} no
role The role that should be applied string "puller" no

Outputs

Name Description
registry_id n/a