apiVersion: v1 kind: Namespace metadata: name: git-summarizer --- apiVersion: v1 kind: ConfigMap metadata: name: git-summarizer-config namespace: git-summarizer data: LLAMA_URL: "http://llamacpp.your-namespace.svc.cluster.local:8080" # Adjust to your llama.cpp service LLAMA_MODEL: "qwen2.5-coder" --- # Optional: Secret for git SSH keys apiVersion: v1 kind: Secret metadata: name: git-ssh-key namespace: git-summarizer type: Opaque data: # base64 encoded SSH private key # id_rsa: --- apiVersion: apps/v1 kind: Deployment metadata: name: git-summarizer namespace: git-summarizer spec: replicas: 1 selector: matchLabels: app: git-summarizer template: metadata: labels: app: git-summarizer spec: containers: - name: git-summarizer image: your-registry/git-summarizer:latest ports: - containerPort: 8000 envFrom: - configMapRef: name: git-summarizer-config resources: requests: memory: "64Mi" cpu: "100m" limits: memory: "256Mi" cpu: "500m" livenessProbe: httpGet: path: /health port: 8000 initialDelaySeconds: 5 periodSeconds: 10 readinessProbe: httpGet: path: /health port: 8000 initialDelaySeconds: 5 periodSeconds: 5 volumeMounts: - name: tmp mountPath: /tmp # Uncomment for SSH cloning support # - name: ssh-key # mountPath: /root/.ssh/id_rsa # subPath: id_rsa # readOnly: true volumes: - name: tmp emptyDir: sizeLimit: 1Gi # - name: ssh-key # secret: # secretName: git-ssh-key # defaultMode: 0600 --- apiVersion: v1 kind: Service metadata: name: git-summarizer namespace: git-summarizer spec: selector: app: git-summarizer ports: - port: 8000 targetPort: 8000 --- # Optional: Ingress for external access # apiVersion: networking.k8s.io/v1 # kind: Ingress # metadata: # name: git-summarizer # namespace: git-summarizer # spec: # rules: # - host: git-summarizer.your-domain.com # http: # paths: # - path: / # pathType: Prefix # backend: # service: # name: git-summarizer # port: # number: 8000