diff --git a/charts/stable/mealie/Chart.yaml b/charts/stable/mealie/Chart.yaml index 5d6e33a6ec9..56c1d8be8c4 100644 --- a/charts/stable/mealie/Chart.yaml +++ b/charts/stable/mealie/Chart.yaml @@ -22,7 +22,7 @@ name: mealie sources: - https://github.com/truecharts/charts/tree/master/charts/stable/mealie - https://github.com/hay-kot/mealie -version: 9.0.3 +version: 10.0.0 annotations: truecharts.org/catagories: | - utilities diff --git a/charts/stable/mealie/questions.yaml b/charts/stable/mealie/questions.yaml index 15e33ced8a6..f80021ea37d 100644 --- a/charts/stable/mealie/questions.yaml +++ b/charts/stable/mealie/questions.yaml @@ -12,12 +12,297 @@ questions: # Include{recreate} # Include{controllerExpert} # Include{controllerExpertExtraArgs} - # Docker specific env + - variable: mealie_frontend + group: Container Configuration + label: Mealie Frontend Configuration + schema: + additional_attrs: true + type: dict + attrs: + - variable: theme + label: Theme + schema: + additional_attrs: true + type: dict + attrs: + - variable: light_primary + label: Light Primary + description: Light Theme Config Variable + schema: + type: string + default: "#E58325" + - variable: light_accent + label: Light Accent + description: Light Theme Config Variable + schema: + type: string + default: "#007A99" + - variable: light_secondary + label: Light Secondary + description: Light Theme Config Variable + schema: + type: string + default: "#973542" + - variable: light_success + label: Light Success + description: Light Theme Config Variable + schema: + type: string + default: "#43A047" + - variable: light_info + label: Light Info + description: Light Theme Config Variable + schema: + type: string + default: "#1976D2" + - variable: light_warning + label: Light Warning + description: Light Theme Config Variable + schema: + type: string + default: "#FF6D00" + - variable: light_error + label: Light Error + description: Light Theme Config Variable + schema: + type: string + default: "#EF5350" + - variable: dark_primary + label: Dark Primary + description: Dark Theme Config Variable + schema: + type: string + default: "#E58325" + - variable: dark_accent + label: Dark Accent + description: Dark Theme Config Variable + schema: + type: string + default: "#007A99" + - variable: dark_secondary + label: Dark Secondary + description: Dark Theme Config Variable + schema: + type: string + default: "#973542" + - variable: dark_success + label: Dark Success + description: Dark Theme Config Variable + schema: + type: string + default: "#43A047" + - variable: dark_info + label: Dark Info + description: Dark Theme Config Variable + schema: + type: string + default: "#1976D2" + - variable: dark_warning + label: Dark Warning + description: Dark Theme Config Variable + schema: + type: string + default: "#FF6D00" + - variable: dark_error + label: Dark Error + description: Dark Theme Config Variable + schema: + type: string + default: "#EF5350" + - variable: mealie_frontend + group: Container Configuration + label: Mealie Frontend Configuration + schema: + additional_attrs: true + type: dict + attrs: + - variable: general + label: General + schema: + additional_attrs: true + type: dict + attrs: + - variable: allow_signup + label: Allow Sign up + description: Allow user sign-up without token + schema: + type: boolean + default: true + - variable: default_group + label: Default Group + description: The default group for users + schema: + type: string + default: Home + - variable: default_email + label: Default Email + description: The default username for the superuser + schema: + type: string + default: changeme@email.com + - variable: base_url + label: Base URL + description: Used for Notifications + schema: + type: string + default: "" + - variable: token_time + label: Token Time + description: The time in hours that a login/auth token is valid + schema: + type: int + default: 48 + - variable: security + label: Security + schema: + additional_attrs: true + type: dict + attrs: + - variable: max_login_attempts + label: Max Login Attempts + description: Maximum times a user can provide an invalid password before their account is locked + schema: + type: int + default: 5 + - variable: user_lockout_time + label: User Lockout Time + description: Time in hours for how long a users account is locked + schema: + type: int + default: 24 + - variable: webworkers + label: Web Workers + schema: + additional_attrs: true + type: dict + attrs: + - variable: workers_per_core + label: Workers Per Core + description: Set the number of workers to the number of CPU cores multiplied by this value. + schema: + type: int + default: 1 + - variable: max_workers + label: Max Workers + description: Set the maximum number of workers to use. Default is not set meaning unlimited. + schema: + type: int + default: 1 + - variable: web_concurrency + label: Web Concurrency + description: Override the automatic definition of number of workers. + schema: + type: int + default: 1 + - variable: smtp + label: SMTP + schema: + additional_attrs: true + type: dict + attrs: + - variable: user + label: User + description: Mail User + schema: + type: string + default: "" + - variable: password + label: Password + description: Mail Password + schema: + type: string + private: true + default: "" + - variable: host + label: Host + description: Mail Host + schema: + type: string + default: "" + - variable: port + label: Port + description: Mail Port + schema: + type: int + default: 587 + - variable: from_name + label: From Name + description: Mail From Name + schema: + type: string + default: Mealie + - variable: from_email + label: From Email + description: Mail From Email + schema: + type: string + default: "" + - variable: auth_strategy + label: Auth Strategy + description: Mail Auth Strategy + schema: + type: string + default: "TLS" + enum: + - value: TLS + description: TLS + - value: SSL + description: SSL + - value: NONE + description: NONE + - variable: ldap + label: LDAP + schema: + additional_attrs: true + type: dict + attrs: + - variable: auth_enabled + label: Auth Enabled + description: Authenticate via an external LDAP server in addition to built-in Mealie auth + schema: + type: boolean + default: false + - variable: server_url + label: Server URL + description: LDAP server URL + schema: + type: string + default: "" + - variable: tls_insecure + label: TLS Insecure + description: Do not verify server certificate when using secure LDAP + schema: + type: boolean + default: false + - variable: tls_cacertfile + label: TLS CA Cert File + description: File path to Certificate Authority used to verify server certificate + schema: + type: string + default: "" + - variable: bind_template + label: Bind Template + description: Templated DN for users, {} will be replaced with the username. + schema: + type: string + default: "" + - variable: base_dn + label: Base DN + description: Starting point when searching for users authentication. + schema: + type: string + default: "" + - variable: admin_filter + label: Admin Filter + description: Optional LDAP filter, which tells Mealie the LDAP user .is an admin + schema: + type: string + default: "" # Include{containerConfig} # Include{serviceRoot} - variable: main - label: "Main Service" - description: "The Primary service on which the healthcheck runs, often the webUI" + label: Main Service + description: The Primary service on which the healthcheck runs, often the webUI schema: additional_attrs: true type: dict @@ -25,33 +310,62 @@ questions: # Include{serviceSelectorLoadBalancer} # Include{serviceSelectorExtras} - variable: main - label: "Main Service Port Configuration" + label: Main Service Port Configuration schema: additional_attrs: true type: dict attrs: - variable: port - label: "Port" - description: "This port exposes the container port on the service" + label: Port + description: This port exposes the container port on the service schema: type: int default: 10018 required: true # Include{advancedPortHTTP} - variable: targetPort - label: "Target Port" - description: "The internal(!) port on the container the Application runs on" + label: Target Port + description: The internal(!) port on the container the Application runs on schema: type: int - default: 80 + default: 3000 + - variable: api + label: API Service + description: The API Service + schema: + additional_attrs: true + type: dict + attrs: +# Include{serviceSelectorClusterIP} +# Include{serviceSelectorExtras} + - variable: api + label: API Service Port Configuration + schema: + additional_attrs: true + type: dict + attrs: + - variable: port + label: Port + description: This port exposes the container port on the service + schema: + type: int + default: 10019 + required: true +# Include{advancedPortHTTP} + - variable: targetPort + label: Target Port + description: The internal(!) port on the container the Application runs on + schema: + type: int + default: 9000 # Include{serviceExpertRoot} default: false # Include{serviceExpert} # Include{serviceList} # Include{persistenceRoot} - - variable: config - label: "App Config Storage" - description: "Stores the Application Configuration." + - variable: data + label: App Data Storage + description: Stores the Application Data. schema: additional_attrs: true type: dict @@ -61,7 +375,7 @@ questions: # Include{persistenceList} # Include{ingressRoot} - variable: main - label: "Main Ingress" + label: Main Ingress schema: additional_attrs: true type: dict @@ -74,42 +388,42 @@ questions: # Include{security} # Include{securityContextAdvancedRoot} - variable: privileged - label: "Privileged mode" + label: Privileged mode schema: type: boolean default: false - variable: readOnlyRootFilesystem - label: "ReadOnly Root Filesystem" + label: ReadOnly Root Filesystem schema: type: boolean default: false - variable: allowPrivilegeEscalation - label: "Allow Privilege Escalation" + label: Allow Privilege Escalation schema: type: boolean default: false - variable: runAsNonRoot - label: "runAsNonRoot" + label: runAsNonRoot schema: type: boolean default: false # Include{securityContextAdvanced} # Include{podSecurityContextRoot} - variable: runAsUser - label: "runAsUser" - description: "The UserID of the user running the application" + label: runAsUser + description: The UserID of the user running the application schema: type: int default: 0 - variable: runAsGroup - label: "runAsGroup" - description: "The groupID this App of the user running the application" + label: runAsGroup + description: The groupID this App of the user running the application schema: type: int default: 0 - variable: fsGroup - label: "fsGroup" - description: "The group that should own ALL storage." + label: fsGroup + description: The group that should own ALL storage. schema: type: int default: 568 diff --git a/charts/stable/mealie/templates/_api.tpl b/charts/stable/mealie/templates/_api.tpl new file mode 100644 index 00000000000..e4b30bd66b5 --- /dev/null +++ b/charts/stable/mealie/templates/_api.tpl @@ -0,0 +1,44 @@ +{{- define "mealie.api" -}} +image: {{ .Values.apiImage.repository }}:{{ .Values.apiImage.tag }} +imagePullPolicy: {{ .Values.apiImage.pullPolicy }} +securityContext: + runAsUser: {{ .Values.podSecurityContext.runAsUser }} + runAsGroup: {{ .Values.podSecurityContext.runAsGroup }} + readOnlyRootFilesystem: {{ .Values.securityContext.readOnlyRootFilesystem }} + runAsNonRoot: {{ .Values.securityContext.runAsNonRoot }} +envFrom: + - secretRef: + name: '{{ include "tc.common.names.fullname" . }}-api-secret' + - configMapRef: + name: '{{ include "tc.common.names.fullname" . }}-api-config' +volumeMounts: + - name: data + mountPath: "/app/data" +readinessProbe: + httpGet: + path: /docs + port: {{ .Values.service.api.ports.api.targetPort }} + {{/* port: {{ .Values.service.api.ports.api.targetPort }} */}} + initialDelaySeconds: {{ .Values.probes.readiness.spec.initialDelaySeconds }} + timeoutSeconds: {{ .Values.probes.readiness.spec.timeoutSeconds }} + periodSeconds: {{ .Values.probes.readiness.spec.periodSeconds }} + failureThreshold: {{ .Values.probes.readiness.spec.failureThreshold }} +livenessProbe: + httpGet: + path: /docs + port: {{ .Values.service.api.ports.api.targetPort }} + {{/* port: {{ .Values.service.api.ports.api.targetPort }} */}} + initialDelaySeconds: {{ .Values.probes.readiness.spec.initialDelaySeconds }} + timeoutSeconds: {{ .Values.probes.readiness.spec.timeoutSeconds }} + periodSeconds: {{ .Values.probes.readiness.spec.periodSeconds }} + failureThreshold: {{ .Values.probes.readiness.spec.failureThreshold }} +startupProbe: + httpGet: + path: /docs + port: {{ .Values.service.api.ports.api.targetPort }} + {{/* port: {{ .Values.service.api.ports.api.targetPort }} */}} + initialDelaySeconds: {{ .Values.probes.readiness.spec.initialDelaySeconds }} + timeoutSeconds: {{ .Values.probes.readiness.spec.timeoutSeconds }} + periodSeconds: {{ .Values.probes.readiness.spec.periodSeconds }} + failureThreshold: {{ .Values.probes.readiness.spec.failureThreshold }} +{{- end -}} diff --git a/charts/stable/mealie/templates/_configmap.tpl b/charts/stable/mealie/templates/_configmap.tpl new file mode 100644 index 00000000000..6fe7db65a57 --- /dev/null +++ b/charts/stable/mealie/templates/_configmap.tpl @@ -0,0 +1,135 @@ +{{/* Define the configmap */}} +{{- define "mealie.config" -}} + +{{- $frontendConfigName := printf "%s-frontend-config" (include "tc.common.names.fullname" .) }} +{{- $apiConfigName := printf "%s-api-config" (include "tc.common.names.fullname" .) }} + +--- + +apiVersion: v1 +kind: ConfigMap +metadata: + name: {{ $frontendConfigName }} + labels: + {{- include "tc.common.labels" . | nindent 4 }} +data: + API_URL: http://localhost:{{ .Values.service.api.ports.api.targetPort }} + {{/* https://github.com/hay-kot/mealie/issues/1666 */}} + {{/* API_URL: http://localhost:{{ .Values.service.api.ports.api.port }} */}} + THEME_LIGHT_PRIMARY: {{ .Values.mealie_frontend.theme.light_primary | default "#E58325" | quote }} + THEME_LIGHT_ACCENT: {{ .Values.mealie_frontend.theme.light_accent | default "#007A99" | quote }} + THEME_LIGHT_SECONDARY: {{ .Values.mealie_frontend.theme.light_secondary | default "#973542" | quote }} + THEME_LIGHT_SUCCESS: {{ .Values.mealie_frontend.theme.light_success | default "#43A047" | quote }} + THEME_LIGHT_INFO: {{ .Values.mealie_frontend.theme.light_info | default "#1976D2" | quote }} + THEME_LIGHT_WARNING: {{ .Values.mealie_frontend.theme.light_warning | default "#FF6D00" | quote }} + THEME_LIGHT_ERROR: {{ .Values.mealie_frontend.theme.light_error | default "#EF5350" | quote }} + THEME_DARK_PRIMARY: {{ .Values.mealie_frontend.theme.dark_primary | default "#E58325" | quote }} + THEME_DARK_ACCENT: {{ .Values.mealie_frontend.theme.dark_accent | default "#007A99" | quote }} + THEME_DARK_SECONDARY: {{ .Values.mealie_frontend.theme.dark_secondary | default "#973542" | quote }} + THEME_DARK_SUCCESS: {{ .Values.mealie_frontend.theme.dark_success | default "#43A047" | quote }} + THEME_DARK_INFO: {{ .Values.mealie_frontend.theme.dark_info | default "#1976D2" | quote }} + THEME_DARK_WARNING: {{ .Values.mealie_frontend.theme.dark_warning | default "#FF6D00" | quote }} + THEME_DARK_ERROR: {{ .Values.mealie_frontend.theme.dark_error | default "#EF5350" | quote }} + +--- + +apiVersion: v1 +kind: ConfigMap +metadata: + name: {{ $apiConfigName }} + labels: + {{- include "tc.common.labels" . | nindent 4 }} +data: + PUID: {{ .Values.security.PUID | quote }} + PGID: {{ .Values.podSecurityContext.fsGroup | quote }} + TZ: {{ .Values.TZ }} + DB_ENGINE: "postgres" + POSTGRES_PORT: "5432" + POSTGRES_USER: {{ .Values.postgresql.postgresqlUsername }} + POSTGRES_DB: {{ .Values.postgresql.postgresqlDatabase }} + POSTGRES_SERVER: {{ printf "%v-%v" .Release.Name "postgresql" }} + API_PORT: {{ .Values.service.api.ports.api.targetPort | quote }} + {{/* https://github.com/hay-kot/mealie/issues/1666 */}} + {{/* API_PORT: {{ .Values.service.api.ports.api.port | quote }} */}} + {{/* User Defined */}} + {{/* General */}} + ALLOW_SIGNUP: {{ .Values.mealie_backend.general.allow_signup | quote }} + API_DOCS: "true" + {{- with .Values.mealie_backend.general.default_group }} + DEFAULT_GROUP: {{ . }} + {{- end }} + {{- with .Values.mealie_backend.general.default_email }} + DEFAULT_EMAIL: {{ . }} + {{- end }} + {{- with .Values.mealie_backend.general.base_url }} + BASE_URL: {{ . }} + {{- end }} + {{- if hasKey .Values.mealie_backend.general "token_time" }} + {{- if or .Values.mealie_backend.general.token_time (eq 0 (int .Values.mealie_backend.general.token_time)) }} + TOKEN_TIME: {{ .Values.mealie_backend.general.token_time | quote }} + {{- end }} + {{- end }} + {{/* Security */}} + {{- if hasKey .Values.mealie_backend.security "max_login_attempts" }} + {{- if or .Values.mealie_backend.security.max_login_attempts (eq 0 (int .Values.mealie_backend.security.max_login_attempts)) }} + SECURITY_MAX_LOGIN_ATTEMPTS: {{ .Values.mealie_backend.security.max_login_attempts | quote }} + {{- end }} + {{- end }} + {{- if hasKey .Values.mealie_backend.security "user_lockout_time" }} + {{- if or .Values.mealie_backend.security.user_lockout_time (eq 0 (int .Values.mealie_backend.security.user_lockout_time)) }} + SECURITY_USER_LOCKOUT_TIME: {{ .Values.mealie_backend.security.user_lockout_time | quote }} + {{- end }} + {{- end }} + {{/* Security */}} + {{- if hasKey .Values.mealie_backend.webworkers "workers_per_core" }} + {{- if or .Values.mealie_backend.webworkers.workers_per_core (eq 0 (int .Values.mealie_backend.webworkers.workers_per_core)) }} + WORKERS_PER_CORE: {{ .Values.mealie_backend.webworkers.workers_per_core | quote }} + {{- end }} + {{- end }} + {{- if hasKey .Values.mealie_backend.webworkers "max_workers" }} + {{- if or .Values.mealie_backend.webworkers.max_workers (eq 0 (int .Values.mealie_backend.webworkers.max_workers)) }} + MAX_WORKERS: {{ .Values.mealie_backend.webworkers.max_workers | quote }} + {{- end }} + {{- end }} + {{- if hasKey .Values.mealie_backend.webworkers "web_concurrency" }} + {{- if or .Values.mealie_backend.webworkers.web_concurrency (eq 0 (int .Values.mealie_backend.webworkers.web_concurrency)) }} + WEB_CONCURRENCY: {{ .Values.mealie_backend.webworkers.web_concurrency | quote }} + {{- end }} + {{- end }} + {{/* SMTP */}} + {{- if hasKey .Values.mealie_backend.smtp "port" }} + {{- if or .Values.mealie_backend.smtp.port (eq 0 (int .Values.mealie_backend.smtp.port)) }} + SMTP_PORT: {{ .Values.mealie_backend.smtp.port | quote }} + {{- end }} + {{- end }} + {{- with .Values.mealie_backend.smtp.host }} + SMTP_HOST: {{ . }} + {{- end }} + {{- with .Values.mealie_backend.smtp.from_name }} + SMTP_FROM_NAME: {{ . }} + {{- end }} + {{- with .Values.mealie_backend.smtp.auth_strategy }} + SMTP_AUTH_STRATEGY: {{ . }} + {{- end }} + {{- with .Values.mealie_backend.smtp.from_email }} + SMTP_FROM_EMAIL: {{ . }} + {{- end }} + {{/* SMTP */}} + LDAP_AUTH_ENABLED: {{ .Values.mealie_backend.ldap.auth_enabled | quote }} + LDAP_TLS_INSECURE: {{ .Values.mealie_backend.ldap.tls_insecure | quote }} + {{- with .Values.mealie_backend.ldap.server_url }} + LDAP_SERVER_URL: {{ . }} + {{- end }} + {{- with .Values.mealie_backend.ldap.tls_cacertfile }} + LDAP_TLS_CACERTFILE: {{ . }} + {{- end }} + {{- with .Values.mealie_backend.ldap.bind_template }} + LDAP_BIND_TEMPLATE: {{ . }} + {{- end }} + {{- with .Values.mealie_backend.ldap.base_dn }} + LDAP_BASE_DN: {{ . }} + {{- end }} + {{- with .Values.mealie_backend.ldap.admin_filter }} + LDAP_ADMIN_FILTER: {{ . }} + {{- end }} +{{- end -}} diff --git a/charts/stable/mealie/templates/_secret.tpl b/charts/stable/mealie/templates/_secret.tpl new file mode 100644 index 00000000000..a4b535c9079 --- /dev/null +++ b/charts/stable/mealie/templates/_secret.tpl @@ -0,0 +1,24 @@ +{{/* Define the secret */}} +{{- define "mealie.secret" -}} + +{{- $apiSecretName := printf "%s-api-secret" (include "tc.common.names.fullname" .) }} + +--- + +{{/* This secrets are loaded on both main authentik container and worker */}} +apiVersion: v1 +kind: Secret +type: Opaque +metadata: + name: {{ $apiSecretName }} + labels: + {{- include "tc.common.labels" . | nindent 4 }} +data: + POSTGRES_PASSWORD: {{ .Values.postgresql.postgresqlPassword | trimAll "\"" | b64enc }} + {{- with .Values.mealie_backend.smtp.user | b64enc }} + SMTP_USER: {{ . }} + {{- end }} + {{- with .Values.mealie_backend.smtp.password | b64enc }} + SMTP_PASSWORD: {{ . }} + {{- end }} +{{- end }} diff --git a/charts/stable/mealie/templates/common.yaml b/charts/stable/mealie/templates/common.yaml index c1a366e1cf0..bd88d41c606 100644 --- a/charts/stable/mealie/templates/common.yaml +++ b/charts/stable/mealie/templates/common.yaml @@ -1 +1,13 @@ -{{ include "tc.common.loader.all" . }} +{{/* Make sure all variables are set properly */}} +{{- include "tc.common.loader.init" . }} + +{{/* Render secret */}} +{{- include "mealie.secret" . }} + +{{/* Render config */}} +{{- include "mealie.config" . }} + +{{- $_ := set .Values.additionalContainers "api" (include "mealie.api" . | fromYaml) -}} + +{{/* Render the templates */}} +{{ include "tc.common.loader.apply" . }} diff --git a/charts/stable/mealie/values.yaml b/charts/stable/mealie/values.yaml index 8512a313523..dec210d7666 100644 --- a/charts/stable/mealie/values.yaml +++ b/charts/stable/mealie/values.yaml @@ -1,6 +1,11 @@ image: - repository: tccr.io/truecharts/mealie - tag: v0.5.6@sha256:e54cf37a3da0d6853197c200ddbb858de03e0f12752c1f862856376b0733af0a + repository: tccr.io/truecharts/mealie-frontend + tag: v1.0.0beta@sha256:be031b8c1c6a1698f18e7750a1482ca85f6c311bbb594cf8da46d0e206b0729a + pullPolicy: IfNotPresent + +apiImage: + repository: tccr.io/truecharts/mealie-api + tag: v1.0.0beta@sha256:4dad1521060d896c2e4782f57ca48007e831b2df497746637eb8f2d6a4a23c90 pullPolicy: IfNotPresent securityContext: @@ -11,18 +16,91 @@ podSecurityContext: runAsUser: 0 runAsGroup: 0 -env: - DB_ENGINE: postgres - POSTGRES_DB: "{{ .Values.postgresql.postgresqlDatabase }}" - POSTGRES_USER: "{{ .Values.postgresql.postgresqlUsername }}" - POSTGRES_PASSWORD: - secretKeyRef: - name: dbcreds - key: postgresql-password - POSTGRES_SERVER: - secretKeyRef: - name: dbcreds - key: plainporthost +mealie_frontend: + theme: + light_primary: "#E58325" + light_accent: "#007A99" + light_secondary: "#973542" + light_success: "#43A047" + light_info: "#1976D2" + light_warning: "#FF6D00" + light_error: "#EF5350" + dark_primary: "#E58325" + dark_accent: "#007A99" + dark_secondary: "#973542" + dark_success: "#43A047" + dark_info: "#1976D2" + dark_warning: "#FF6D00" + dark_error: "#EF5350" + +mealie_backend: + general: + allow_signup: true + default_group: Home + default_email: changeme@email.com + base_url: "" + token_time: 48 + security: + max_login_attempts: 5 + user_lockout_time: 24 + webworkers: + workers_per_core: 1 + max_workers: 1 + web_concurrency: 1 + smtp: + user: "" + password: "" + host: "" + port: 587 + from_name: Mealie + from_email: "" + # TLS | SSL | NONE + auth_strategy: TLS + ldap: + auth_enabled: false + server_url: "" + tls_insecure: false + tls_cacertfile: "" + bind_template: "" + base_dn: "" + admin_filter: "" + +envFrom: + - configMapRef: + name: '{{ include "tc.common.names.fullname" . }}-frontend-config' + +probes: + liveness: + type: HTTP + path: "/" + readiness: + type: HTTP + path: "/" + startup: + type: HTTP + path: "/" + +service: + main: + ports: + main: + port: 10018 + protocol: HTTP + targetPort: 3000 + api: + enabled: true + type: ClusterIP + ports: + api: + enabled: true + protocol: HTTP + port: 10019 + targetPort: 9000 + +persistence: + data: + enabled: true + mountPath: "/app/data" postgresql: enabled: true @@ -30,17 +108,5 @@ postgresql: postgresqlUsername: mealie postgresqlDatabase: mealie -service: - main: - ports: - main: - port: 10018 - targetPort: 80 - -persistence: - config: - enabled: true - mountPath: "/app/data" - portal: enabled: true diff --git a/cspell.config.yaml b/cspell.config.yaml index 08b1ad4bcaa..68c0c862e2b 100644 --- a/cspell.config.yaml +++ b/cspell.config.yaml @@ -209,6 +209,7 @@ words: - serverstransports - serviceexpert - sgateway + - signup - smallblock - somefile - somethingelse @@ -259,6 +260,7 @@ words: - webpanel - websecure - websockets + - webworkers - weejewel - wger - whisparr