Skip to content

Commit 5385323

Browse files
authored
ci: add renovate action (#61)
This pull request introduces extensive updates to the repository, primarily focusing on enabling and configuring Renovate for dependency management and simplifying image repository structures across the infrastructure files. Key changes include adding Renovate configuration and workflow files, updating image repository paths, and streamlining Helm template logic.
1 parent d7cc476 commit 5385323

File tree

8 files changed

+189
-20
lines changed

8 files changed

+189
-20
lines changed

.github/renovate.json

Lines changed: 137 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,137 @@
1+
{
2+
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
3+
"extends": ["config:recommended"],
4+
"timezone": "UTC",
5+
"schedule": ["before 4am"],
6+
"labels": ["renovate"],
7+
"semanticCommits": "enabled",
8+
"semanticCommitType": "chore",
9+
"semanticCommitScope": "deps",
10+
"prConcurrentLimit": 5,
11+
"prHourlyLimit": 50,
12+
"stabilityDays": 7,
13+
"repositories": ["stackitcloud/rag-template"],
14+
"hostRules": [
15+
{
16+
"hostType": "docker",
17+
"matchHost": "ghcr.io"
18+
},
19+
{
20+
"hostType": "helm",
21+
"matchHost": "charts.bitnami.com"
22+
},
23+
{
24+
"hostType": "helm",
25+
"matchHost": "langfuse.github.io"
26+
},
27+
{
28+
"hostType": "helm",
29+
"matchHost": "qdrant.github.io"
30+
},
31+
{
32+
"hostType": "helm",
33+
"matchHost": "enapter.github.io"
34+
},
35+
{
36+
"hostType": "helm",
37+
"matchHost": "otwld.github.io"
38+
}
39+
],
40+
41+
"packageRules": [
42+
{
43+
"description": "Group all non-major updates together",
44+
"matchUpdateTypes": ["minor", "patch", "pin", "digest"],
45+
"groupName": "all non-major dependencies",
46+
"groupSlug": "all-minor-patch"
47+
},
48+
{
49+
"description": "Automerge non-major updates",
50+
"matchUpdateTypes": ["minor", "patch", "pin", "digest"],
51+
"automerge": true
52+
},
53+
{
54+
"description": "Require manual review for major updates",
55+
"matchUpdateTypes": ["major"],
56+
"labels": ["major-update"],
57+
"automerge": false
58+
},
59+
{
60+
"description": "Label Python dependencies",
61+
"matchManagers": ["poetry", "pip_requirements"],
62+
"addLabels": ["python"]
63+
},
64+
{
65+
"description": "Label Node.js dependencies",
66+
"matchManagers": ["npm"],
67+
"addLabels": ["nodejs"]
68+
},
69+
{
70+
"description": "Label Docker images",
71+
"matchManagers": ["dockerfile", "docker-compose"],
72+
"addLabels": ["docker"]
73+
},
74+
{
75+
"description": "Label Helm charts",
76+
"matchManagers": ["helm-requirements", "helm-values", "helmv3"],
77+
"addLabels": ["helm"]
78+
},
79+
{
80+
"description": "Label Kubernetes manifests",
81+
"matchManagers": ["kubernetes"],
82+
"addLabels": ["kubernetes"]
83+
},
84+
{
85+
"description": "Automerge GitHub Actions updates",
86+
"matchManagers": ["github-actions"],
87+
"addLabels": ["github-actions"],
88+
"automerge": true
89+
},
90+
{
91+
"description": "Ignore malformed platform flags",
92+
"matchPackageNames": [
93+
"--platform=linux/amd64 python",
94+
"--platform=linux/amd64 node"
95+
],
96+
"enabled": false
97+
},
98+
{
99+
"description": "Bitnami Helm charts",
100+
"matchManagers": ["helm-requirements", "helm-values", "helmv3"],
101+
"matchPackageNames": ["minio", "bitnami/nginx-ingress-controller"],
102+
"registryUrls": ["https://charts.bitnami.com/bitnami"]
103+
},
104+
{
105+
"description": "Langfuse Helm chart",
106+
"matchManagers": ["helm-requirements", "helm-values", "helmv3"],
107+
"matchPackageNames": ["langfuse"],
108+
"registryUrls": ["https://langfuse.github.io/langfuse-k8s"]
109+
},
110+
{
111+
"description": "Qdrant Helm chart",
112+
"matchManagers": ["helm-requirements", "helm-values", "helmv3"],
113+
"matchPackageNames": ["qdrant"],
114+
"registryUrls": ["https://qdrant.github.io/qdrant-helm"]
115+
},
116+
{
117+
"description": "KeyDB Helm chart",
118+
"matchManagers": ["helm-requirements", "helm-values", "helmv3"],
119+
"matchPackageNames": ["keydb"],
120+
"registryUrls": ["https://enapter.github.io/charts/"]
121+
},
122+
{
123+
"description": "Ollama Helm chart",
124+
"matchManagers": ["helm-requirements", "helm-values", "helmv3"],
125+
"matchPackageNames": ["ollama"],
126+
"registryUrls": ["https://otwld.github.io/ollama-helm/"]
127+
}
128+
],
129+
"ignoreDeps": [],
130+
"ignorePaths": [
131+
"**/node_modules/**",
132+
"**/vendor/**",
133+
"**/__pycache__/**",
134+
"**/venv/**",
135+
"**/.venv/**"
136+
]
137+
}

.github/workflows/renovate.yml

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
name: Renovate
2+
3+
on:
4+
schedule:
5+
- cron: '0 0 * * 0'
6+
# Allow manual triggering
7+
workflow_dispatch:
8+
inputs:
9+
logLevel:
10+
description: 'Log level'
11+
required: false
12+
default: 'info'
13+
type: choice
14+
options:
15+
- info
16+
- debug
17+
dryRun:
18+
description: 'Dry run'
19+
required: false
20+
default: false
21+
type: boolean
22+
23+
jobs:
24+
renovate:
25+
name: Renovate
26+
runs-on: ubuntu-latest
27+
steps:
28+
- name: Checkout
29+
uses: actions/checkout@v4
30+
- name: Self-hosted Renovate
31+
uses: renovatebot/[email protected]
32+
with:
33+
configurationFile: .github/renovate.json
34+
token: ${{ secrets.RENOVATE_TOKEN }}
35+
env:
36+
LOG_LEVEL: ${{ inputs.logLevel || 'info' }}
37+
RENOVATE_DRY_RUN: ${{ inputs.dryRun || false }}
38+
RENOVATE_BASE_BRANCH_PATTERNS: deps-main
39+
TZ: Europe/Berlin

infrastructure/README.md

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -311,8 +311,7 @@ backend:
311311
port: "8000" # Port on which the MCP server listens (default: 8000)
312312
host: "0.0.0.0" # Host address for the MCP server
313313
image:
314-
repository: ghcr.io/stackitcloud/rag-template
315-
name: rag-mcp
314+
repository: ghcr.io/stackitcloud/rag-template/mcp-server
316315
pullPolicy: Always
317316
tag: "v1.0.0"
318317
```

infrastructure/rag/templates/_admin_backend_and_extractor_helpers.tpl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -74,11 +74,11 @@
7474

7575
# image
7676
{{- define "adminBackend.fullImageName" -}}
77-
{{- printf "%s/%s:%s" .Values.adminBackend.image.repository .Values.adminBackend.image.name .Values.adminBackend.image.tag | trimSuffix ":" }}
77+
{{- printf "%s:%s" .Values.adminBackend.image.repository .Values.adminBackend.image.tag | trimSuffix ":" }}
7878
{{- end -}}
7979

8080
{{- define "extractor.fullImageName" -}}
81-
{{- printf "%s/%s:%s" .Values.extractor.image.repository .Values.extractor.image.name .Values.extractor.image.tag | trimSuffix ":" }}
81+
{{- printf "%s:%s" .Values.extractor.image.repository .Values.extractor.image.tag | trimSuffix ":" }}
8282
{{- end -}}
8383

8484
# ingress

infrastructure/rag/templates/_admin_frontend_helpers.tpl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{{- define "adminFrontend.fullImageName" -}}
22
{{- if .Values.adminFrontend.image -}}
33
{{- if .Values.adminFrontend.image.repository -}}
4-
{{- printf "%s/%s:%s" .Values.adminFrontend.image.repository .Values.adminFrontend.image.name .Values.adminFrontend.image.tag | trimSuffix ":" }}
4+
{{- printf "%s:%s" .Values.adminFrontend.image.repository .Values.adminFrontend.image.tag | trimSuffix ":" }}
55
{{- else -}}
66
{{ required "A valid .Values.adminFrontend.image.repository entry required!" . }}
77
{{- end -}}

infrastructure/rag/templates/_backend_helpers.tpl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -95,11 +95,11 @@
9595
{{- end -}}
9696

9797
{{- define "backend.fullImageName" -}}
98-
{{- printf "%s/%s:%s" .Values.backend.image.repository .Values.backend.image.name .Values.backend.image.tag | trimSuffix ":" | trimSuffix "-" }}
98+
{{- printf "%s:%s" .Values.backend.image.repository .Values.backend.image.tag | trimSuffix ":" | trimSuffix "-" }}
9999
{{- end -}}
100100

101101
{{- define "mcp.fullImageName" -}}
102-
{{- printf "%s/%s:%s" .Values.backend.mcp.image.repository .Values.backend.mcp.image.name .Values.backend.mcp.image.tag | trimSuffix ":" | trimSuffix "-" }}
102+
{{- printf "%s:%s" .Values.backend.mcp.image.repository .Values.backend.mcp.image.tag | trimSuffix ":" | trimSuffix "-" }}
103103
{{- end -}}
104104

105105

infrastructure/rag/templates/_frontend_helpers.tpl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
{{- end -}}
44

55
{{- define "frontend.fullImageName" -}}
6-
{{- printf "%s/%s:%s" .Values.frontend.image.repository .Values.frontend.image.name .Values.frontend.image.tag | trimSuffix ":" -}}
6+
{{- printf "%s:%s" .Values.frontend.image.repository .Values.frontend.image.tag | trimSuffix ":" -}}
77
{{- end -}}
88

99
{{- define "ingress.frontendFullname" -}}

infrastructure/rag/values.yaml

Lines changed: 6 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -68,17 +68,15 @@ backend:
6868
chatWithHistoryExamples: ""
6969

7070
image:
71-
repository: ghcr.io/stackitcloud/rag-template
72-
name: rag-mcp
71+
repository: ghcr.io/stackitcloud/rag-template/mcp-server
7372
pullPolicy: Always
7473
tag: "v2.0.0"
7574

7675
name: backend
7776
replicaCount: 1
7877

7978
image:
80-
repository: ghcr.io/stackitcloud/rag-template
81-
name: rag-backend
79+
repository: ghcr.io/stackitcloud/rag-template/rag-backend
8280
pullPolicy: Always
8381
tag: "v2.0.0"
8482

@@ -216,8 +214,7 @@ frontend:
216214
name: frontend
217215
replicaCount: 1
218216
image:
219-
repository: ghcr.io/stackitcloud/rag-template
220-
name: frontend
217+
repository: ghcr.io/stackitcloud/rag-template/frontend
221218
pullPolicy: Always
222219
tag: "v2.0.0"
223220

@@ -252,8 +249,7 @@ adminBackend:
252249
name: admin-backend
253250

254251
image:
255-
repository: ghcr.io/stackitcloud/rag-template
256-
name: admin-backend
252+
repository: ghcr.io/stackitcloud/rag-template/admin-backend
257253
pullPolicy: Always
258254
tag: "v2.0.0"
259255

@@ -333,8 +329,7 @@ extractor:
333329
replicaCount: 1
334330
name: extractor
335331
image:
336-
repository: ghcr.io/stackitcloud/rag-template
337-
name: document-extractor
332+
repository: ghcr.io/stackitcloud/rag-template/document-extractor
338333
pullPolicy: Always
339334
tag: "v2.0.0"
340335

@@ -382,8 +377,7 @@ adminFrontend:
382377
name: admin-frontend
383378
replicaCount: 1
384379
image:
385-
repository: ghcr.io/stackitcloud/rag-template
386-
name: admin-frontend
380+
repository: ghcr.io/stackitcloud/rag-template/admin-frontend
387381
pullPolicy: Always
388382
tag: "v2.0.0"
389383

0 commit comments

Comments
 (0)