Added Kubernetes deployment files (#2719)

This commit is contained in:
Cristian Branet
2025-06-22 10:00:24 +03:00
committed by GitHub
parent 10785812e8
commit 681dab864c
14 changed files with 385 additions and 0 deletions

View File

@@ -0,0 +1,63 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: skyvern-backend
namespace: skyvern
spec:
replicas: 1
selector:
matchLabels:
app: skyvern-backend
template:
metadata:
labels:
app: skyvern-backend
spec:
containers:
- name: skyvern-backend
image: public.ecr.aws/skyvern/skyvern:latest
ports:
- containerPort: 8000
- containerPort: 9222
envFrom:
- secretRef:
name: skyvern-backend-env
volumeMounts:
- name: artifacts
mountPath: /data/artifacts
- name: videos
mountPath: /data/videos
- name: har
mountPath: /data/har
- name: log
mountPath: /data/log
- name: streamlit
mountPath: /app/.streamlit
readinessProbe:
exec:
command: ["test", "-f", "/app/.streamlit/secrets.toml"]
initialDelaySeconds: 5
periodSeconds: 5
timeoutSeconds: 5
failureThreshold: 5
volumes:
- name: artifacts
hostPath:
path: /data/artifacts
type: DirectoryOrCreate
- name: videos
hostPath:
path: /data/videos
type: DirectoryOrCreate
- name: har
hostPath:
path: /data/har
type: DirectoryOrCreate
- name: log
hostPath:
path: /data/log
type: DirectoryOrCreate
- name: streamlit
hostPath:
path: /app/.streamlit
type: DirectoryOrCreate

View File

@@ -0,0 +1,44 @@
apiVersion: v1
kind: Secret
metadata:
name: skyvern-backend-env
namespace: skyvern
type: Opaque
stringData:
# Environment variables for the Skyvern backend
# You can use the ones from the .env file in the root of skyvern
ENV: local
ENABLE_OPENAI: ""
OPENAI_API_KEY: ""
ENABLE_ANTHROPIC: "false"
ANTHROPIC_API_KEY: ""
ENABLE_AZURE: "false"
AZURE_DEPLOYMENT: ""
AZURE_API_KEY: ""
AZURE_API_BASE: ""
AZURE_API_VERSION: ""
ENABLE_AZURE_GPT4O_MINI: "false"
AZURE_GPT4O_MINI_DEPLOYMENT: ""
AZURE_GPT4O_MINI_API_KEY: ""
AZURE_GPT4O_MINI_API_BASE: ""
AZURE_GPT4O_MINI_API_VERSION: ""
ENABLE_GEMINI: "false"
GEMINI_API_KEY: ""
ENABLE_NOVITA: "false"
NOVITA_API_KEY: ""
LLM_KEY: OPENAI_GPT4_1
SECONDARY_LLM_KEY: ""
BROWSER_TYPE: chromium-headless
MAX_SCRAPING_RETRIES: "0"
VIDEO_PATH: ./videos
BROWSER_ACTION_TIMEOUT_MS: "5000"
MAX_STEPS_PER_RUN: "50"
LOG_LEVEL: INFO
LITELLM_LOG: CRITICAL
DATABASE_STRING: postgresql+psycopg://skyvern:skyvern@postgres/skyvern
PORT: "8000"
ANALYTICS_ID: ""
ENABLE_LOG_ARTIFACTS: "false"
ENABLE_OPENAI_COMPATIBLE: "false"
SKYVERN_BASE_URL: http://localhost:8000
SKYVERN_API_KEY: ""

View File

@@ -0,0 +1,16 @@
apiVersion: v1
kind: Service
metadata:
name: skyvern-backend
namespace: skyvern
spec:
type: ClusterIP # Or LoadBalancer
ports:
- name: http
port: 8000
targetPort: 8000
- name: cdp
port: 9222
targetPort: 9222
selector:
app: skyvern-backend