diff --git a/infra/vultr-kubernetes/volumes.tf b/infra/vultr-kubernetes/volumes.tf index 636ad4c..6a4a7e4 100644 --- a/infra/vultr-kubernetes/volumes.tf +++ b/infra/vultr-kubernetes/volumes.tf @@ -30,3 +30,20 @@ resource kubernetes_persistent_volume_claim_v1 gitea { } } } + + +resource kubernetes_persistent_volume_claim_v1 otterwiki { + metadata { + name = "otterwiki-data" + namespace = var.playground.namespace + } + spec { + volume_mode = "Filesystem" + access_modes = [ "ReadWriteOnce"] + resources { + requests = { + storage = "10Gi" + } + } + } +} \ No newline at end of file diff --git a/infra/vultr-kubernetes/wiki.tf b/infra/vultr-kubernetes/wiki.tf new file mode 100644 index 0000000..f5c14f7 --- /dev/null +++ b/infra/vultr-kubernetes/wiki.tf @@ -0,0 +1,63 @@ +resource kubernetes_deployment otterwiki { + metadata { + name = "otterwiki" + namespace = var.playground.namespace + labels = { + "app" = "otterwiki" + } + } + spec { + replicas = 1 + selector { + match_labels = { + "app" = "otterwiki" + } + } + template { + metadata { + labels = { + "app" = "otterwiki" + } + } + spec { + container { + name = "otterwiki" + image = "redimp/otterwiki:2" + port { + container_port = 8080 + name = "otterwiki-main" + } + volume_mount { + name = "otterwiki-data" + mount_path = "/var/lib/otterwiki" + } + } + volume { + name = "otterwiki-data" + persistent_volume_claim { + claim_name = kubernetes_persistent_volume_claim_v1.otterwiki.metadata[0].name + } + } + } + } + } +} + +resource kubernetes_service otterwiki { + metadata { + name = "otterwiki" + namespace = var.playground.namespace + } + spec { + selector = { + "app" = "otterwiki" + } + port { + port = 80 + target_port = "otterwiki-main" + protocol = "TCP" + name = "http" + } + } +} +