deployment
This commit is contained in:
parent
8099472b61
commit
5015d3b6db
1
.gitignore
vendored
1
.gitignore
vendored
@ -4,4 +4,5 @@ ENV
|
||||
src/.venv/*
|
||||
.dccache
|
||||
src/.dccache
|
||||
deployment/ENV
|
||||
|
||||
|
18
deployment/install.sh
Executable file
18
deployment/install.sh
Executable file
@ -0,0 +1,18 @@
|
||||
#!/bin/bash
|
||||
|
||||
|
||||
NAMESPACE=$(cat namespace)
|
||||
~/Workspace/MyKubernetesEnv/tools/create-namespace.sh $NAMESPACE
|
||||
|
||||
./roll-db-credential.sh
|
||||
|
||||
kubectl -f install.yml -n $NAMESPACE apply
|
||||
|
||||
. ./ENV
|
||||
kubectl create secret generic levelmetering-mqtt-cred \
|
||||
--dry-run=client \
|
||||
-o yaml \
|
||||
--save-config \
|
||||
--from-literal=MQTT_PASSWORD="$MQTT_PASSWORD" | \
|
||||
kubectl apply -f - -n $NAMESPACE
|
||||
|
41
deployment/install.yml
Normal file
41
deployment/install.yml
Normal file
@ -0,0 +1,41 @@
|
||||
apiVersion: v1
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
name: levelmetering
|
||||
data:
|
||||
MQTT_LOGIN: "de-hottis-level-monitoring@ttn"
|
||||
MQTT_BROKER: "eu1.cloud.thethings.network"
|
||||
MQTT_PORT: "8883"
|
||||
MQTT_CA: ""
|
||||
APPLICATION_TENANT: "de-hottis-level-monitoring@ttn"
|
||||
PGDATABASE: "level_monitoring_berresheim"
|
||||
PGHOST: "timescaledb.database.svc.cluster.local"
|
||||
---
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: levelmetering
|
||||
labels:
|
||||
app: levelmetering
|
||||
spec:
|
||||
replicas: 1
|
||||
selector:
|
||||
matchLabels:
|
||||
app: levelmetering
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app: levelmetering
|
||||
spec:
|
||||
containers:
|
||||
- name: levelmetering
|
||||
image: wollud1969/levelmetering-preprocessor:1.0.0
|
||||
envFrom:
|
||||
- configMapRef:
|
||||
name: levelmetering
|
||||
- secretRef:
|
||||
name: levelmetering-db-cred
|
||||
- secretRef:
|
||||
name: levelmetering-mqtt-cred
|
||||
|
||||
|
1
deployment/namespace
Normal file
1
deployment/namespace
Normal file
@ -0,0 +1 @@
|
||||
berresheim
|
34
deployment/roll-db-credential.sh
Executable file
34
deployment/roll-db-credential.sh
Executable file
@ -0,0 +1,34 @@
|
||||
#!/bin/bash
|
||||
|
||||
. ~/Workspace/MyKubernetesEnv/ENVDB
|
||||
|
||||
DATABASE=level_monitoring_berresheim
|
||||
LOGIN=preprocessor
|
||||
PASSWORD=`openssl rand -base64 24`
|
||||
NAMESPACE=`cat namespace`
|
||||
|
||||
psql <<EOF
|
||||
do
|
||||
\$\$
|
||||
begin
|
||||
if not exists (SELECT * FROM pg_user WHERE usename = '$LOGIN') then
|
||||
CREATE USER $LOGIN WITH PASSWORD '$PASSWORD';
|
||||
else
|
||||
ALTER USER $LOGIN WITH PASSWORD '$PASSWORD';
|
||||
end if;
|
||||
GRANT ALL PRIVILEGES ON DATABASE $DATABASE TO $LOGIN;
|
||||
end
|
||||
\$\$
|
||||
;
|
||||
commit;
|
||||
EOF
|
||||
|
||||
kubectl create secret generic levelmetering-db-cred \
|
||||
--dry-run=client \
|
||||
-o yaml \
|
||||
--save-config \
|
||||
--from-literal=PGUSER="$LOGIN" \
|
||||
--from-literal=PGPASSWORD="$PASSWORD" | \
|
||||
kubectl apply -f - -n $NAMESPACE
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user