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