diff --git a/charts/stable/homepage/Chart.yaml b/charts/stable/homepage/Chart.yaml index 92701b173c4..31d15e53b97 100644 --- a/charts/stable/homepage/Chart.yaml +++ b/charts/stable/homepage/Chart.yaml @@ -1,7 +1,7 @@ kubeVersion: ">=1.24.0-0" apiVersion: v2 name: homepage -version: 6.1.1 +version: 6.2.0 appVersion: 0.8.3 description: A highly customizable homepage home: https://truecharts.org/charts/stable/homepage diff --git a/charts/stable/homepage/values.yaml b/charts/stable/homepage/values.yaml index 5600ec4182b..993499a172d 100644 --- a/charts/stable/homepage/values.yaml +++ b/charts/stable/homepage/values.yaml @@ -2,6 +2,51 @@ image: repository: ghcr.io/gethomepage/homepage tag: v0.8.3@sha256:4214f13b534aa4b214665a41b50d60fe0f04ff41cddb8e72fe92811e1eed0112 pullPolicy: IfNotPresent + +workload: + main: + podSpec: + automountServiceAccountToken: true + initContainers: + init-config: + enabled: "{{ not .Values.forceConfigFromValues }}" + 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.dummy /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.dummy /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.dummy /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 "wdigets file not found, copying dummy..." + cp /dummy-config/widgets.yaml.dummy /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.dummy /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.dummy /app/config/custom.js + echo "Config file copied, you can now edit it at /app/config/custom.js" + fi service: main: ports: @@ -13,13 +58,131 @@ 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: kubernetes-config + objectName: config + bookmarks-config: + # Only enable when not using homepageConfig + 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 not using homepageConfig + enabled: "{{ .Values.forceConfigFromValues }}" + mountPath: /app/config/bookmarks.yaml + subPath: bookmarks.yaml + readOnly: true + type: "configmap" + objectName: config + settings-config: + # Only enable when not using homepageConfig + 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 not using homepageConfig + enabled: "{{ .Values.forceConfigFromValues }}" + mountPath: /app/config/settings.yaml + subPath: settings.yaml + readOnly: true + type: "configmap" + objectName: config + services-config: + # Only enable when not using homepageConfig + 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 not using homepageConfig + enabled: "{{ .Values.forceConfigFromValues }}" + mountPath: /app/services/services.yaml + subPath: services.yaml + readOnly: true + type: "configmap" + objectName: config + widgets-config: + # Only enable when not using homepageConfig + 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 not using homepageConfig + 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 homepageConfig + 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 not using homepageConfig + 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 homepageConfig + 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 not using homepageConfig + enabled: "{{ .Values.forceConfigFromValues }}" + mountPath: /app/config/custom.js + subPath: custom.js + readOnly: true + type: "configmap" + objectName: config portal: open: @@ -36,11 +199,97 @@ podOptions: value: "3" configmap: - kubernetes-config: + 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: @@ -87,7 +336,3 @@ rbac: - customresourcedefinitions/status verbs: - get -workload: - main: - podSpec: - automountServiceAccountToken: true