apiVersion: apps/v1 kind: Deployment metadata: name: penpot-mcp namespace: ai-inference labels: app.kubernetes.io/name: penpot-mcp app.kubernetes.io/component: mcp-server spec: replicas: 1 selector: matchLabels: app.kubernetes.io/name: penpot-mcp template: metadata: labels: app.kubernetes.io/name: penpot-mcp spec: containers: - name: penpot-mcp image: 192.168.87.31/penpot-mcp/server:latest imagePullPolicy: Always ports: - containerPort: 8080 name: http env: - name: PENPOT_BASE_URL value: "http://192.168.87.30" - name: PENPOT_EMAIL valueFrom: secretKeyRef: name: penpot-mcp-credentials key: email - name: PENPOT_PASSWORD valueFrom: secretKeyRef: name: penpot-mcp-credentials key: password - name: GITEA_BASE_URL value: "https://repo.adservio.us" - name: GITEA_TOKEN valueFrom: secretKeyRef: name: penpot-mcp-credentials key: gitea_token readinessProbe: httpGet: path: /health port: 8080 initialDelaySeconds: 5 periodSeconds: 10 livenessProbe: httpGet: path: /health port: 8080 initialDelaySeconds: 15 periodSeconds: 30 resources: requests: memory: "128Mi" cpu: "50m" limits: memory: "256Mi" cpu: "250m" --- apiVersion: v1 kind: Service metadata: name: penpot-mcp namespace: ai-inference labels: app.kubernetes.io/name: penpot-mcp annotations: metallb.universe.tf/loadBalancerIPs: 192.168.87.36 spec: type: LoadBalancer selector: app.kubernetes.io/name: penpot-mcp ports: - port: 8080 targetPort: 8080 protocol: TCP name: http