add k8s support and upload image to ghcr.io

This commit is contained in:
2026-07-16 19:06:33 +03:00
parent 36a1cdee1d
commit 4020fedf9a
7 changed files with 293 additions and 7 deletions
+7
View File
@@ -0,0 +1,7 @@
apiVersion: v1
kind: Namespace
metadata:
name: tt-simple
labels:
# Required by the shared proxy NetworkPolicy when HTTP_PROXY is enabled.
proxy-access: "true"
+87
View File
@@ -0,0 +1,87 @@
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: tt-simple-data
namespace: tt-simple
spec:
accessModes:
- ReadWriteOnce
storageClassName: local-path
resources:
requests:
storage: 256Mi
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: tt-simple
namespace: tt-simple
labels:
app.kubernetes.io/name: tt-simple
spec:
replicas: 1
strategy:
type: Recreate
revisionHistoryLimit: 2
selector:
matchLabels:
app.kubernetes.io/name: tt-simple
template:
metadata:
labels:
app.kubernetes.io/name: tt-simple
# Required by the shared proxy NetworkPolicy when HTTP_PROXY is enabled.
proxy-client: "true"
spec:
automountServiceAccountToken: false
terminationGracePeriodSeconds: 30
imagePullSecrets:
- name: ghcr-creds
securityContext:
runAsNonRoot: true
runAsUser: 1000
runAsGroup: 1000
fsGroup: 1000
fsGroupChangePolicy: OnRootMismatch
seccompProfile:
type: RuntimeDefault
containers:
- name: bot
# Replace this with an immutable release tag or image digest.
image: ghcr.io/kr0sh512/tt-simple:v0.1.0
imagePullPolicy: IfNotPresent
envFrom:
- secretRef:
name: tt-simple-env
env:
- name: DB_PATH
value: /data/stats.db
- name: PYTHONUNBUFFERED
value: "1"
- name: PYTHONDONTWRITEBYTECODE
value: "1"
resources:
requests:
cpu: 25m
memory: 64Mi
limits:
cpu: 250m
memory: 256Mi
securityContext:
allowPrivilegeEscalation: false
readOnlyRootFilesystem: true
capabilities:
drop:
- ALL
volumeMounts:
- name: data
mountPath: /data
- name: tmp
mountPath: /tmp
volumes:
- name: data
persistentVolumeClaim:
claimName: tt-simple-data
- name: tmp
emptyDir:
sizeLimit: 32Mi