From f039fd95c9205ec0852f9b291f31a5a9843f79f2 Mon Sep 17 00:00:00 2001 From: Wolfgang Hottgenroth Date: Tue, 26 Nov 2024 15:16:05 +0100 Subject: [PATCH] frontend and backend ready, ingress is missing --- deployment/backend.yml | 42 +++++++++++++++++++++++++++++ deployment/frontend.yml | 46 ++++++++++++++++++++++++++++++++ deployment/install.sh | 17 ++++++++++++ deployment/roll-db-credential.sh | 32 ++++++++-------------- 4 files changed, 116 insertions(+), 21 deletions(-) create mode 100755 deployment/install.sh diff --git a/deployment/backend.yml b/deployment/backend.yml index 8b13789..035b382 100644 --- a/deployment/backend.yml +++ b/deployment/backend.yml @@ -1 +1,43 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: backend + labels: + app: backend + annotations: + secret.reloader.stakater.com/reload: database-cred +spec: + replicas: 1 + selector: + matchLabels: + app: backend + template: + metadata: + labels: + app: backend + spec: + containers: + - name: backend + image: zabbix/zabbix-server-pgsql:ol-7.0.6 + imagePullPolicy: Always + ports: + - containerPort: 10051 + protocol: TCP + envFrom: + - secretRef: + name: database-cred +--- +apiVersion: v1 +kind: Service +metadata: + name: backend +spec: + type: ClusterIP + selector: + app: backend + ports: + - name: zabbix + protocol: TCP + port: 10051 + targetPort: 10051 diff --git a/deployment/frontend.yml b/deployment/frontend.yml index 366b17a..0d67c0d 100644 --- a/deployment/frontend.yml +++ b/deployment/frontend.yml @@ -4,3 +4,49 @@ metadata: name: frontend-config data: ZBX_SERVER_HOST: backend.zabbix.svc.cluster.local +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: frontend + labels: + app: frontend + annotations: + secret.reloader.stakater.com/reload: database-cred +spec: + replicas: 1 + selector: + matchLabels: + app: frontend + template: + metadata: + labels: + app: frontend + spec: + containers: + - name: frontend + image: zabbix/zabbix-web-nginx-pgsql:ol-7.0.6 + imagePullPolicy: Always + ports: + - containerPort: 8080 + protocol: TCP + envFrom: + - secretRef: + name: database-cred + - configMapRef: + name: frontend-config +--- +apiVersion: v1 +kind: Service +metadata: + name: frontend +spec: + type: ClusterIP + selector: + app: frontend + ports: + - name: http + protocol: TCP + port: 8080 + targetPort: 8080 + diff --git a/deployment/install.sh b/deployment/install.sh new file mode 100755 index 0000000..a88e84a --- /dev/null +++ b/deployment/install.sh @@ -0,0 +1,17 @@ +#!/bin/bash + + + +ARG1=$1 +NAMESPACE=`cat namespace` + +if [ "$ARG1" = "initial" ]; then + kubectl create namespace $NAMESPACE --dry-run=client -o yaml | kubectl -f - apply +fi + +./roll-db-credential.sh $ARG1 + + +kubectl -f backend.yml -n $NAMESPACE apply +kubectl -f frontend.yml -n $NAMESPACE apply + diff --git a/deployment/roll-db-credential.sh b/deployment/roll-db-credential.sh index 6804277..5e86aba 100755 --- a/deployment/roll-db-credential.sh +++ b/deployment/roll-db-credential.sh @@ -1,6 +1,9 @@ #!/bin/bash -. ../../ENVDB +export PGUSER=`kubectl get secret -n database timescaledb -o jsonpath="{.data.superuser-username}" | base64 --decode` +export PGHOST=`kubectl get services traefik -n system -o jsonpath="{.status.loadBalancer.ingress[0].ip}"` +export PGPASSWORD=`kubectl get secret -n database timescaledb -o jsonpath="{.data.superuser-password}" | base64 --decode` +export PGSSLMODE=require DATABASE=zabbix LOGIN=zabbix @@ -11,28 +14,15 @@ ARG1=$1 if [ "$ARG1" = "initial" ]; then psql <