Compare commits

..

4 Commits
0.0.1 ... 0.0.4

Author SHA1 Message Date
abc25a8e7f deployment
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
ci/woodpecker/tag/woodpecker Pipeline was successful
2025-01-27 19:03:21 +01:00
5660eba61c deployment snippet
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
2025-01-27 19:00:32 +01:00
6cb8a65a21 renamed
Some checks failed
ci/woodpecker/push/woodpecker Pipeline failed
ci/woodpecker/tag/woodpecker Pipeline was successful
2025-01-27 18:56:13 +01:00
08b50b2e0c fix secret building
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
ci/woodpecker/tag/woodpecker Pipeline was successful
2025-01-27 18:47:27 +01:00
2 changed files with 74 additions and 21 deletions

View File

@ -1,17 +1,62 @@
apiVersion: batch/v1
kind: CronJob
apiVersion: apps/v1
kind: Deployment
metadata:
name: pv-energy-calculator
name: pv-stats
labels:
app: pv-stats
spec:
schedule: "15 * * * *"
jobTemplate:
spec:
replicas: 1
selector:
matchLabels:
app: pv-stats
template:
metadata:
labels:
app: pv-stats
spec:
restartPolicy: OnFailure
containers:
- name: pv-energy-calculator
- name: pv-stats
image: %IMAGE%
envFrom:
- secretRef:
name: pv-energy-calculator
name: pv-stats
ports:
- containerPort: 8080
protocol: TCP
---
apiVersion: v1
kind: Service
metadata:
name: pv-stats
spec:
type: ClusterIP
selector:
app: pv-stats
ports:
- name: http
targetPort: 8080
port: 80
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: pv-stats
annotations:
cert-manager.io/cluster-issuer: letsencrypt-production-http
spec:
tls:
- hosts:
- pv-stats.hottis.de
secretName: pv-stats-cert
rules:
- host: pv-stats.hottis.de
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: pv-stats
port:
number: 80

View File

@ -9,7 +9,7 @@ if [ "$GPG_PASSPHRASE" == "" ]; then
exit 1
fi
IMAGE_NAME=gitea.hottis.de/wn/mini_flask
IMAGE_NAME=gitea.hottis.de/wn/pv-stats
NAMESPACE=homea
DEPLOYMENT_DIR=$PWD/deployment
@ -21,18 +21,26 @@ kubectl create namespace $NAMESPACE \
SECRETS_FILE=`mktemp`
gpg --decrypt --passphrase $GPG_PASSPHRASE --yes --batch --homedir /tmp/.gnupg --output $SECRETS_FILE secrets.asc
. $SECRETS_FILE
rm $SECRETS_FILE
kubectl create secret generic mini_flask \
kubectl create secret generic pv-stats \
--dry-run=client \
-o yaml \
--save-config \
--from-env-file=<(sed 's/^export //g' $SECRETS_FILE) | \
--from-literal=REDIS_URL="$REDIS_URL" \
--from-literal=SECRET_KEY="$SECRET_KEY" \
--from-literal=PGPASSWORD="$PGPASSWORD" \
--from-literal=PGUSER="$PGUSER" \
--from-literal=PGHOST="$PGHOST" \
--from-literal=PGSSLMODE="$PGSSLMODE" \
--from-literal=PGDATABASE="$PGDATABASE" \
--from-literal=OIDC_CLIENT_SECRETS="$OIDC_CLIENT_SECRETS" | \
kubectl apply -f - -n $NAMESPACE
rm $SECRETS_FILE
# cat $DEPLOYMENT_DIR/deploy-yml.tmpl | \
# sed -e 's,%IMAGE%,'$IMAGE_NAME':'$IMAGE_TAG','g | \
# kubectl apply -f - -n $NAMESPACE
cat $DEPLOYMENT_DIR/deploy-yml.tmpl | \
sed -e 's,%IMAGE%,'$IMAGE_NAME':'$IMAGE_TAG','g | \
kubectl apply -f - -n $NAMESPACE
popd > /dev/null