From 82149b8f6d63ac75c71f5ed85626586299cc8a21 Mon Sep 17 00:00:00 2001 From: Edward Cheng Date: Sun, 21 Jul 2024 00:40:43 +1000 Subject: [PATCH] add infra app redis-insight --- .../redis-insight/base/deployment.yaml | 52 +++++++++++++++++++ .../redis-insight/base/kustomization.yaml | 5 ++ .../redis-insight/base/service.yaml | 16 ++++++ .../redis-insight/env/k3s-cluster/config.json | 12 +++++ .../env/k3s-cluster/ingress.yaml | 21 ++++++++ .../env/k3s-cluster/kustomization.yaml | 5 ++ 6 files changed, 111 insertions(+) create mode 100644 infrastructures/redis-insight/base/deployment.yaml create mode 100644 infrastructures/redis-insight/base/kustomization.yaml create mode 100644 infrastructures/redis-insight/base/service.yaml create mode 100644 infrastructures/redis-insight/env/k3s-cluster/config.json create mode 100644 infrastructures/redis-insight/env/k3s-cluster/ingress.yaml create mode 100644 infrastructures/redis-insight/env/k3s-cluster/kustomization.yaml diff --git a/infrastructures/redis-insight/base/deployment.yaml b/infrastructures/redis-insight/base/deployment.yaml new file mode 100644 index 0000000..16808ae --- /dev/null +++ b/infrastructures/redis-insight/base/deployment.yaml @@ -0,0 +1,52 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: redis-insight + namespace: redis + labels: + app.kubernetes.io/name: redis-insight +spec: + selector: + matchLabels: + app.kubernetes.io/name: redis-insight + template: + metadata: + labels: + app.kubernetes.io/name: redis-insight + spec: + securityContext: + runAsUser: 1000 + runAsGroup: 1000 + containers: + - name: redis-insight + image: redis/redisinsight:2.52 + securityContext: + allowPrivilegeEscalation: false + ports: + - name: http + containerPort: 5540 + protocol: TCP + livenessProbe: + initialDelaySeconds: 2 + httpGet: + path: /api/health + port: http + periodSeconds: 10 + timeoutSeconds: 1 + failureThreshold: 3 + successThreshold: 1 + readinessProbe: + httpGet: + path: /api/health + port: http + periodSeconds: 10 + timeoutSeconds: 1 + failureThreshold: 3 + successThreshold: 1 + volumeMounts: + - name: redis-insight-data + mountPath: /data + volumes: + - name: redis-insight-data + hostPath: + path: /mnt/nfs/AppData/redis-insight diff --git a/infrastructures/redis-insight/base/kustomization.yaml b/infrastructures/redis-insight/base/kustomization.yaml new file mode 100644 index 0000000..87b09a3 --- /dev/null +++ b/infrastructures/redis-insight/base/kustomization.yaml @@ -0,0 +1,5 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +resources: + - ./deployment.yaml + - ./service.yaml \ No newline at end of file diff --git a/infrastructures/redis-insight/base/service.yaml b/infrastructures/redis-insight/base/service.yaml new file mode 100644 index 0000000..dac4bbc --- /dev/null +++ b/infrastructures/redis-insight/base/service.yaml @@ -0,0 +1,16 @@ +apiVersion: v1 +kind: Service +metadata: + name: redis-insight + namespace: redis + labels: + app.kubernetes.io/name: redis-insight +spec: + type: ClusterIP + ports: + - port: 5540 + targetPort: 5540 + protocol: TCP + name: http + selector: + app.kubernetes.io/name: redis-insight diff --git a/infrastructures/redis-insight/env/k3s-cluster/config.json b/infrastructures/redis-insight/env/k3s-cluster/config.json new file mode 100644 index 0000000..44e51ea --- /dev/null +++ b/infrastructures/redis-insight/env/k3s-cluster/config.json @@ -0,0 +1,12 @@ +{ + "appName": "redis-insight", + "userGivenName": "redis-insight", + "namespace": "redis", + "destNamespace": "redis", + "destServer": "https://kubernetes.default.svc", + "srcPath": "infrastructures/redis-insight/env/k3s-cluster", + "srcRepoURL": "https://github.com/3dwardch3ng/home-cluster-ops.git", + "srcTargetRevision": "", + "labels": null, + "annotations": null +} \ No newline at end of file diff --git a/infrastructures/redis-insight/env/k3s-cluster/ingress.yaml b/infrastructures/redis-insight/env/k3s-cluster/ingress.yaml new file mode 100644 index 0000000..d10c9ea --- /dev/null +++ b/infrastructures/redis-insight/env/k3s-cluster/ingress.yaml @@ -0,0 +1,21 @@ +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: redis-insight-ingress + namespace: redis + annotations: + nginx.ingress.kubernetes.io/ssl-redirect: "false" + nginx.ingress.kubernetes.io/use-regex: "true" +spec: + ingressClassName: nginx + rules: + - host: "redis-insight.cluster.edward.sydney" + http: + paths: + - pathType: Prefix + path: "/" + backend: + service: + name: redis-insight + port: + number: 5540 \ No newline at end of file diff --git a/infrastructures/redis-insight/env/k3s-cluster/kustomization.yaml b/infrastructures/redis-insight/env/k3s-cluster/kustomization.yaml new file mode 100644 index 0000000..3ea3085 --- /dev/null +++ b/infrastructures/redis-insight/env/k3s-cluster/kustomization.yaml @@ -0,0 +1,5 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +resources: + - ../../base + - ./ingress.yaml \ No newline at end of file