Initial commit: BunnyCDN MCP server with K8s deployment

- FastMCP server with 12 tools (pullzone, cache, statistics, shield)
- Dockerfile with multi-stage build (python:3.11-slim + uv)
- K8s manifests (Deployment + Service)
- Gitea Actions CI/CD pipeline (build → push → deploy)
This commit is contained in:
kappa
2026-02-15 15:19:42 +09:00
commit 7269686179
16 changed files with 530 additions and 0 deletions

55
k8s/deployment.yaml Normal file
View File

@@ -0,0 +1,55 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: bunnycdn-mcp
namespace: default
labels:
app: bunnycdn-mcp
spec:
replicas: 1
revisionHistoryLimit: 2
selector:
matchLabels:
app: bunnycdn-mcp
template:
metadata:
labels:
app: bunnycdn-mcp
spec:
imagePullSecrets:
- name: gitea-registry
containers:
- name: bunnycdn-mcp
image: gitea.anvil.it.com/kaffa/bunnycdn-mcp:latest
ports:
- containerPort: 8001
protocol: TCP
env:
- name: MCP_HOST
value: "0.0.0.0"
- name: MCP_PORT
value: "8001"
- name: BUNNY_API_KEY
valueFrom:
secretKeyRef:
name: bunnycdn-secrets
key: api-key
- name: LOG_LEVEL
value: "INFO"
resources:
requests:
cpu: 50m
memory: 64Mi
limits:
cpu: 200m
memory: 128Mi
readinessProbe:
tcpSocket:
port: 8001
initialDelaySeconds: 5
periodSeconds: 10
livenessProbe:
tcpSocket:
port: 8001
initialDelaySeconds: 10
periodSeconds: 30