diff --git a/terraform/rack/do/registry.tf b/terraform/rack/do/registry.tf index 20ff2d6..7e70808 100644 --- a/terraform/rack/do/registry.tf +++ b/terraform/rack/do/registry.tf @@ -107,8 +107,8 @@ resource "kubernetes_deployment" "registry" { volume { name = "registry" - host_path { - path = "/var/lib/registry" + persistent_volume_claim { + claim_name = kubernetes_persistent_volume_claim.registry.metadata.0.name } } } @@ -116,6 +116,22 @@ resource "kubernetes_deployment" "registry" { } } +resource "kubernetes_persistent_volume_claim" "registry" { + metadata { + namespace = module.k8s.namespace + name = "registry" + } + + spec { + access_modes = ["ReadWriteOnce"] + resources { + requests = { + storage = var.registry_disk + } + } + } +} + resource "kubernetes_service" "registry" { metadata { namespace = module.k8s.namespace diff --git a/terraform/rack/do/variables.tf b/terraform/rack/do/variables.tf index 0d3ebdf..9a7d851 100644 --- a/terraform/rack/do/variables.tf +++ b/terraform/rack/do/variables.tf @@ -14,6 +14,10 @@ variable "region" { type = "string" } +variable "registry_disk" { + type = "string" +} + variable "release" { type = "string" } diff --git a/terraform/system/do/main.tf b/terraform/system/do/main.tf index 275f53d..8d2ab19 100644 --- a/terraform/system/do/main.tf +++ b/terraform/system/do/main.tf @@ -55,10 +55,11 @@ module "rack" { kubernetes = kubernetes } - access_id = var.access_id - kubeconfig = module.cluster.kubeconfig - name = var.name - region = var.region - release = local.release - secret_key = var.secret_key + access_id = var.access_id + kubeconfig = module.cluster.kubeconfig + name = var.name + region = var.region + registry_disk = var.registry_disk + release = local.release + secret_key = var.secret_key } diff --git a/terraform/system/do/variables.tf b/terraform/system/do/variables.tf index 134fda9..21b9233 100644 --- a/terraform/system/do/variables.tf +++ b/terraform/system/do/variables.tf @@ -14,6 +14,10 @@ variable "region" { type = "string" } +variable "registry_disk" { + type = "string" +} + variable "release" { default = "" }