Prepare ImmichFrame GitOps deployment

This commit is contained in:
2026-10-18 13:45:47 +02:00
parent 72aa889364
commit a99ac50d5e
6 changed files with 116 additions and 0 deletions
+2
View File
@@ -0,0 +1,2 @@
Chart.lock
charts/
+9
View File
@@ -0,0 +1,9 @@
apiVersion: v2
name: immichframe
description: Cluster-specific ImmichFrame deployment
type: application
version: 0.1.0
dependencies:
- name: immichframe
version: 0.0.0
repository: https://brunner.ninja/charts
@@ -0,0 +1,14 @@
---
apiVersion: bitnami.com/v1alpha1
kind: SealedSecret
metadata:
name: immichframe-api
namespace: default
spec:
encryptedData:
api-key: AgBO+AeSPCJx/9GvDbxJLMaCLI6XiNR3JINDkn9VnsQe7BRlWsp4dLo20y5eT0hyvOaSvOW0etzJbFM2NZ+s8JwsSFpt4AAwR6B+GxlrlRIqWgVUE/T6oaIoSycuHsQ4/mQxR8YUP5wA6l/tcWrSft7qDa99Ob5S/k4Pq0u8zuZrg3oRCZ6ReUJ/6+hbf9YIo/+JLW7WfcpjNmKUw2XWEJdoIUL65ne3VeqKQjJB7yV2jHQdXmbgRvWrhAATrQmsxkSMTtaQKxg/VxXmhcKTxDNPcJB6qezydp0/8VpElUWSEqTWKSSTZ4YAVV6sIBb1LUczkMZ5VwZFzM8v+B/m53HFfY+gzluEDvC4GMQYZH/jcPsOPFJxyNLCzkpXLUgnun3aRgtIwjgKN5pFQzf+e3rhWzswgxel1vD1t4kZPVkg/Jl6yUxp73rBsW1IFfNLrFrN48gzMGDy4nddt/VHxwshoP9OG4HPPza8l1tFDnedSBkuo62BPEaOQIZFAc19+P1gnSWpRkjKBqwCsIl1Vm6lFbAB6iVpEWlsDxIrboHVjM6Iff2FihF1KLaaAU3weuItHsnp9Jj37toZxkV8jBkb1Y+xtlS+0hS0sLOja0G05j/qk6jNNk40xmnSpKSb5tZMksr+ANrdodTmq+/IFyCGMvPgDpmluPRP8Rx8QmyDzJ/oM4bPMKCFcvNQNm+L+asvnjzQJed2FrXVUQ71FcDzotb4pdAXW7hziORMqrO5xuaQgyCs8KpV5w==
template:
metadata:
name: immichframe-api
namespace: default
type: Opaque
+49
View File
@@ -0,0 +1,49 @@
immichframe:
fullnameOverride: immichframe
replicaCount: 2
image:
pullPolicy: Always
timezone: Europe/Vienna
config:
general:
Interval: 15
ShowClock: false
accounts:
- immichServerUrl: https://immich.brunner.ninja
apiKeySecret:
name: immichframe-api
key: api-key
options:
Albums:
- 489d6c4d-d175-45e0-aeae-e2791dfc9658
ingress:
enabled: true
className: traefik
annotations:
traefik.ingress.kubernetes.io/router.entrypoints: websecure
hosts:
- host: immichframe.brunner.ninja
paths:
- path: /
pathType: Prefix
podDisruptionBudget:
enabled: true
minAvailable: 1
prometheusRule:
enabled: true
labels:
release: prometheus
resources:
requests:
cpu: 10m
memory: 256Mi
limits:
cpu: 500m
memory: 512Mi
+6
View File
@@ -11,6 +11,8 @@ spec:
- namespace: default
server: https://kubernetes.default.svc
namespaceResourceWhitelist:
- group: ""
kind: ConfigMap
- group: ""
kind: PersistentVolumeClaim
- group: ""
@@ -21,5 +23,9 @@ spec:
kind: Ingress
- group: policy
kind: PodDisruptionBudget
- group: monitoring.coreos.com
kind: PrometheusRule
- group: monitoring.coreos.com
kind: ServiceMonitor
- group: bitnami.com
kind: SealedSecret
+36
View File
@@ -0,0 +1,36 @@
#!/bin/sh
set -eu
if [ "$#" -ne 1 ] || ! printf '%s\n' "$1" | grep -Eq '^[0-9]+\.[0-9]+\.[0-9]+([+-][0-9A-Za-z.-]+)?$'; then
echo "usage: $0 <semantic-chart-version>" >&2
exit 2
fi
script_dir=$(CDPATH= cd -- "$(dirname -- "$0")" && pwd)
repository_dir=$(dirname -- "${script_dir}")
chart="${repository_dir}/apps/immichframe/Chart.yaml"
temporary="${chart}.tmp"
awk -v version="$1" '
/^- name: immichframe$/ {
dependency = 1
}
dependency && /^ version: / {
if (updated) {
print "multiple immichframe dependency versions found" > "/dev/stderr"
exit 1
}
print " version: " version
updated = 1
dependency = 0
next
}
{ print }
END {
if (!updated) {
print "immichframe dependency version not found" > "/dev/stderr"
exit 1
}
}
' "${chart}" > "${temporary}"
mv "${temporary}" "${chart}"