apiVersion: apps/v1
kind: Deployment
metadata:
  name: snekbox
spec:
  replicas: 1
  selector:
    matchLabels:
      app: snekbox
  template:
    metadata:
      labels:
        app: snekbox
    spec:
      containers:
        - name: snekbox
          image: ghcr.io/python-discord/snekbox:latest
          imagePullPolicy: Always
          ports:
            - containerPort: 8060
          securityContext:
            privileged: true
          volumeMounts:
            - name: snekbox-user-base-volume
              mountPath: /snekbox/user_base
          lifecycle:
            postStart:
              exec:
                command:
                  - "/bin/sh"
                  - "-c"
                  - >-
                    PYTHONUSERBASE=/snekbox/user_base
                    pip install --user
                    anyio[trio]~=3.2
                    arrow~=1.2.1
                    attrs~=20.3
                    beautifulsoup4~=4.9
                    fishhook~=0.1
                    forbiddenfruit~=0.1
                    fuzzywuzzy~=0.18
                    lark~=0.11
                    more-itertools~=8.6
                    networkx~=2.5
                    numpy~=1.21
                    pandas~=1.3
                    pendulum~=2.1
                    python-dateutil~=2.8
                    pyyaml~=5.3
                    sympy~=1.6
                    toml~=0.10
                    tzdata~=2021.1
                    yarl~=1.7
      volumes:
        - name: snekbox-user-base-volume
          hostPath:
            path: /snekbox_dep_cache
            type: DirectoryOrCreate
