apiVersion: v1 kind: Service metadata: name: rackpeek-service namespace: rackpeek spec: selector: app: rackpeek ports: - name: http port: 8080 targetPort: http --- apiVersion: apps/v1 kind: Deployment metadata: name: rackpeek-deployment namespace: rackpeek labels: app: rackpeek spec: replicas: 1 selector: matchLabels: app: rackpeek strategy: type: Recreate template: metadata: labels: app: rackpeek spec: securityContext: # Image runs as uid/gid 1654 fsGroup: 1654 containers: - name: rackpeek image: docker.io/aptacode/rackpeek:v2.1.0 ports: - name: http containerPort: 8080 env: - name: RPK_YAML_DIR value: "/app/config" - name: TZ value: "Europe/Bratislava" volumeMounts: - name: rackpeek-config mountPath: /app/config startupProbe: httpGet: path: /health port: http failureThreshold: 30 periodSeconds: 5 readinessProbe: httpGet: path: /health port: http periodSeconds: 10 livenessProbe: httpGet: path: /health port: http initialDelaySeconds: 20 periodSeconds: 30 resources: requests: memory: "160Mi" cpu: "100m" limits: memory: "384Mi" cpu: "500m" volumes: - name: rackpeek-config persistentVolumeClaim: claimName: rackpeek-pvc --- apiVersion: v1 kind: PersistentVolumeClaim metadata: name: rackpeek-pvc namespace: rackpeek spec: accessModes: ["ReadWriteOnce"] storageClassName: local-path-retain resources: requests: storage: 2Gi