An AI-powered tool that generates human-readable summaries of git changes using tool calling with a self-hosted LLM
at main 2.5 kB view raw
1apiVersion: v1 2kind: Namespace 3metadata: 4 name: git-summarizer 5--- 6apiVersion: v1 7kind: ConfigMap 8metadata: 9 name: git-summarizer-config 10 namespace: git-summarizer 11data: 12 LLAMA_URL: "http://llamacpp.your-namespace.svc.cluster.local:8080" # Adjust to your llama.cpp service 13 LLAMA_MODEL: "qwen2.5-coder" 14--- 15# Optional: Secret for git SSH keys 16apiVersion: v1 17kind: Secret 18metadata: 19 name: git-ssh-key 20 namespace: git-summarizer 21type: Opaque 22data: 23 # base64 encoded SSH private key 24 # id_rsa: <base64-encoded-key> 25--- 26apiVersion: apps/v1 27kind: Deployment 28metadata: 29 name: git-summarizer 30 namespace: git-summarizer 31spec: 32 replicas: 1 33 selector: 34 matchLabels: 35 app: git-summarizer 36 template: 37 metadata: 38 labels: 39 app: git-summarizer 40 spec: 41 containers: 42 - name: git-summarizer 43 image: your-registry/git-summarizer:latest 44 ports: 45 - containerPort: 8000 46 envFrom: 47 - configMapRef: 48 name: git-summarizer-config 49 resources: 50 requests: 51 memory: "64Mi" 52 cpu: "100m" 53 limits: 54 memory: "256Mi" 55 cpu: "500m" 56 livenessProbe: 57 httpGet: 58 path: /health 59 port: 8000 60 initialDelaySeconds: 5 61 periodSeconds: 10 62 readinessProbe: 63 httpGet: 64 path: /health 65 port: 8000 66 initialDelaySeconds: 5 67 periodSeconds: 5 68 volumeMounts: 69 - name: tmp 70 mountPath: /tmp 71 # Uncomment for SSH cloning support 72 # - name: ssh-key 73 # mountPath: /root/.ssh/id_rsa 74 # subPath: id_rsa 75 # readOnly: true 76 volumes: 77 - name: tmp 78 emptyDir: 79 sizeLimit: 1Gi 80 # - name: ssh-key 81 # secret: 82 # secretName: git-ssh-key 83 # defaultMode: 0600 84--- 85apiVersion: v1 86kind: Service 87metadata: 88 name: git-summarizer 89 namespace: git-summarizer 90spec: 91 selector: 92 app: git-summarizer 93 ports: 94 - port: 8000 95 targetPort: 8000 96--- 97# Optional: Ingress for external access 98# apiVersion: networking.k8s.io/v1 99# kind: Ingress 100# metadata: 101# name: git-summarizer 102# namespace: git-summarizer 103# spec: 104# rules: 105# - host: git-summarizer.your-domain.com 106# http: 107# paths: 108# - path: / 109# pathType: Prefix 110# backend: 111# service: 112# name: git-summarizer 113# port: 114# number: 8000