135 lines
2.8 KiB
HCL
135 lines
2.8 KiB
HCL
resource "kubernetes_namespace" "gitea" {
|
|
metadata {
|
|
name = "gitea-system"
|
|
}
|
|
}
|
|
|
|
resource "null_resource" "install_longhorn" {
|
|
depends_on = [null_resource.node_prep]
|
|
|
|
provisioner "local-exec" {
|
|
command = "kubectl apply -f https://raw.githubusercontent.com/longhorn/longhorn/v1.6.2/deploy/longhorn.yaml"
|
|
}
|
|
}
|
|
|
|
resource "kubernetes_persistent_volume_claim" "gitea_pvc" {
|
|
depends_on = [null_resource.install_longhorn]
|
|
|
|
metadata {
|
|
name = "gitea-pvc"
|
|
namespace = kubernetes_namespace.gitea.metadata[0].name
|
|
}
|
|
spec {
|
|
access_modes = ["ReadWriteOnce"]
|
|
storage_class_name = "longhorn"
|
|
resources {
|
|
requests = {
|
|
storage = "10Gi"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
resource "kubernetes_deployment" "gitea_prod" {
|
|
metadata {
|
|
name = "gitea-prod"
|
|
namespace = kubernetes_namespace.gitea.metadata[0].name
|
|
}
|
|
spec {
|
|
replicas = 1
|
|
selector {
|
|
match_labels = {
|
|
app = "gitea"
|
|
}
|
|
}
|
|
template {
|
|
metadata {
|
|
labels = {
|
|
app = "gitea"
|
|
}
|
|
}
|
|
spec {
|
|
container {
|
|
name = "gitea"
|
|
image = "gitea/gitea:1.21.7"
|
|
|
|
port {
|
|
container_port = 3000
|
|
name = "http"
|
|
}
|
|
port {
|
|
container_port = 22
|
|
name = "ssh"
|
|
}
|
|
|
|
env {
|
|
name = "USER_UID"
|
|
value = "1000"
|
|
}
|
|
env {
|
|
name = "USER_GID"
|
|
value = "1000"
|
|
}
|
|
env {
|
|
name = "GITEA__database__DB_TYPE"
|
|
value = "sqlite3"
|
|
}
|
|
|
|
env {
|
|
name = "GITEA__repository__ENABLE_PUSH_MIRROR"
|
|
value = "true"
|
|
}
|
|
|
|
env {
|
|
name = "GITEA__repository__ENABLE_PUSH_MIRROR"
|
|
value = "true"
|
|
}
|
|
|
|
# ADD THIS NEW BLOCK:
|
|
env {
|
|
name = "GITEA__migrations__ALLOW_LOCALNETWORKS"
|
|
value = "true"
|
|
}
|
|
|
|
volume_mount {
|
|
mount_path = "/data"
|
|
name = "gitea-storage"
|
|
}
|
|
}
|
|
|
|
volume {
|
|
name = "gitea-storage"
|
|
persistent_volume_claim {
|
|
claim_name = kubernetes_persistent_volume_claim.gitea_pvc.metadata[0].name
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
resource "kubernetes_service" "gitea_service" {
|
|
metadata {
|
|
name = "gitea-service"
|
|
namespace = kubernetes_namespace.gitea.metadata[0].name
|
|
}
|
|
spec {
|
|
type = "NodePort"
|
|
selector = {
|
|
app = "gitea"
|
|
}
|
|
port {
|
|
name = "http"
|
|
port = 3000
|
|
target_port = 3000
|
|
node_port = 30300
|
|
}
|
|
port {
|
|
name = "ssh"
|
|
port = 22
|
|
target_port = 22
|
|
node_port = 32222
|
|
}
|
|
}
|
|
}
|