**Description** Small fixes and clean up things to make the Homepage chart easier to install for Helm users. This seems to work fine for me installing with Helm, and I think it should work for all platforms. I think this is a breaking change for Helm users and I added a bit to the Changelog to explain it too. Let me know and I can format that differently. For right now it's just a link to the repository since the PR doesn't exist yet. The bugfix is fixing the path on force-services-config. The rest is a bit of templating to make things easier to swap between editing the config in the configmaps vs in the container. ⚒️ Fixes # N/A **⚙️ Type of change** - [ ] ⚙️ Feature/App addition - [X] 🪛 Bugfix - [X] ⚠️ Breaking change (fix or feature that would cause existing functionality to not work as expected) - [X] 🔃 Refactor of current code **🧪 How Has This Been Tested?** I ran this values.yaml file in my own k3s cluster using Helm with ingress added. I didn't repackage the chart to test locally or anything, but I think testing the values.yaml file is enough. Let me know and I can do some more testing. **📃 Notes:** I've been learning k8s and Helm recently for fun and found some of these. Any feedback is appreciated. **✔️ Checklist:** - [ ] ⚖️ My code follows the style guidelines of this project - [X] 👀 I have performed a self-review of my own code - [X] #️⃣ I have commented my code, particularly in hard-to-understand areas - [ ] 📄 I have made corresponding changes to the documentation - [ ] ⚠️ My changes generate no new warnings - [ ] 🧪 I have added tests to this description that prove my fix is effective or that my feature works - [X] ⬆️ I increased versions for any altered app according to semantic versioning --- _Please don't blindly check all the boxes. Read them and only check those that apply. Those checkboxes are there for the reviewer to see what is this all about and the status of this PR with a quick glance._ --------- Signed-off-by: Kjeld Schouten <info@kjeldschouten.nl> Co-authored-by: Kjeld Schouten <kjeld@schouten-lebbing.nl>
339 lines
9.7 KiB
YAML
339 lines
9.7 KiB
YAML
image:
|
|
repository: ghcr.io/gethomepage/homepage
|
|
tag: v0.8.8@sha256:0f066a6d6fba3a810a85aa79a483302b0fee21139b67adaeb245edae5051f3e8
|
|
pullPolicy: IfNotPresent
|
|
|
|
workload:
|
|
main:
|
|
podSpec:
|
|
automountServiceAccountToken: true
|
|
initContainers:
|
|
init-config:
|
|
enabled: true
|
|
type: init
|
|
imageSelector: alpineImage
|
|
command:
|
|
- /bin/sh
|
|
- -c
|
|
- |
|
|
mkdir -p /app/config
|
|
if [ ! -f /app/config/bookmarks.yaml ]; then
|
|
echo "Bookmarks file not found, copying dummy..."
|
|
cp /dummy-config/bookmarks.yaml /app/config/bookmarks.yaml
|
|
echo "Config file copied, you can now edit it at /app/config/bookmarks.yaml"
|
|
fi
|
|
if [ ! -f /app/config/services.yaml ]; then
|
|
echo "services file not found, copying dummy..."
|
|
cp /dummy-config/services.yaml /app/config/services.yaml
|
|
echo "Config file copied, you can now edit it at /app/config/services.yaml"
|
|
fi
|
|
if [ ! -f /app/config/settings.yaml ]; then
|
|
echo "settings file not found, copying dummy..."
|
|
cp /dummy-config/settings.yaml /app/config/settings.yaml
|
|
echo "Config file copied, you can now edit it at /app/config/settings.yaml"
|
|
fi
|
|
if [ ! -f /app/config/widgets.yaml ]; then
|
|
echo "widgets file not found, copying dummy..."
|
|
cp /dummy-config/widgets.yaml /app/config/widgets.yaml
|
|
echo "Config file copied, you can now edit it at /app/config/widgets.yaml"
|
|
fi
|
|
if [ ! -f /app/config/custom.css ]; then
|
|
echo "custom.css file not found, copying dummy..."
|
|
cp /dummy-config/custom.css /app/config/custom.css
|
|
echo "Config file copied, you can now edit it at /app/config/custom.css"
|
|
fi
|
|
if [ ! -f /app/config/custom.js ]; then
|
|
echo "custom.js file not found, copying dummy..."
|
|
cp /dummy-config/custom.js /app/config/custom.js
|
|
echo "Config file copied, you can now edit it at /app/config/custom.js"
|
|
fi
|
|
service:
|
|
main:
|
|
ports:
|
|
main:
|
|
port: 10352
|
|
protocol: http
|
|
targetPort: 3000
|
|
persistence:
|
|
config:
|
|
enabled: true
|
|
mountPath: /app/config
|
|
targetSelector:
|
|
main:
|
|
main: {}
|
|
init-config: {}
|
|
kubernetes-config:
|
|
enabled: true
|
|
mountPath: /app/config/kubernetes.yaml
|
|
subPath: kubernetes.yaml
|
|
readOnly: true
|
|
type: "configmap"
|
|
objectName: config
|
|
bookmarks-config:
|
|
# Only enable when not using forceConfigFromValues
|
|
enabled: "{{ not .Values.forceConfigFromValues }}"
|
|
mountPath: /dummy-config/bookmarks.yaml
|
|
subPath: bookmarks.yaml
|
|
readOnly: true
|
|
type: "configmap"
|
|
objectName: config
|
|
targetSelector:
|
|
main:
|
|
init-config: {}
|
|
force-bookmarks-config:
|
|
# Only enable when using forceConfigFromValues
|
|
enabled: "{{ .Values.forceConfigFromValues }}"
|
|
mountPath: /app/config/bookmarks.yaml
|
|
subPath: bookmarks.yaml
|
|
readOnly: true
|
|
type: "configmap"
|
|
objectName: config
|
|
settings-config:
|
|
# Only enable when not using forceConfigFromValues
|
|
enabled: "{{ not .Values.forceConfigFromValues }}"
|
|
mountPath: /dummy-config/settings.yaml
|
|
subPath: settings.yaml
|
|
readOnly: true
|
|
type: "configmap"
|
|
objectName: config
|
|
targetSelector:
|
|
main:
|
|
init-config: {}
|
|
force-settings-config:
|
|
# Only enable when using forceConfigFromValues
|
|
enabled: "{{ .Values.forceConfigFromValues }}"
|
|
mountPath: /app/config/settings.yaml
|
|
subPath: settings.yaml
|
|
readOnly: true
|
|
type: "configmap"
|
|
objectName: config
|
|
services-config:
|
|
# Only enable when not using forceConfigFromValues
|
|
enabled: "{{ not .Values.forceConfigFromValues }}"
|
|
mountPath: /dummy-config/services.yaml
|
|
subPath: services.yaml
|
|
readOnly: true
|
|
type: "configmap"
|
|
objectName: config
|
|
targetSelector:
|
|
main:
|
|
init-config: {}
|
|
force-services-config:
|
|
# Only enable when using forceConfigFromValues
|
|
enabled: "{{ .Values.forceConfigFromValues }}"
|
|
mountPath: /app/config/services.yaml
|
|
subPath: services.yaml
|
|
readOnly: true
|
|
type: "configmap"
|
|
objectName: config
|
|
widgets-config:
|
|
# Only enable when not using forceConfigFromValues
|
|
enabled: "{{ not .Values.forceConfigFromValues }}"
|
|
mountPath: /dummy-config/widgets.yaml
|
|
subPath: widgets.yaml
|
|
readOnly: true
|
|
type: "configmap"
|
|
objectName: config
|
|
targetSelector:
|
|
main:
|
|
init-config: {}
|
|
force-widgets-config:
|
|
# Only enable when using forceConfigFromValues
|
|
enabled: "{{ .Values.forceConfigFromValues }}"
|
|
mountPath: /app/config/widgets.yaml
|
|
subPath: widgets.yaml
|
|
readOnly: true
|
|
type: "configmap"
|
|
objectName: config
|
|
custom-css-config:
|
|
# Only enable when not using forceConfigFromValues
|
|
enabled: "{{ not .Values.forceConfigFromValues }}"
|
|
mountPath: /dummy-config/custom.css
|
|
subPath: custom.css
|
|
readOnly: true
|
|
type: "configmap"
|
|
objectName: config
|
|
targetSelector:
|
|
main:
|
|
init-config: {}
|
|
force-custom-css-config:
|
|
# Only enable when using forceConfigFromValues
|
|
enabled: "{{ .Values.forceConfigFromValues }}"
|
|
mountPath: /app/config/custom.css
|
|
subPath: custom.css
|
|
readOnly: true
|
|
type: "configmap"
|
|
objectName: config
|
|
custom-js-config:
|
|
# Only enable when not using forceConfigFromValues
|
|
enabled: "{{ not .Values.forceConfigFromValues }}"
|
|
mountPath: /dummy-config/custom.js
|
|
subPath: custom.js
|
|
readOnly: true
|
|
type: "configmap"
|
|
objectName: config
|
|
targetSelector:
|
|
main:
|
|
init-config: {}
|
|
force-custom-js-config:
|
|
# Only enable when using forceConfigFromValues
|
|
enabled: "{{ .Values.forceConfigFromValues }}"
|
|
mountPath: /app/config/custom.js
|
|
subPath: custom.js
|
|
readOnly: true
|
|
type: "configmap"
|
|
objectName: config
|
|
|
|
portal:
|
|
open:
|
|
enabled: true
|
|
serviceAccount:
|
|
main:
|
|
enabled: true
|
|
primary: true
|
|
|
|
podOptions:
|
|
dnsConfig:
|
|
options:
|
|
- name: ndots
|
|
value: "3"
|
|
|
|
configmap:
|
|
config:
|
|
enabled: true
|
|
data:
|
|
custom.js: ""
|
|
custom.css: ""
|
|
kubernetes.yaml: |
|
|
mode: cluster
|
|
settings.yaml: |
|
|
---
|
|
# For configuration options and examples, please see:
|
|
# https://gethomepage.dev/latest/configs/settings
|
|
|
|
providers:
|
|
openweathermap: openweathermapapikey
|
|
weatherapi: weatherapiapikey
|
|
widgets.yaml: |
|
|
---
|
|
# For configuration options and examples, please see:
|
|
# https://gethomepage.dev/latest/configs/widgets
|
|
|
|
- resources:
|
|
cpu: true
|
|
memory: true
|
|
disk: /
|
|
|
|
- search:
|
|
provider: duckduckgo
|
|
target: _blank
|
|
|
|
services.yaml: |
|
|
---
|
|
# For configuration options and examples, please see:
|
|
# https://gethomepage.dev/latest/configs/services
|
|
|
|
- Arr:
|
|
- My First Service:
|
|
href: http://localhost/
|
|
description: Homepage is awesome
|
|
|
|
- Media:
|
|
- My Second Service:
|
|
href: http://localhost/
|
|
description: Homepage is the best
|
|
|
|
- Infra:
|
|
- My Third Service:
|
|
href: http://localhost/
|
|
description: Homepage is 😎
|
|
bookmarks.yaml: |
|
|
---
|
|
# For configuration options and examples, please see:
|
|
# https://gethomepage.dev/latest/configs/bookmarks
|
|
|
|
- Developer:
|
|
- Github:
|
|
- abbr: GH
|
|
href: https://github.com/
|
|
|
|
- Social:
|
|
- Reddit:
|
|
- abbr: RE
|
|
href: https://reddit.com/
|
|
|
|
- Entertainment:
|
|
- YouTube:
|
|
- abbr: YT
|
|
href: https://youtube.com/
|
|
|
|
- TrueCharts:
|
|
- TrueCharts:
|
|
- abbr: TC
|
|
icon: https://truecharts.org/svg/favicon.svg
|
|
href: https://truecharts.org
|
|
description: "TrueCharts Website"
|
|
- Github:
|
|
- abbr: GH
|
|
icon: https://github.com/fluidicon.png
|
|
href: https://github.com/truecharts
|
|
description: "TrueCharts GitHub"
|
|
- Open Collective:
|
|
- abbr: TC
|
|
icon: https://opencollective.com/favicon.ico
|
|
href: https://opencollective.com/truecharts
|
|
description: "TrueCharts Open Collective"
|
|
- Discord:
|
|
- abbr: DC
|
|
icon: https://t2.gstatic.com/faviconV2?client=SOCIAL&type=FAVICON&fallback_opts=TYPE,SIZE,URL&url=http://discord.com&size=32
|
|
href: https://truecharts.org/s/discord
|
|
description: "TrueCharts Discord"
|
|
|
|
forceConfigFromValues: false
|
|
|
|
rbac:
|
|
main:
|
|
enabled: true
|
|
primary: true
|
|
clusterWide: true
|
|
rules:
|
|
- apiGroups:
|
|
- ""
|
|
resources:
|
|
- namespaces
|
|
- pods
|
|
- nodes
|
|
verbs:
|
|
- get
|
|
- list
|
|
- apiGroups:
|
|
- extensions
|
|
- networking.k8s.io
|
|
resources:
|
|
- ingresses
|
|
verbs:
|
|
- get
|
|
- list
|
|
- apiGroups:
|
|
- traefik.containo.us
|
|
- traefik.io
|
|
resources:
|
|
- ingressroutes
|
|
verbs:
|
|
- get
|
|
- list
|
|
- apiGroups:
|
|
- metrics.k8s.io
|
|
resources:
|
|
- nodes
|
|
- pods
|
|
verbs:
|
|
- get
|
|
- list
|
|
- apiGroups:
|
|
- apiextensions.k8s.io
|
|
resources:
|
|
- customresourcedefinitions/status
|
|
verbs:
|
|
- get
|