main.tf hinzugefügt
Some checks failed
Build, Push and GitOps Deploy / test-and-deploy (push) Failing after 0s
Some checks failed
Build, Push and GitOps Deploy / test-and-deploy (push) Failing after 0s
This commit is contained in:
parent
f474e73e4a
commit
436f305e89
1 changed files with 100 additions and 0 deletions
100
main.tf
Normal file
100
main.tf
Normal file
|
|
@ -0,0 +1,100 @@
|
|||
variable "app_version" {
|
||||
type = string
|
||||
default = "latest"
|
||||
}
|
||||
|
||||
terraform {
|
||||
required_providers {
|
||||
kubernetes = {
|
||||
source = "hashicorp/kubernetes"
|
||||
version = "~> 2.26"
|
||||
}
|
||||
helm = {
|
||||
source = "hashicorp/helm"
|
||||
version = "~> 2.12"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
provider "kubernetes" {
|
||||
config_path = "./kind_kubeconfig/config"
|
||||
}
|
||||
|
||||
provider "helm" {
|
||||
kubernetes {
|
||||
config_path = "./kind_kubeconfig/config"
|
||||
}
|
||||
}
|
||||
|
||||
resource "helm_release" "nginx_ingress" {
|
||||
name = "ingress-nginx"
|
||||
repository = "https://github.io"
|
||||
chart = "ingress-nginx"
|
||||
namespace = "kube-system"
|
||||
set {
|
||||
name = "controller.service.type"
|
||||
value = "ClusterIP"
|
||||
}
|
||||
set {
|
||||
name = "controller.hostNetwork"
|
||||
value = "true"
|
||||
}
|
||||
}
|
||||
|
||||
resource "kubernetes_deployment" "webapp" {
|
||||
metadata {
|
||||
name = "webapp"
|
||||
labels = { app = "webapp" }
|
||||
}
|
||||
spec {
|
||||
replicas = 1
|
||||
selector { match_labels = { app = "webapp" } }
|
||||
template {
|
||||
metadata { labels = { app = "webapp" } }
|
||||
spec {
|
||||
container {
|
||||
name = "web"
|
||||
image = "forgejo:3000/bast/my-app-sandbox:latest" # Zieht das Bild direkt aus Forgejo
|
||||
port { container_port = 80 }
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
resource "kubernetes_service" "webapp_service" {
|
||||
metadata { name = "webapp-service" }
|
||||
spec {
|
||||
selector = { app = "webapp" }
|
||||
port {
|
||||
port = 80
|
||||
target_port = 80
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
resource "kubernetes_ingress_v1" "app_ingress" {
|
||||
depends_on = [helm_release.nginx_ingress]
|
||||
metadata {
|
||||
name = "app-ingress"
|
||||
annotations = {
|
||||
"kubernetes.io/ingress.class" = "nginx"
|
||||
}
|
||||
}
|
||||
spec {
|
||||
rule {
|
||||
http {
|
||||
path {
|
||||
path = "/"
|
||||
path_type = "Prefix"
|
||||
backend {
|
||||
service {
|
||||
name = kubernetes_service.webapp_service.metadata.name
|
||||
port { number = 80 }
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Reference in a new issue