An AI-powered tool that generates human-readable summaries of git changes using tool calling with a self-hosted LLM
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