Added Seadex service
This commit is contained in:
1 parent
129d468ef0
commit
736fd94f01
4 files changed
+134
No files matched your search
@@ -0,0 +1,31 @@
|
|||||||
|
apiVersion: apps/v1
|
||||||
|
kind: StatefulSet
|
||||||
|
metadata:
|
||||||
|
name: service-royalroad-chapters-cron-gitea
|
||||||
|
namespace: app-notifications
|
||||||
|
spec:
|
||||||
|
serviceName: service-royalroad-chapters-cron-gitea
|
||||||
|
replicas: 1
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
app: service-royalroad-chapters-cron
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
app: service-royalroad-chapters-cron
|
||||||
|
spec:
|
||||||
|
containers:
|
||||||
|
- name: cron
|
||||||
|
image: curlimages/curl:latest
|
||||||
|
command:
|
||||||
|
- /bin/sh
|
||||||
|
- -c
|
||||||
|
- |
|
||||||
|
echo "{\"timestamp\":\"$(date '+%Y-%m-%dT%H:%M:%S%z')\",\"event\":\"startup\"}"
|
||||||
|
while true; do
|
||||||
|
echo "{\"timestamp\":\"$(date '+%Y-%m-%dT%H:%M:%S%z')\",\"event\":\"curl start\"}"
|
||||||
|
curl -s -X GET --max-time 150 http://service-seadex-internal:5000/update
|
||||||
|
echo
|
||||||
|
echo "{\"timestamp\":\"$(date '+%Y-%m-%dT%H:%M:%S%z')\",\"event\":\"curl end\"}"
|
||||||
|
sleep 300
|
||||||
|
done
|
||||||
@@ -0,0 +1,74 @@
|
|||||||
|
apiVersion: apps/v1
|
||||||
|
kind: Deployment
|
||||||
|
metadata:
|
||||||
|
name: service-seadex
|
||||||
|
namespace: app-notifications
|
||||||
|
spec:
|
||||||
|
replicas: 1
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
app: service-seadex
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
app: service-seadex
|
||||||
|
spec:
|
||||||
|
imagePullSecrets:
|
||||||
|
- name: ghcr-secret
|
||||||
|
initContainers:
|
||||||
|
- name: wait-for-mysql
|
||||||
|
image: busybox
|
||||||
|
command:
|
||||||
|
- sh
|
||||||
|
- -c
|
||||||
|
- |
|
||||||
|
until nslookup mysql.app-notifications.svc.cluster.local; do
|
||||||
|
echo "Waiting for MySQL DNS..."
|
||||||
|
sleep 2
|
||||||
|
done
|
||||||
|
|
||||||
|
until nc -z mysql.app-notifications.svc.cluster.local 3306; do
|
||||||
|
echo "Waiting for MySQL..."
|
||||||
|
sleep 2
|
||||||
|
done
|
||||||
|
|
||||||
|
echo "MySQL is available"
|
||||||
|
- name: copy-secrets
|
||||||
|
image: busybox
|
||||||
|
command:
|
||||||
|
- sh
|
||||||
|
- -c
|
||||||
|
- |
|
||||||
|
for f in /secrets/*; do
|
||||||
|
cp "$f" /etc/secrets/
|
||||||
|
chmod 666 "/etc/secrets/$(basename $f)"
|
||||||
|
done
|
||||||
|
volumeMounts:
|
||||||
|
- name: service-seadex-secrets
|
||||||
|
mountPath: /secrets
|
||||||
|
- name: writable-secrets
|
||||||
|
mountPath: /etc/secrets
|
||||||
|
containers:
|
||||||
|
- name: service-seadex
|
||||||
|
image: ghcr.io/gansejunge/app-notifications-service-seadex:1
|
||||||
|
ports:
|
||||||
|
- containerPort: 5000
|
||||||
|
name: fastapi
|
||||||
|
- containerPort: 9000
|
||||||
|
name: metrics
|
||||||
|
env:
|
||||||
|
- name: DB_HOST
|
||||||
|
value: "mysql.app-notifications.svc.cluster.local"
|
||||||
|
- name: BACKEND_API_URL
|
||||||
|
value: "http://backend-api-internal.app-notifications.svc.cluster.local:8101/internal/receive-notifications"
|
||||||
|
- name: LOG_LEVEL
|
||||||
|
value: "INFO"
|
||||||
|
volumeMounts:
|
||||||
|
- name: writable-secrets
|
||||||
|
mountPath: /etc/secrets
|
||||||
|
volumes:
|
||||||
|
- name: service-seadex-secrets
|
||||||
|
secret:
|
||||||
|
secretName: service-seadex
|
||||||
|
- name: writable-secrets
|
||||||
|
emptyDir: {}
|
||||||
@@ -0,0 +1,14 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
name: service-royalroad-chapters-internal
|
||||||
|
namespace: app-notifications
|
||||||
|
spec:
|
||||||
|
selector:
|
||||||
|
app: service-royalroad-chapters
|
||||||
|
ports:
|
||||||
|
- protocol: TCP
|
||||||
|
port: 5000
|
||||||
|
targetPort: 5000
|
||||||
|
name: fastapi
|
||||||
|
type: ClusterIP
|
||||||
@@ -0,0 +1,15 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
name: service-seadex-prometheus-metrics
|
||||||
|
namespace: app-notifications
|
||||||
|
spec:
|
||||||
|
selector:
|
||||||
|
app: service-seadex
|
||||||
|
ports:
|
||||||
|
- protocol: TCP
|
||||||
|
port: 9000
|
||||||
|
targetPort: 9000
|
||||||
|
nodePort: 30906
|
||||||
|
name: prometheus-metrics
|
||||||
|
type: NodePort
|
||||||
Reference in new issue
Block a user