Compare commits

...

5 Commits
0.0.1 ... 0.0.5

Author SHA1 Message Date
9eb0d70943 gunicorn
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
ci/woodpecker/tag/woodpecker Pipeline was successful
2025-01-27 19:09:52 +01:00
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
3 changed files with 76 additions and 21 deletions

View File

@ -1,17 +1,62 @@
apiVersion: batch/v1 apiVersion: apps/v1
kind: CronJob kind: Deployment
metadata: metadata:
name: pv-energy-calculator name: pv-stats
labels:
app: pv-stats
spec: spec:
schedule: "15 * * * *" replicas: 1
jobTemplate: selector:
matchLabels:
app: pv-stats
template:
metadata:
labels:
app: pv-stats
spec: spec:
template: containers:
spec: - name: pv-stats
restartPolicy: OnFailure image: %IMAGE%
containers: envFrom:
- name: pv-energy-calculator - secretRef:
image: %IMAGE% name: pv-stats
envFrom: ports:
- secretRef: - containerPort: 8080
name: pv-energy-calculator 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 exit 1
fi fi
IMAGE_NAME=gitea.hottis.de/wn/mini_flask IMAGE_NAME=gitea.hottis.de/wn/pv-stats
NAMESPACE=homea NAMESPACE=homea
DEPLOYMENT_DIR=$PWD/deployment DEPLOYMENT_DIR=$PWD/deployment
@ -21,18 +21,26 @@ kubectl create namespace $NAMESPACE \
SECRETS_FILE=`mktemp` SECRETS_FILE=`mktemp`
gpg --decrypt --passphrase $GPG_PASSPHRASE --yes --batch --homedir /tmp/.gnupg --output $SECRETS_FILE secrets.asc 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 \ --dry-run=client \
-o yaml \ -o yaml \
--save-config \ --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 kubectl apply -f - -n $NAMESPACE
rm $SECRETS_FILE
# cat $DEPLOYMENT_DIR/deploy-yml.tmpl | \ cat $DEPLOYMENT_DIR/deploy-yml.tmpl | \
# sed -e 's,%IMAGE%,'$IMAGE_NAME':'$IMAGE_TAG','g | \ sed -e 's,%IMAGE%,'$IMAGE_NAME':'$IMAGE_TAG','g | \
# kubectl apply -f - -n $NAMESPACE kubectl apply -f - -n $NAMESPACE
popd > /dev/null popd > /dev/null

View File

@ -10,6 +10,8 @@ cryptography==44.0.0
Flask==3.1.0 Flask==3.1.0
flask-oidc==2.2.2 flask-oidc==2.2.2
Flask-Session==0.8.0 Flask-Session==0.8.0
greenlet==3.1.1
gunicorn==23.0.0
idna==3.10 idna==3.10
importlib_metadata==8.6.1 importlib_metadata==8.6.1
itsdangerous==2.2.0 itsdangerous==2.2.0