Files
tt-proxy-bot/k8s/tt-simple.yaml
T

88 lines
2.2 KiB
YAML

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