Files
datalab-lite/k8s/deployment.yaml

68 lines
1.7 KiB
YAML

apiVersion: apps/v1
kind: Deployment
metadata:
name: datalab-lite
namespace: datalab-lite
spec:
replicas: 1
selector:
matchLabels:
app: datalab-lite
template:
metadata:
labels:
app: datalab-lite
version: "1.0"
spec:
serviceAccountName: datalab-lite-sa
initContainers:
- name: install-deps
image: python:3.11-slim
command:
- pip
- install
- --target=/app/deps
- fastapi
- uvicorn
- httpx
- python-jose[cryptography]
- kubernetes
- minio
- python-multipart
- jinja2
- requests
volumeMounts:
- mountPath: /app/deps
name: deps
containers:
- name: datalab-lite
image: python:3.11-slim
command:
- sh
- -c
- python3 -c "import urllib.request; urllib.request.urlretrieve('https://dl.min.io/client/mc/release/linux-amd64/mc', '/usr/local/bin/mc')" && chmod +x /usr/local/bin/mc && mc alias set minio-local https://minio.lab.leadwire.dev admin Minio@Leadwire2026! --insecure && python -m uvicorn main:app --host 0.0.0.0 --port 8000
env:
- name: PYTHONPATH
value: /app/deps
- name: CLIENT_SECRET
value: ""
ports:
- containerPort: 8000
workingDir: /app/code
volumeMounts:
- mountPath: /app/code
name: code
- mountPath: /app/deps
name: deps
- mountPath: /app/code/templates
name: templates
volumes:
- name: code
configMap:
name: datalab-lite-code
- name: deps
emptyDir: {}
- name: templates
configMap:
name: datalab-lite-templates