42 lines
1.3 KiB
HCL
42 lines
1.3 KiB
HCL
locals {
|
|
app_slug = (var.component == var.instance || var.component=="") ? var.instance : format("%s-%s", var.component, var.instance)
|
|
redis-labels = merge(local.labels, {
|
|
"app.kubernetes.io/component" = "redis"
|
|
})
|
|
cfg = merge({
|
|
"image" = "${var.images.redis.registry}/${var.images.redis.repository}:${var.images.redis.tag}"
|
|
"imagePullPolicy" = "${var.images.redis.pullPolicy}"
|
|
},lookup(var.password, "enabled", false)?{
|
|
redisSecret = {
|
|
name = lookup(var.password, "name", var.component)
|
|
key = lookup(var.password, "key", "redis-password")
|
|
}
|
|
}:{})
|
|
}
|
|
|
|
resource "kubectl_manifest" "redis" {
|
|
yaml_body = <<-EOF
|
|
apiVersion: "redis.redis.opstreelabs.in/v1beta1"
|
|
kind: "Redis"
|
|
metadata:
|
|
name: "${local.app_slug}-redis"
|
|
namespace: "${var.namespace}"
|
|
labels: ${jsonencode(local.redis-labels)}
|
|
spec:
|
|
kubernetesConfig: ${jsonencode(cfg)}
|
|
storage:
|
|
volumeClaimTemplate:
|
|
spec:
|
|
accessModes: ["ReadWriteOnce"]
|
|
resources:
|
|
requests:
|
|
storage: "${var.storage.size}"
|
|
redisExporter:
|
|
enabled: ${var.exporter.enabled}
|
|
image: "${var.images.redis_exporter.registry}/${var.images.redis_exporter.repository}:${var.images.redis_exporter.tag}"
|
|
securityContext:
|
|
runAsUser: 1000
|
|
fsGroup: 1000
|
|
EOF
|
|
}
|