Compare commits

..

10 Commits

7 changed files with 108 additions and 43 deletions

View File

@@ -10,6 +10,7 @@ resource vultr_kubernetes athens {
label = var.cluster.pools["main"].label
min_nodes = var.cluster.pools["main"].min_nodes
max_nodes = var.cluster.pools["main"].max_nodes
auto_scaler = true
}
}

View File

@@ -28,7 +28,7 @@ resource kubernetes_deployment gitea {
name = "gitea-main"
}
port {
container_port = 22
container_port = 2222
name = "gitea-ssh"
}
volume_mount {
@@ -62,5 +62,10 @@ resource kubernetes_service gitea {
port = 3000
name = "http"
}
port {
target_port = "gitea-ssh"
port = 2222
name = "ssh"
}
}
}

View File

@@ -1,3 +1,10 @@
locals {
services = {
code = kubernetes_service.gitea
sanity = kubernetes_service.health
uptime = kubernetes_service.kuma
}
}
resource kubernetes_ingress_v1 health {
metadata {
name = "health-ingress"
@@ -17,49 +24,20 @@ resource kubernetes_ingress_v1 health {
]
secret_name = "shockrah"
}
rule {
host = "sanity.shockrah.xyz"
dynamic "rule" {
for_each = local.services
content {
host = "${rule.key}.shockrah.xyz"
http {
path {
path = "/"
backend {
service {
name = kubernetes_service.health.metadata[0].name
port {
number = kubernetes_service.health.spec[0].port[0].port
}
}
}
}
}
}
rule {
host = "uptime.shockrah.xyz"
http {
path {
path = "/"
backend {
service {
name = kubernetes_service.kuma.metadata[0].name
path {
path = "/"
backend {
service {
name = rule.value.metadata[0].name
port {
number = kubernetes_service.kuma.spec[0].port[0].port
}
}
}
}
}
}
rule {
host = "code.shockrah.xyz"
http {
path {
path = "/"
backend {
service {
name = kubernetes_service.gitea.metadata[0].name
port {
number = kubernetes_service.gitea.spec[0].port[0].port
number = rule.value.spec[0].port[0].port
}
}
}
}
}

View File

@@ -15,3 +15,4 @@ resource kubernetes_namespace openobserve {
name = "openobserve"
}
}

View File

@@ -5,7 +5,7 @@ cluster = {
pools = {
main = {
node_quantity = 1
plan = "vc2-1c-2gb"
plan = "vc2-2c-4gb"
label = "main"
min_nodes = 1
max_nodes = 2

View File

@@ -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"
}
}
}
}

View File

@@ -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"
}
}
}