Files
truecharts/charts/stable/homepage/values.yaml
T
c469dcd318 fix(homepage) minor improvements for Helm users (#18729)
**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>
2024-03-01 10:23:40 +01:00

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