This commit is contained in:
2023-10-08 08:31:59 +02:00
parent acee23c93c
commit cf8521194c
2 changed files with 127 additions and 0 deletions

View File

@@ -0,0 +1,95 @@
---
apiVersion: vinyl.solidite.fr/v1beta1
kind: Component
category: share
metadata:
name: dataset-redis
description: null
options:
storage:
default: 8Gi
examples:
- 8Gi
type: string
exporter:
default:
enable: true
examples:
- enable: true
properties:
enable:
default: true
type: boolean
type: object
images:
default:
exporter:
registry: quay.io
repository: opstree/redis-exporter
tag: v1.44.0
redis:
pullPolicy: IfNotPresent
registry: quay.io
repository: opstree/redis
tag: v7.0.5
examples:
- exporter:
registry: quay.io
repository: opstree/redis-exporter
tag: v1.44.0
redis:
pullPolicy: IfNotPresent
registry: quay.io
repository: opstree/redis
tag: v7.0.5
properties:
exporter:
default:
registry: quay.io
repository: opstree/redis-exporter
tag: v1.44.0
properties:
registry:
default: quay.io
type: string
repository:
default: opstree/redis-exporter
type: string
tag:
default: v1.44.0
type: string
type: object
redis:
default:
pullPolicy: IfNotPresent
registry: quay.io
repository: opstree/redis
tag: v7.0.5
properties:
pullPolicy:
default: IfNotPresent
enum:
- Always
- Never
- IfNotPresent
type: string
registry:
default: quay.io
type: string
repository:
default: opstree/redis
type: string
tag:
default: v7.0.5
type: string
type: object
type: object
dependencies: []
providers:
kubernetes: true
authentik: null
kubectl: true
postgresql: null
restapi: null
http: null
tfaddtype: null

View File

@@ -0,0 +1,32 @@
locals {
redis-labels = merge(local.common-labels, {
"app.kubernetes.io/component" = "redis"
})
}
resource "kubectl_manifest" "prj_redis" {
yaml_body = <<-EOF
apiVersion: "redis.redis.opstreelabs.in/v1beta1"
kind: "Redis"
metadata:
name: "${var.instance}-${var.component}"
namespace: "${var.namespace}"
labels: ${jsonencode(local.redis-labels)}
spec:
kubernetesConfig:
image: "${var.images.redis.registry}/${var.images.redis.repository}:${var.images.redis.tag}"
imagePullPolicy: "${var.images.redis.pullPolicy}"
storage:
volumeClaimTemplate:
spec:
accessModes: ["ReadWriteOnce"]
resources:
requests:
storage: "${var.storage}"
redisExporter:
enabled: ${var.exporter.enable}
image: "${var.images.exporter.registry}/${var.images.exporter.repository}:${var.exporter.rabbit.tag}"
securityContext:
runAsUser: 1000
fsGroup: 1000
EOF
}