apiVersion: apps/v1
kind: Deployment
metadata:
  name: kserve-models-web-app
  namespace: kserve
spec:
  replicas: 1
  selector:
    matchLabels:
      app.kubernetes.io/component: kserve-models-web-app
  template:
    metadata:
      labels:
        app.kubernetes.io/component: kserve-models-web-app
    spec:
      securityContext:
        runAsNonRoot: true
        seccompProfile:
          type: RuntimeDefault
      containers:
      - image: kserve/models-web-app:latest
        imagePullPolicy: Always
        name: kserve-models-web-app
        envFrom:
          - configMapRef:
              name: kserve-models-web-app-config
        ports:
        - containerPort: 5000
          name: http
        livenessProbe:
          httpGet:
            path: /healthz/liveness
            port: http
          initialDelaySeconds: 0
          periodSeconds: 10
          timeoutSeconds: 1
          failureThreshold: 3
          successThreshold: 1
        readinessProbe:
          httpGet:
            path: /healthz/readiness
            port: http
          initialDelaySeconds: 0
          periodSeconds: 10
          timeoutSeconds: 1
          failureThreshold: 3
          successThreshold: 1
        securityContext:
          allowPrivilegeEscalation: false
          capabilities:
            drop:
              - ALL
          runAsUser: 1000
      serviceAccountName: kserve-models-web-app
