Publish new changes in catalog

This commit is contained in:
sonicaj
2023-12-03 20:14:30 +00:00
parent 522aadb9a3
commit 1ee33231fe
25 changed files with 678 additions and 481 deletions

View File

@@ -1,8 +0,0 @@
# Homarr
[Homarr](https://github.com/ajnart/homarr) is a sleek, modern dashboard that puts all of your apps and services at your fingertips.
> When application is installed, a container will be launched with **root** privileges.
> This is required in order to apply the correct permissions to the `Homarr` directories.
> Afterward, the `Homarr` container will run as a **non**-root user (Default: `568`).
> All mounted storage(s) will be `chown`ed only if the parent directory does not match the configured user.

View File

@@ -1,8 +0,0 @@
# Homarr
[Homarr](https://github.com/ajnart/homarr) is a sleek, modern dashboard that puts all of your apps and services at your fingertips.
> When application is installed, a container will be launched with **root** privileges.
> This is required in order to apply the correct permissions to the `Homarr` directories.
> Afterward, the `Homarr` container will run as a **non**-root user (Default: `568`).
> All mounted storage(s) will be `chown`ed only if the parent directory does not match the configured user.

View File

@@ -1,14 +0,0 @@
homarrNetwork:
webPort: 31000
homarrRunAs:
user: 1000
group: 1000
homarrStorage:
configs:
type: hostPath
hostPath: /mnt/{{ .Release.Namespace }}/configs
icons:
type: hostPath
hostPath: /mnt/{{ .Release.Namespace }}/icons

View File

@@ -1,23 +0,0 @@
homarrConfig:
password: secret
additionalEnvs:
- name: DISABLE_EDIT_MODE
value: true
homarrNetwork:
webPort: 31000
homarrStorage:
configs:
type: hostPath
hostPath: /mnt/{{ .Release.Namespace }}/configs
icons:
type: hostPath
hostPath: /mnt/{{ .Release.Namespace }}/icons
additionalStorages:
- type: hostPath
hostPath: /mnt/{{ .Release.Namespace }}/data1
mountPath: /data1
- type: hostPath
hostPath: /mnt/{{ .Release.Namespace }}/data2
mountPath: /data2

View File

@@ -1,11 +0,0 @@
homarrNetwork:
webPort: 30000
hostNetwork: true
homarrStorage:
configs:
type: hostPath
hostPath: /mnt/{{ .Release.Namespace }}/configs
icons:
type: hostPath
hostPath: /mnt/{{ .Release.Namespace }}/icons

View File

@@ -1,338 +0,0 @@
groups:
- name: Homarr Configuration
description: Configure Homarr
- name: User and Group Configuration
description: Configure User and Group for Homarr
- name: Network Configuration
description: Configure Network for Homarr
- name: Storage Configuration
description: Configure Storage for Homarr
- name: Resources Configuration
description: Configure Resources for Homarr
portals:
web_portal:
protocols:
- "$kubernetes-resource_configmap_portal_protocol"
host:
- "$kubernetes-resource_configmap_portal_host"
ports:
- "$kubernetes-resource_configmap_portal_port"
path: "$kubernetes-resource_configmap_portal_path"
questions:
- variable: TZ
group: Homarr Configuration
label: Timezone
schema:
type: string
default: Etc/UTC
required: true
$ref:
- definitions/timezone
- variable: homarrConfig
label: ""
group: Homarr Configuration
schema:
type: dict
attrs:
- variable: password
label: Password (Optional)
description: Password for Homarr.
schema:
type: string
default: ""
private: true
- variable: additionalEnvs
label: Additional Environment Variables
description: Configure additional environment variables for Homarr.
schema:
type: list
default: []
items:
- variable: env
label: Environment Variable
schema:
type: dict
attrs:
- variable: name
label: Name
schema:
type: string
required: true
- variable: value
label: Value
schema:
type: string
required: true
- variable: homarrRunAs
label: ""
group: User and Group Configuration
schema:
type: dict
attrs:
- variable: user
label: User ID
description: The user id that Homarr will run as.
schema:
type: int
min: 2
default: 568
required: true
- variable: group
label: Group ID
description: The group id that Homarr will run as.
schema:
type: int
min: 2
default: 568
required: true
- variable: homarrNetwork
label: ""
group: Network Configuration
schema:
type: dict
attrs:
- variable: webPort
label: Web Port
description: The port for the Homarr Web UI.
schema:
type: int
default: 30052
min: 9000
max: 65535
required: true
- variable: hostNetwork
label: Host Network
description: |
Bind to the host network. It's recommended to keep this disabled.</br>
schema:
type: boolean
default: false
- variable: homarrStorage
label: ""
group: Storage Configuration
schema:
type: dict
attrs:
- variable: configs
label: Homarr Config Storage
description: The path to store Homarr Configuration.
schema:
type: dict
attrs:
- variable: type
label: Type
description: |
ixVolume: Is dataset created automatically by the system.</br>
Host Path: Is a path that already exists on the system.
schema:
type: string
required: true
immutable: true
default: "ixVolume"
enum:
- value: "hostPath"
description: Host Path (Path that already exists on the system)
- value: "ixVolume"
description: ixVolume (Dataset created automatically by the system)
- variable: datasetName
label: Dataset Name
schema:
type: string
show_if: [["type", "=", "ixVolume"]]
required: true
hidden: true
immutable: true
default: "configs"
$ref:
- "normalize/ixVolume"
- variable: hostPath
label: Host Path
schema:
type: hostpath
show_if: [["type", "=", "hostPath"]]
immutable: true
required: true
- variable: icons
label: Homarr Icon Storage
description: The path to store Homarr Icons.
schema:
type: dict
attrs:
- variable: type
label: Type
description: |
ixVolume: Is dataset created automatically by the system.</br>
Host Path: Is a path that already exists on the system.
schema:
type: string
required: true
immutable: true
default: "ixVolume"
enum:
- value: "hostPath"
description: Host Path (Path that already exists on the system)
- value: "ixVolume"
description: ixVolume (Dataset created automatically by the system)
- variable: datasetName
label: Dataset Name
schema:
type: string
show_if: [["type", "=", "ixVolume"]]
required: true
hidden: true
immutable: true
default: "icons"
$ref:
- "normalize/ixVolume"
- variable: hostPath
label: Host Path
schema:
type: hostpath
show_if: [["type", "=", "hostPath"]]
immutable: true
required: true
- variable: additionalStorages
label: Additional Storage
description: Additional storage for Homarr.
schema:
type: list
default: []
items:
- variable: storageEntry
label: Storage Entry
schema:
type: dict
attrs:
- variable: type
label: Type
description: |
ixVolume: Is dataset created automatically by the system.</br>
Host Path: Is a path that already exists on the system.</br>
SMB Share: Is a SMB share that is mounted to a persistent volume claim.
schema:
type: string
required: true
default: "ixVolume"
immutable: true
enum:
- value: "hostPath"
description: Host Path (Path that already exists on the system)
- value: "ixVolume"
description: ixVolume (Dataset created automatically by the system)
- value: "smb-pv-pvc"
description: SMB Share (Mounts a persistent volume claim to a SMB share)
- variable: mountPath
label: Mount Path
description: The path inside the container to mount the storage.
schema:
type: path
required: true
- variable: hostPath
label: Host Path
description: The host path to use for storage.
schema:
type: hostpath
show_if: [["type", "=", "hostPath"]]
required: true
- variable: datasetName
label: Dataset Name
description: The name of the dataset to use for storage.
schema:
type: string
show_if: [["type", "=", "ixVolume"]]
required: true
immutable: true
default: "storage_entry"
$ref:
- "normalize/ixVolume"
- variable: server
label: Server
description: The server for the SMB share.
schema:
type: string
show_if: [["type", "=", "smb-pv-pvc"]]
required: true
- variable: share
label: Share
description: The share name for the SMB share.
schema:
type: string
show_if: [["type", "=", "smb-pv-pvc"]]
required: true
- variable: domain
label: Domain (Optional)
description: The domain for the SMB share.
schema:
type: string
show_if: [["type", "=", "smb-pv-pvc"]]
- variable: username
label: Username
description: The username for the SMB share.
schema:
type: string
show_if: [["type", "=", "smb-pv-pvc"]]
required: true
- variable: password
label: Password
description: The password for the SMB share.
schema:
type: string
show_if: [["type", "=", "smb-pv-pvc"]]
required: true
private: true
- variable: size
label: Size (in Gi)
description: The size of the volume quota.
schema:
type: int
show_if: [["type", "=", "smb-pv-pvc"]]
required: true
min: 1
default: 1
- variable: resources
group: Resources Configuration
label: ""
schema:
type: dict
attrs:
- variable: limits
label: Limits
schema:
type: dict
attrs:
- variable: cpu
label: CPU
description: CPU limit for Homarr.
schema:
type: string
max_length: 6
valid_chars: '^(0\.[1-9]|[1-9][0-9]*)(\.[0-9]|m?)$'
valid_chars_error: |
Valid CPU limit formats are</br>
- Plain Integer - eg. 1</br>
- Float - eg. 0.5</br>
- Milicpu - eg. 500m
default: "4000m"
required: true
- variable: memory
label: Memory
description: Memory limit for Homarr.
schema:
type: string
max_length: 12
valid_chars: '^[1-9][0-9]*([EPTGMK]i?|e[0-9]+)?$'
valid_chars_error: |
Valid Memory limit formats are</br>
- Suffixed with E/P/T/G/M/K - eg. 1G</br>
- Suffixed with Ei/Pi/Ti/Gi/Mi/Ki - eg. 1Gi</br>
- Plain Integer in bytes - eg. 1024</br>
- Exponent - eg. 134e6
default: "8Gi"
required: true

View File

@@ -1,59 +0,0 @@
{{- define "homarr.persistence" -}}
persistence:
configs:
enabled: true
type: {{ .Values.homarrStorage.configs.type }}
datasetName: {{ .Values.homarrStorage.configs.datasetName | default "" }}
hostPath: {{ .Values.homarrStorage.configs.hostPath | default "" }}
targetSelector:
homarr:
homarr:
mountPath: /app/data/configs
01-permissions:
mountPath: /mnt/directories/configs
icons:
enabled: true
type: {{ .Values.homarrStorage.icons.type }}
datasetName: {{ .Values.homarrStorage.icons.datasetName | default "" }}
hostPath: {{ .Values.homarrStorage.icons.hostPath | default "" }}
targetSelector:
homarr:
homarr:
mountPath: /app/data/icons
01-permissions:
mountPath: /mnt/directories/icons
tmp:
enabled: true
type: emptyDir
targetSelector:
homarr:
homarr:
mountPath: /tmp
{{- range $idx, $storage := .Values.homarrStorage.additionalStorages }}
{{ printf "homarr-%v" (int $idx) }}:
{{- $size := "" -}}
{{- if $storage.size -}}
{{- $size = (printf "%vGi" $storage.size) -}}
{{- end }}
enabled: true
type: {{ $storage.type }}
datasetName: {{ $storage.datasetName | default "" }}
hostPath: {{ $storage.hostPath | default "" }}
server: {{ $storage.server | default "" }}
share: {{ $storage.share | default "" }}
domain: {{ $storage.domain | default "" }}
username: {{ $storage.username | default "" }}
password: {{ $storage.password | default "" }}
size: {{ $size }}
{{- if eq $storage.type "smb-pv-pvc" }}
mountOptions:
- key: noperm
{{- end }}
targetSelector:
homarr:
homarr:
mountPath: {{ $storage.mountPath }}
01-permissions:
mountPath: /mnt/directories{{ $storage.mountPath }}
{{- end }}
{{- end -}}

View File

@@ -3,9 +3,9 @@ description: Homarr is a sleek, modern dashboard that puts all of your apps and
annotations:
title: Homarr
type: application
version: 1.1.3
version: 2.0.0
apiVersion: v2
appVersion: 0.13.4
appVersion: 0.14.2
kubeVersion: '>=1.16.0-0'
maintainers:
- name: truenas

View File

@@ -0,0 +1,9 @@
# Homarr
[Homarr](https://github.com/ajnart/homarr) is a sleek, modern dashboard that puts all of your apps and services at your fingertips.
## Upgrade to 2.0.0
Direct upgrade to 2.x.x is not possible, due to major upstream changes.
The changes require new storage configuration that cannot be assumed, nor configured
during the upgrade. Please re-install in order to configure this new storage.

View File

@@ -0,0 +1,9 @@
# Homarr
[Homarr](https://github.com/ajnart/homarr) is a sleek, modern dashboard that puts all of your apps and services at your fingertips.
## Upgrade to 2.0.0
Direct upgrade to 2.x.x is not possible, due to major upstream changes.
The changes require new storage configuration that cannot be assumed, nor configured
during the upgrade. Please re-install in order to configure this new storage.

View File

@@ -0,0 +1,14 @@
homarrNetwork:
webPort: 31000
homarrRunAs:
user: 1000
group: 1000
homarrStorage:
configs:
type: pvc
data:
type: pvc
icons:
type: pvc

View File

@@ -0,0 +1,21 @@
homarrConfig:
password: secret
additionalEnvs:
- name: DISABLE_EDIT_MODE
value: true
homarrNetwork:
webPort: 31000
homarrStorage:
configs:
type: pvc
data:
type: pvc
icons:
type: pvc
additionalStorages:
- type: pvc
mountPath: /data1
- type: pvc
mountPath: /data2

View File

@@ -0,0 +1,11 @@
homarrNetwork:
webPort: 30000
hostNetwork: true
homarrStorage:
configs:
type: pvc
data:
type: pvc
icons:
type: pvc

View File

@@ -1,7 +1,7 @@
image:
repository: ghcr.io/ajnart/homarr
pullPolicy: IfNotPresent
tag: 0.13.4
tag: 0.14.2
resources:
limits:
@@ -23,8 +23,14 @@ homarrRunAs:
homarrStorage:
configs:
type: ixVolume
datasetName: configs
ixVolumeConfig:
datasetName: configs
data:
type: ixVolume
ixVolumeConfig:
datasetName: data
icons:
type: ixVolume
datasetName: icons
ixVolumeConfig:
datasetName: icons
additionalStorages: []

View File

@@ -0,0 +1,539 @@
groups:
- name: Homarr Configuration
description: Configure Homarr
- name: User and Group Configuration
description: Configure User and Group for Homarr
- name: Network Configuration
description: Configure Network for Homarr
- name: Storage Configuration
description: Configure Storage for Homarr
- name: Resources Configuration
description: Configure Resources for Homarr
portals:
web_portal:
protocols:
- "$kubernetes-resource_configmap_portal_protocol"
host:
- "$kubernetes-resource_configmap_portal_host"
ports:
- "$kubernetes-resource_configmap_portal_port"
path: "$kubernetes-resource_configmap_portal_path"
questions:
- variable: TZ
group: Homarr Configuration
label: Timezone
schema:
type: string
default: Etc/UTC
required: true
$ref:
- definitions/timezone
- variable: homarrConfig
label: ""
group: Homarr Configuration
schema:
type: dict
attrs:
- variable: additionalEnvs
label: Additional Environment Variables
description: Configure additional environment variables for Homarr.
schema:
type: list
default: []
items:
- variable: env
label: Environment Variable
schema:
type: dict
attrs:
- variable: name
label: Name
schema:
type: string
required: true
- variable: value
label: Value
schema:
type: string
required: true
- variable: homarrRunAs
label: ""
group: User and Group Configuration
schema:
type: dict
attrs:
- variable: user
label: User ID
description: The user id that Homarr will run as.
schema:
type: int
min: 2
default: 568
required: true
- variable: group
label: Group ID
description: The group id that Homarr will run as.
schema:
type: int
min: 2
default: 568
required: true
- variable: homarrNetwork
label: ""
group: Network Configuration
schema:
type: dict
attrs:
- variable: webPort
label: Web Port
description: The port for the Homarr Web UI.
schema:
type: int
default: 30052
min: 9000
max: 65535
required: true
- variable: hostNetwork
label: Host Network
description: |
Bind to the host network. It's recommended to keep this disabled.</br>
schema:
type: boolean
default: false
- variable: homarrStorage
label: ""
group: Storage Configuration
schema:
type: dict
attrs:
- variable: configs
label: Homarr Config Storage
description: The path to store Homarr Configuration.
schema:
type: dict
attrs:
- variable: type
label: Type
description: |
ixVolume: Is dataset created automatically by the system.</br>
Host Path: Is a path that already exists on the system.
schema:
type: string
required: true
immutable: true
default: "ixVolume"
enum:
- value: "hostPath"
description: Host Path (Path that already exists on the system)
- value: "ixVolume"
description: ixVolume (Dataset created automatically by the system)
- variable: ixVolumeConfig
label: ixVolume Configuration
description: The configuration for the ixVolume dataset.
schema:
type: dict
show_if: [["type", "=", "ixVolume"]]
$ref:
- "normalize/ixVolume"
attrs:
- variable: aclEnable
label: Enable ACL
description: Enable ACL for the dataset.
schema:
type: boolean
default: false
- variable: datasetName
label: Dataset Name
description: The name of the dataset to use for storage.
schema:
type: string
required: true
immutable: true
hidden: true
default: "configs"
- variable: aclEntries
label: ACL Configuration
schema:
type: dict
show_if: [["aclEnable", "=", true]]
attrs: []
- variable: hostPathConfig
label: Host Path Configuration
schema:
type: dict
show_if: [["type", "=", "hostPath"]]
attrs:
- variable: aclEnable
label: Enable ACL
description: Enable ACL for the dataset.
schema:
type: boolean
default: false
- variable: acl
label: ACL Configuration
schema:
type: dict
show_if: [["aclEnable", "=", true]]
attrs: []
$ref:
- "normalize/acl"
- variable: hostPath
label: Host Path
description: The host path to use for storage.
schema:
type: hostpath
show_if: [["aclEnable", "=", false]]
immutable: true
required: true
- variable: data
label: Homarr Data Storage
description: The path to store Homarr Data.
schema:
type: dict
attrs:
- variable: type
label: Type
description: |
ixVolume: Is dataset created automatically by the system.</br>
Host Path: Is a path that already exists on the system.
schema:
type: string
required: true
immutable: true
default: "ixVolume"
enum:
- value: "hostPath"
description: Host Path (Path that already exists on the system)
- value: "ixVolume"
description: ixVolume (Dataset created automatically by the system)
- variable: ixVolumeConfig
label: ixVolume Configuration
description: The configuration for the ixVolume dataset.
schema:
type: dict
show_if: [["type", "=", "ixVolume"]]
$ref:
- "normalize/ixVolume"
attrs:
- variable: aclEnable
label: Enable ACL
description: Enable ACL for the dataset.
schema:
type: boolean
default: false
- variable: datasetName
label: Dataset Name
description: The name of the dataset to use for storage.
schema:
type: string
required: true
immutable: true
hidden: true
default: "data"
- variable: aclEntries
label: ACL Configuration
schema:
type: dict
show_if: [["aclEnable", "=", true]]
attrs: []
- variable: hostPathConfig
label: Host Path Configuration
schema:
type: dict
show_if: [["type", "=", "hostPath"]]
attrs:
- variable: aclEnable
label: Enable ACL
description: Enable ACL for the dataset.
schema:
type: boolean
default: false
- variable: acl
label: ACL Configuration
schema:
type: dict
show_if: [["aclEnable", "=", true]]
attrs: []
$ref:
- "normalize/acl"
- variable: hostPath
label: Host Path
description: The host path to use for storage.
schema:
type: hostpath
show_if: [["aclEnable", "=", false]]
immutable: true
required: true
- variable: icons
label: Homarr Icon Storage
description: The path to store Homarr Icons.
schema:
type: dict
attrs:
- variable: type
label: Type
description: |
ixVolume: Is dataset created automatically by the system.</br>
Host Path: Is a path that already exists on the system.
schema:
type: string
required: true
immutable: true
default: "ixVolume"
enum:
- value: "hostPath"
description: Host Path (Path that already exists on the system)
- value: "ixVolume"
description: ixVolume (Dataset created automatically by the system)
- variable: ixVolumeConfig
label: ixVolume Configuration
description: The configuration for the ixVolume dataset.
schema:
type: dict
show_if: [["type", "=", "ixVolume"]]
$ref:
- "normalize/ixVolume"
attrs:
- variable: aclEnable
label: Enable ACL
description: Enable ACL for the dataset.
schema:
type: boolean
default: false
- variable: datasetName
label: Dataset Name
description: The name of the dataset to use for storage.
schema:
type: string
required: true
immutable: true
hidden: true
default: "icons"
- variable: aclEntries
label: ACL Configuration
schema:
type: dict
show_if: [["aclEnable", "=", true]]
attrs: []
- variable: hostPathConfig
label: Host Path Configuration
schema:
type: dict
show_if: [["type", "=", "hostPath"]]
attrs:
- variable: aclEnable
label: Enable ACL
description: Enable ACL for the dataset.
schema:
type: boolean
default: false
- variable: acl
label: ACL Configuration
schema:
type: dict
show_if: [["aclEnable", "=", true]]
attrs: []
$ref:
- "normalize/acl"
- variable: hostPath
label: Host Path
description: The host path to use for storage.
schema:
type: hostpath
show_if: [["aclEnable", "=", false]]
immutable: true
required: true
- variable: additionalStorages
label: Additional Storage
description: Additional storage for Homarr.
schema:
type: list
default: []
items:
- variable: storageEntry
label: Storage Entry
schema:
type: dict
attrs:
- variable: type
label: Type
description: |
ixVolume: Is dataset created automatically by the system.</br>
Host Path: Is a path that already exists on the system.</br>
SMB Share: Is a SMB share that is mounted to a persistent volume claim.
schema:
type: string
required: true
default: "ixVolume"
immutable: true
enum:
- value: "hostPath"
description: Host Path (Path that already exists on the system)
- value: "ixVolume"
description: ixVolume (Dataset created automatically by the system)
- value: "smb-pv-pvc"
description: SMB Share (Mounts a persistent volume claim to a SMB share)
- variable: readOnly
label: Read Only
description: Mount the volume as read only.
schema:
type: boolean
default: false
- variable: mountPath
label: Mount Path
description: The path inside the container to mount the storage.
schema:
type: path
required: true
- variable: hostPathConfig
label: Host Path Configuration
schema:
type: dict
show_if: [["type", "=", "hostPath"]]
attrs:
- variable: aclEnable
label: Enable ACL
description: Enable ACL for the dataset.
schema:
type: boolean
default: false
- variable: acl
label: ACL Configuration
schema:
type: dict
show_if: [["aclEnable", "=", true]]
attrs: []
$ref:
- "normalize/acl"
- variable: hostPath
label: Host Path
description: The host path to use for storage.
schema:
type: hostpath
show_if: [["aclEnable", "=", false]]
immutable: true
required: true
- variable: ixVolumeConfig
label: ixVolume Configuration
description: The configuration for the ixVolume dataset.
schema:
type: dict
show_if: [["type", "=", "ixVolume"]]
$ref:
- "normalize/ixVolume"
attrs:
- variable: aclEnable
label: Enable ACL
description: Enable ACL for the dataset.
schema:
type: boolean
default: false
- variable: datasetName
label: Dataset Name
description: The name of the dataset to use for storage.
schema:
type: string
required: true
immutable: true
default: "storage_entry"
- variable: aclEntries
label: ACL Configuration
schema:
type: dict
show_if: [["aclEnable", "=", true]]
attrs: []
- variable: smbConfig
label: SMB Share Configuration
description: The configuration for the SMB Share.
schema:
type: dict
show_if: [["type", "=", "smb-pv-pvc"]]
attrs:
- variable: server
label: Server
description: The server for the SMB share.
schema:
type: string
required: true
- variable: share
label: Share
description: The share name for the SMB share.
schema:
type: string
required: true
- variable: domain
label: Domain (Optional)
description: The domain for the SMB share.
schema:
type: string
- variable: username
label: Username
description: The username for the SMB share.
schema:
type: string
required: true
- variable: password
label: Password
description: The password for the SMB share.
schema:
type: string
required: true
private: true
- variable: size
label: Size (in Gi)
description: The size of the volume quota.
schema:
type: int
required: true
min: 1
default: 1
- variable: resources
group: Resources Configuration
label: ""
schema:
type: dict
attrs:
- variable: limits
label: Limits
schema:
type: dict
attrs:
- variable: cpu
label: CPU
description: CPU limit for Homarr.
schema:
type: string
max_length: 6
valid_chars: '^(0\.[1-9]|[1-9][0-9]*)(\.[0-9]|m?)$'
valid_chars_error: |
Valid CPU limit formats are</br>
- Plain Integer - eg. 1</br>
- Float - eg. 0.5</br>
- Milicpu - eg. 500m
default: "4000m"
required: true
- variable: memory
label: Memory
description: Memory limit for Homarr.
schema:
type: string
max_length: 12
valid_chars: '^[1-9][0-9]*([EPTGMK]i?|e[0-9]+)?$'
valid_chars_error: |
Valid Memory limit formats are</br>
- Suffixed with E/P/T/G/M/K - eg. 1G</br>
- Suffixed with Ei/Pi/Ti/Gi/Mi/Ki - eg. 1Gi</br>
- Plain Integer in bytes - eg. 1024</br>
- Exponent - eg. 134e6
default: "8Gi"
required: true

View File

@@ -0,0 +1,14 @@
{{- define "homarr.configuration" -}}
{{- $fullname := (include "ix.v1.common.lib.chart.names.fullname" $) -}}
{{- $secretKey := randAlphaNum 32 -}}
{{- with (lookup "v1" "Secret" .Release.Namespace (printf "%s-homarr-creds" $fullname)) -}}
{{- $secretKey = ((index .data "NEXTAUTH_SECRET") | b64dec) -}}
{{- end }}
secret:
homarr-creds:
enabled: true
data:
NEXTAUTH_SECRET: {{ $secretKey }}
{{- end -}}

View File

@@ -16,9 +16,9 @@ workload:
runAsGroup: {{ .Values.homarrRunAs.group }}
env:
PORT: {{ .Values.homarrNetwork.webPort }}
{{ with .Values.homarrConfig.password }}
PASSWORD: {{ . }}
{{ end }}
envFrom:
- secretRef:
name: homarr-creds
{{ with .Values.homarrConfig.additionalEnvs }}
envList:
{{ range $env := . }}
@@ -30,22 +30,16 @@ workload:
liveness:
enabled: true
type: http
port: "{{ .Values.homarrNetwork.webPort }}"
path: /api/configs
port: {{ .Values.homarrNetwork.webPort }}
path: /
readiness:
enabled: true
type: http
port: "{{ .Values.homarrNetwork.webPort }}"
path: /api/configs
port: {{ .Values.homarrNetwork.webPort }}
path: /
startup:
enabled: true
type: http
port: "{{ .Values.homarrNetwork.webPort }}"
path: /api/configs
initContainers:
{{- include "ix.v1.common.app.permissions" (dict "containerName" "01-permissions"
"UID" .Values.homarrRunAs.user
"GID" .Values.homarrRunAs.group
"mode" "check"
"type" "init") | nindent 8 }}
port: {{ .Values.homarrNetwork.webPort }}
path: /
{{- end -}}

View File

@@ -0,0 +1,40 @@
{{- define "homarr.persistence" -}}
persistence:
configs:
enabled: true
{{- include "ix.v1.common.app.storageOptions" (dict "storage" .Values.homarrStorage.configs) | nindent 4 }}
targetSelector:
homarr:
homarr:
mountPath: /app/data/configs
data:
enabled: true
{{- include "ix.v1.common.app.storageOptions" (dict "storage" .Values.homarrStorage.data) | nindent 4 }}
targetSelector:
homarr:
homarr:
mountPath: /data
icons:
enabled: true
{{- include "ix.v1.common.app.storageOptions" (dict "storage" .Values.homarrStorage.icons) | nindent 4 }}
targetSelector:
homarr:
homarr:
mountPath: /app/data/icons
tmp:
enabled: true
type: emptyDir
targetSelector:
homarr:
homarr:
mountPath: /tmp
{{- range $idx, $storage := .Values.homarrStorage.additionalStorages }}
{{ printf "homarr-%v" (int $idx) }}:
enabled: true
{{- include "ix.v1.common.app.storageOptions" (dict "storage" $storage) | nindent 4 }}
targetSelector:
homarr:
homarr:
mountPath: {{ $storage.mountPath }}
{{- end }}
{{- end -}}

View File

@@ -1,6 +1,7 @@
{{- include "ix.v1.common.loader.init" . -}}
{{/* Merge the templates with Values */}}
{{- $_ := mustMergeOverwrite .Values (include "homarr.configuration" $ | fromYaml) -}}
{{- $_ := mustMergeOverwrite .Values (include "homarr.workload" $ | fromYaml) -}}
{{- $_ := mustMergeOverwrite .Values (include "homarr.persistence" $ | fromYaml) -}}
{{- $_ := mustMergeOverwrite .Values (include "homarr.service" $ | fromYaml) -}}