Files
applications/homer/helm-values.yaml
Mayne0213 fd1548c70c FEAT(applications): enable HA with replica 2 and soft anti-affinity
- Add replicaCount: 2 to docusaurus, headlamp, homer, mas, umami
- Add soft pod anti-affinity for node distribution
- Enable high availability across multiple nodes
2026-01-09 21:38:09 +09:00

107 lines
2.4 KiB
YAML

# homer - bjw-s/app-template values
# Dashboard for self-hosted services
controllers:
main:
replicaCount: 2
initContainers:
copy-homer-files:
image:
repository: b4bz/homer
tag: latest
command:
- sh
- -c
- |
cp -r /www/* /tmp/www/
copy-assets:
image:
repository: alpine/git
tag: latest
command:
- sh
- -c
- |
git clone --depth 1 --branch main https://github.com/K3S-HOME/applications.git /tmp/repo
rm -rf /www/assets
cp -r /tmp/repo/homer/assets /www/assets
cp /config/config.yml /www/assets/config.yml
chmod -R 755 /www/assets
chown -R 1000:65533 /www/assets
containers:
main:
image:
repository: b4bz/homer
tag: latest
pullPolicy: IfNotPresent
resources:
requests:
cpu: 15m
memory: 100Mi
limits:
memory: 150Mi
# Affinity - Soft Anti-Affinity to spread pods across nodes
affinity:
podAntiAffinity:
preferredDuringSchedulingIgnoredDuringExecution:
- weight: 100
podAffinityTerm:
labelSelector:
matchLabels:
app.kubernetes.io/name: homer
topologyKey: kubernetes.io/hostname
service:
main:
controller: main
ports:
http:
port: 80
targetPort: 8080
ingress:
main:
enabled: true
className: traefik
annotations:
cert-manager.io/cluster-issuer: letsencrypt-prod
hosts:
- host: mayne.kro.kr
paths:
- path: /
service:
identifier: main
port: http
- host: www.mayne.kro.kr
paths:
- path: /
service:
identifier: main
port: http
tls:
- secretName: homer-tls
hosts:
- mayne.kro.kr
- www.mayne.kro.kr
persistence:
www:
enabled: true
type: emptyDir
advancedMounts:
main:
copy-homer-files:
- path: /tmp/www
copy-assets:
- path: /www
main:
- path: /www
config:
enabled: true
type: configMap
name: homer-config
advancedMounts:
main:
copy-assets:
- path: /config