[#699] MCPJungle MCP gateway via flux: enterprise mode, NodePort 30800, anti-affinity off workstation
ci / audit (push) Successful in 59s

https://projects.knownelement.com/issues/699
This commit is contained in:
2026-09-05 22:59:41 -05:00
parent c5cd0b9832
commit 655959d8fa
6 changed files with 106 additions and 1 deletions
@@ -0,0 +1,66 @@
# MCPJungle — self-hosted MCP gateway/registry (fleet AI-operator control point)
# Enterprise mode (default): admin/users, API tokens, tool groups, access control.
# SQLite on local-path PVC; single replica. Kept OFF the workstation node
# (dev-only rule) via required node affinity.
apiVersion: apps/v1
kind: Deployment
metadata:
name: mcpjungle
namespace: mcpjungle
labels:
app: mcpjungle
spec:
replicas: 1
strategy:
type: Recreate
selector:
matchLabels:
app: mcpjungle
template:
metadata:
labels:
app: mcpjungle
spec:
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: kubernetes.io/hostname
operator: NotIn
values: [ultix-streaming]
containers:
- name: mcpjungle
image: ghcr.io/mcpjungle/mcpjungle@sha256:59940d2e3a586ab9a063cf24fa37460bc993686fa056729fd1ada25436123dd9
args: ["start", "--enterprise"]
ports:
- containerPort: 8080
name: http
env:
- name: SQLITE_DB_PATH
value: /data/mcpjungle.db
volumeMounts:
- name: data
mountPath: /data
readinessProbe:
httpGet:
path: /health
port: 8080
initialDelaySeconds: 10
periodSeconds: 10
livenessProbe:
httpGet:
path: /health
port: 8080
initialDelaySeconds: 30
periodSeconds: 20
resources:
requests:
cpu: 100m
memory: 128Mi
limits:
memory: 512Mi
volumes:
- name: data
persistentVolumeClaim:
claimName: mcpjungle-data
@@ -0,0 +1,7 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- namespace.yaml
- pvc.yaml
- deployment.yaml
- service.yaml
@@ -0,0 +1,6 @@
apiVersion: v1
kind: Namespace
metadata:
name: mcpjungle
labels:
app.kubernetes.io/part-of: mcpjungle
@@ -0,0 +1,10 @@
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: mcpjungle-data
namespace: mcpjungle
spec:
accessModes: [ReadWriteOnce]
resources:
requests:
storage: 5Gi
@@ -0,0 +1,15 @@
# Tailnet-reachable via any non-workstation node IP on NodePort 30800.
apiVersion: v1
kind: Service
metadata:
name: mcpjungle
namespace: mcpjungle
spec:
type: NodePort
selector:
app: mcpjungle
ports:
- port: 8080
targetPort: 8080
nodePort: 30800
name: http