This commit is contained in:
2024-05-26 15:34:05 +02:00
parent a9bb67b046
commit 52df000331
9 changed files with 450 additions and 1202 deletions

View File

@@ -1,10 +1,76 @@
resource "kubectl_manifest" "Service_taiga-back" {
locals {
dns_name = "${var.sub_domain}.${var.domain_name}"
dns_names = [local.dns_name]
app_name = (var.component == var.instance || var.component=="") ? var.instance : format("%s-%s", var.component, var.instance)
icon = "favicon.ico"
}
module "service" {
source = "git::https://git.solidite.fr/vynil/kydah-modules.git//service?ref=0.3.0"
component = var.component
instance = var.instance
namespace = var.namespace
labels = local.common_labels
selector = local.back_labels
targets = ["http"]
providers = {
kubectl = kubectl
}
}
module "ingress" {
source = "git::https://git.solidite.fr/vynil/kydah-modules.git//ingress?ref=0.3.0"
component = ""
instance = var.instance
namespace = var.namespace
issuer = var.issuer
ingress_class = var.ingress_class
labels = local.common_labels
dns_names = local.dns_names
services = [module.service.default_definition]
providers = {
kubectl = kubectl
}
}
module "application" {
source = "git::https://git.solidite.fr/vynil/kydah-modules.git//application?ref=0.3.0"
component = var.component
instance = var.instance
app_group = var.app_group
dns_name = local.dns_name
icon = local.icon
sub_groups = ["admin"]
protocol_provider = module.oauth2.provider-id
providers = {
authentik = authentik
}
}
module "oauth2" {
source = "git::https://git.solidite.fr/vynil/kydah-modules.git//oauth2?ref=0.3.0"
component = var.component
instance = var.instance
namespace = var.namespace
domain = var.domain
labels = local.common_labels
dns_name = "${local.dns_name}/"
redirect_path = ""
providers = {
kubernetes = kubernetes
kubectl = kubectl
authentik = authentik
}
}
resource "kubectl_manifest" "svc_back" {
yaml_body = <<-EOF
apiVersion: v1
kind: Service
metadata:
name: taiga-back
labels: ${jsonencode(local.common-labels)}
name: "${var.instance}-${var.component}-back"
labels: ${jsonencode(local.back_all_labels)}
namespace: ${var.namespace}
spec:
type: ClusterIP
@@ -12,146 +78,20 @@ resource "kubectl_manifest" "Service_taiga-back" {
- name: taiga-back
port: 8000
targetPort: taiga-back
- name: taiga-gateway
- name: http
port: 80
targetPort: taiga-gateway
selector:
app.kubernetes.io/name: taiga-back
app.kubernetes.io/instance: taiga
targetPort: http
selector: ${jsonencode(local.back_labels)}
EOF
}
resource "kubectl_manifest" "Service_taiga-async-rabbitmq-headless" {
resource "kubectl_manifest" "svc_front" {
yaml_body = <<-EOF
apiVersion: v1
kind: Service
metadata:
name: taiga-async-rabbitmq-headless
namespace: ${var.namespace}
labels: ${jsonencode(local.common-labels)}
spec:
clusterIP: None
ports:
- name: epmd
port: 4369
targetPort: epmd
- name: amqp
port: 5672
targetPort: amqp
- name: dist
port: 25672
targetPort: dist
- name: http-stats
port: 15672
targetPort: stats
selector:
app.kubernetes.io/name: async-rabbitmq
app.kubernetes.io/instance: taiga
publishNotReadyAddresses: true
EOF
}
resource "kubectl_manifest" "Service_taiga-postgresql" {
yaml_body = <<-EOF
apiVersion: v1
kind: Service
metadata:
name: taiga-postgresql
namespace: ${var.namespace}
labels: ${jsonencode(local.common-labels)}
annotations: null
spec:
type: ClusterIP
sessionAffinity: None
ports:
- name: tcp-postgresql
port: 5432
targetPort: tcp-postgresql
nodePort: null
selector:
app.kubernetes.io/name: postgresql
app.kubernetes.io/instance: taiga
app.kubernetes.io/component: primary
EOF
}
resource "kubectl_manifest" "Service_taiga-events" {
yaml_body = <<-EOF
apiVersion: v1
kind: Service
metadata:
name: taiga-events
labels: ${jsonencode(local.common-labels)}
namespace: ${var.namespace}
spec:
type: ClusterIP
ports:
- name: taiga-events
port: 8888
targetPort: taiga-events
selector:
app.kubernetes.io/name: taiga-events
app.kubernetes.io/instance: taiga
EOF
}
resource "kubectl_manifest" "Service_taiga-protected" {
yaml_body = <<-EOF
apiVersion: v1
kind: Service
metadata:
name: taiga-protected
labels: ${jsonencode(local.common-labels)}
namespace: ${var.namespace}
spec:
type: ClusterIP
ports:
- name: taiga-protected
port: 8003
targetPort: taiga-protected
selector:
app.kubernetes.io/name: taiga-protected
app.kubernetes.io/instance: taiga
EOF
}
resource "kubectl_manifest" "Service_taiga-events-rabbitmq-headless" {
yaml_body = <<-EOF
apiVersion: v1
kind: Service
metadata:
name: taiga-events-rabbitmq-headless
namespace: ${var.namespace}
labels: ${jsonencode(local.common-labels)}
spec:
clusterIP: None
ports:
- name: epmd
port: 4369
targetPort: epmd
- name: amqp
port: 5672
targetPort: amqp
- name: dist
port: 25672
targetPort: dist
- name: http-stats
port: 15672
targetPort: stats
selector:
app.kubernetes.io/name: events-rabbitmq
app.kubernetes.io/instance: taiga
publishNotReadyAddresses: true
EOF
}
resource "kubectl_manifest" "Service_taiga-front" {
yaml_body = <<-EOF
apiVersion: v1
kind: Service
metadata:
name: taiga-front
labels: ${jsonencode(local.common-labels)}
name: "${var.instance}-${var.component}-front"
labels: ${jsonencode(local.front_all_labels)}
namespace: ${var.namespace}
spec:
type: ClusterIP
@@ -159,120 +99,43 @@ resource "kubectl_manifest" "Service_taiga-front" {
- name: taiga-front
port: 80
targetPort: taiga-front
selector:
app.kubernetes.io/name: taiga-front
app.kubernetes.io/instance: taiga
selector: ${jsonencode(local.front_labels)}
EOF
}
resource "kubectl_manifest" "Service_taiga-gateway" {
resource "kubectl_manifest" "svc_events" {
yaml_body = <<-EOF
apiVersion: v1
kind: Service
metadata:
name: taiga-gateway
labels: ${jsonencode(local.common-labels)}
name: "${var.instance}-${var.component}-events"
labels: ${jsonencode(local.event_all_labels)}
namespace: ${var.namespace}
spec:
type: ClusterIP
ports:
- name: taiga-gateway
port: 80
targetPort: taiga-gateway
selector:
app.kubernetes.io/name: taiga-back
app.kubernetes.io/instance: taiga
- name: taiga-events
port: 8888
targetPort: taiga-events
selector: ${jsonencode(local.event_labels)}
EOF
}
resource "kubectl_manifest" "svc_protected" {
yaml_body = <<-EOF
apiVersion: v1
kind: Service
metadata:
name: "${var.instance}-${var.component}-protected"
labels: ${jsonencode(local.protected_all_labels)}
namespace: ${var.namespace}
spec:
type: ClusterIP
ports:
- name: taiga-protected
port: 8003
targetPort: taiga-protected
selector: ${jsonencode(local.protected_labels)}
EOF
}
# resource "kubectl_manifest" "Service_taiga-events-rabbitmq" {
# yaml_body = <<-EOF
# apiVersion: v1
# kind: Service
# metadata:
# name: taiga-events-rabbitmq
# namespace: ${var.namespace}
# labels: ${jsonencode(local.common-labels)}
# spec:
# type: ClusterIP
# sessionAffinity: None
# ports:
# - name: amqp
# port: 5672
# targetPort: amqp
# nodePort: null
# - name: epmd
# port: 4369
# targetPort: epmd
# nodePort: null
# - name: dist
# port: 25672
# targetPort: dist
# nodePort: null
# - name: http-stats
# port: 15672
# targetPort: stats
# nodePort: null
# selector:
# app.kubernetes.io/name: events-rabbitmq
# app.kubernetes.io/instance: taiga
# EOF
# }
# resource "kubectl_manifest" "Service_taiga-postgresql-hl" {
# yaml_body = <<-EOF
# apiVersion: v1
# kind: Service
# metadata:
# name: taiga-postgresql-hl
# namespace: ${var.namespace}
# labels: ${jsonencode(local.common-labels)}
# spec:
# type: ClusterIP
# clusterIP: None
# publishNotReadyAddresses: true
# ports:
# - name: tcp-postgresql
# port: 5432
# targetPort: tcp-postgresql
# selector:
# app.kubernetes.io/name: postgresql
# app.kubernetes.io/instance: taiga
# app.kubernetes.io/component: primary
# EOF
# }
# resource "kubectl_manifest" "Service_taiga-async-rabbitmq" {
# yaml_body = <<-EOF
# apiVersion: v1
# kind: Service
# metadata:
# name: taiga-async-rabbitmq
# namespace: ${var.namespace}
# labels: ${jsonencode(local.common-labels)}
# spec:
# type: ClusterIP
# sessionAffinity: None
# ports:
# - name: amqp
# port: 5672
# targetPort: amqp
# nodePort: null
# - name: epmd
# port: 4369
# targetPort: epmd
# nodePort: null
# - name: dist
# port: 25672
# targetPort: dist
# nodePort: null
# - name: http-stats
# port: 15672
# targetPort: stats
# nodePort: null
# selector:
# app.kubernetes.io/name: async-rabbitmq
# app.kubernetes.io/instance: taiga
# EOF
# }