221 lines
4.0 KiB
HCL
221 lines
4.0 KiB
HCL
resource "kubernetes_namespace" "keptn_namespace" {
|
|
metadata {
|
|
name = var.KEPTN_NAMESPACE
|
|
}
|
|
}
|
|
|
|
resource "kubernetes_persistent_volume_claim" "nats-js-pvc" {
|
|
metadata {
|
|
name = "nats-js-disk"
|
|
namespace = var.KEPTN_NAMESPACE
|
|
}
|
|
spec {
|
|
#storage_class_name = "region1storageclass"
|
|
access_modes = ["ReadWriteOnce"]
|
|
resources {
|
|
requests = {
|
|
storage = "3Gi"
|
|
}
|
|
|
|
}
|
|
# volume_name = "${kubernetes_persistent_volume.example.metadata.0.name}"
|
|
}
|
|
wait_until_bound = false
|
|
|
|
depends_on = [kubernetes_namespace.keptn_namespace ]
|
|
}
|
|
|
|
resource "helm_release" "keptn" {
|
|
name = "keptn"
|
|
repository = "https://charts.keptn.sh"
|
|
chart = "keptn"
|
|
namespace = var.KEPTN_NAMESPACE
|
|
timeout = 500
|
|
version = var.KEPTN_VERSION
|
|
create_namespace = true
|
|
|
|
# set {
|
|
# name = "tolerations[0].key"
|
|
# value = "dedicated"
|
|
# }
|
|
|
|
# set {
|
|
# name = "tolerations[0].value"
|
|
# value = "group2"
|
|
# }
|
|
|
|
# set {
|
|
# name = "tolerations[0].operator"
|
|
# value = "Equal"
|
|
# }
|
|
|
|
# set {
|
|
# name = "tolerations[0].effect"
|
|
# value = "NoSchedule"
|
|
# }
|
|
|
|
# set {
|
|
# name = "nodeSelector.role"
|
|
# value = "group2"
|
|
# }
|
|
|
|
# ##mongodb toleration
|
|
# set {
|
|
# name = "mongo.tolerations[0].key"
|
|
# value = "dedicated"
|
|
# }
|
|
|
|
# set {
|
|
# name = "mongo.tolerations[0].value"
|
|
# value = "group2"
|
|
# }
|
|
|
|
# set {
|
|
# name = "mongo.tolerations[0].operator"
|
|
# value = "Equal"
|
|
# }
|
|
|
|
# set {
|
|
# name = "mongo.tolerations[0].effect"
|
|
# value = "NoSchedule"
|
|
# }
|
|
|
|
# set {
|
|
# name = "mongo.nodeSelector.role"
|
|
# value = "group2"
|
|
# }
|
|
|
|
# set {
|
|
# name = "mongo.global.storageClass"
|
|
# value = "region1storageclass"
|
|
# }
|
|
|
|
|
|
# ##nats toleration
|
|
# set {
|
|
# name = "nats.tolerations[0].key"
|
|
# value = "dedicated"
|
|
# }
|
|
|
|
# set {
|
|
# name = "nats.tolerations[0].value"
|
|
# value = "group2"
|
|
# }
|
|
|
|
# set {
|
|
# name = "nats.tolerations[0].operator"
|
|
# value = "Equal"
|
|
# }
|
|
|
|
# set {
|
|
# name = "nats.tolerations[0].effect"
|
|
# value = "NoSchedule"
|
|
# }
|
|
|
|
# set {
|
|
# name = "nats.nodeSelector.role"
|
|
# value = "group2"
|
|
# }
|
|
|
|
set {
|
|
name = "nats.nats.jetstream.fileStorage.enabled"
|
|
value = "true"
|
|
}
|
|
|
|
set {
|
|
name = "nats.nats.jetstream.fileStorage.storageDirectory"
|
|
value = "/data/"
|
|
}
|
|
|
|
set {
|
|
name = "nats.nats.jetstream.fileStorage.existingClaim"
|
|
value = "nats-js-disk"
|
|
}
|
|
|
|
set {
|
|
name = "nats.nats.jetstream.fileStorage.claimStorageSize"
|
|
value = "3Gi"
|
|
}
|
|
|
|
|
|
##ingress
|
|
|
|
set {
|
|
name ="ingress.enabled"
|
|
value = "true"
|
|
}
|
|
|
|
set {
|
|
name ="ingress.className"
|
|
value = "nginx"
|
|
}
|
|
|
|
set {
|
|
name ="ingress.path"
|
|
value = "/"
|
|
}
|
|
|
|
set {
|
|
name ="ingress.host"
|
|
value = var.KEPTN_DOMAIN
|
|
}
|
|
|
|
set {
|
|
name ="ingress.annotations.cert-manager\\.io/cluster-issuer"
|
|
value ="letsencrypt-prod"
|
|
}
|
|
|
|
|
|
set {
|
|
name = "ingress.tls[0].hosts[0]"
|
|
value = var.KEPTN_DOMAIN
|
|
}
|
|
|
|
set {
|
|
name = "ingress.tls[0].secretName"
|
|
value = "letsencrypt-prod"
|
|
}
|
|
|
|
depends_on = [kubernetes_persistent_volume_claim.nats-js-pvc]
|
|
}
|
|
|
|
module "keptn-bridge-userneame" {
|
|
source = "./terraform-kubernetes-get-secret"
|
|
namespace = "keptn"
|
|
name = "bridge-credentials"
|
|
key = "BASIC_AUTH_USERNAME"
|
|
context = var.k8S_CONTEXT
|
|
#context = "arn:aws:eks:us-west-2:277980527364:cluster/xOps"
|
|
|
|
depends_on = [
|
|
helm_release.keptn
|
|
]
|
|
|
|
}
|
|
|
|
module "keptn-bridge-pwd" {
|
|
source = "./terraform-kubernetes-get-secret"
|
|
namespace = "keptn"
|
|
name = "bridge-credentials"
|
|
key = "BASIC_AUTH_PASSWORD"
|
|
context = var.k8S_CONTEXT
|
|
#context = "arn:aws:eks:us-west-2:277980527364:cluster/xOps"
|
|
|
|
depends_on = [
|
|
helm_release.keptn
|
|
]
|
|
|
|
}
|
|
|
|
module "keptn-api-token" {
|
|
source = "./terraform-kubernetes-get-secret"
|
|
namespace = "keptn"
|
|
name = "keptn-api-token"
|
|
key = "keptn-api-token"
|
|
context = var.k8S_CONTEXT
|
|
#context = "arn:aws:eks:us-west-2:277980527364:cluster/xOps"
|
|
|
|
depends_on = [
|
|
helm_release.keptn
|
|
]
|
|
} |