Daily Prune
Signed-off-by: TrueCharts-Bot <bot@truecharts.org>
This commit is contained in:
parent
305cec448f
commit
f753b44baf
|
@ -1,12 +0,0 @@
|
|||
dependencies:
|
||||
- name: common
|
||||
repository: https://truecharts.org/
|
||||
version: 6.13.7
|
||||
- name: postgresql
|
||||
repository: https://truecharts.org/
|
||||
version: 1.6.1
|
||||
- name: memcached
|
||||
repository: https://charts.bitnami.com/bitnami
|
||||
version: 5.14.2
|
||||
digest: sha256:cacb0024ee596935c01beb9b1c32ae93018ed54fa0c9eacb8d54f8f78fb335f1
|
||||
generated: "2021-09-06T11:01:30.276140137Z"
|
|
@ -1,30 +0,0 @@
|
|||
apiVersion: v2
|
||||
appVersion: auto
|
||||
dependencies:
|
||||
- name: common
|
||||
repository: https://truecharts.org/
|
||||
version: 6.13.7
|
||||
- condition: postgresql.enabled
|
||||
name: postgresql
|
||||
repository: https://truecharts.org/
|
||||
version: 1.6.1
|
||||
- condition: memcached.enabled
|
||||
name: memcached
|
||||
repository: https://charts.bitnami.com/bitnami
|
||||
version: 5.14.2
|
||||
deprecated: false
|
||||
description: Groupware package
|
||||
home: https://github.com/truecharts/apps/tree/master/charts/stable/sogo
|
||||
icon: https://truecharts.org/_static/sogo-icon.png
|
||||
keywords:
|
||||
- groupware
|
||||
kubeVersion: '>=1.16.0-0'
|
||||
maintainers:
|
||||
- email: info@truecharts.org
|
||||
name: TrueCharts
|
||||
url: truecharts.org
|
||||
name: sogo
|
||||
sources:
|
||||
- https://www.sogo.nu/
|
||||
type: application
|
||||
version: 0.0.1
|
|
@ -1 +0,0 @@
|
|||
Groupware package
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -1,42 +0,0 @@
|
|||
##
|
||||
# This file contains Values.yaml content that gets added to the output of questions.yaml
|
||||
# It's ONLY meant for content that the user is NOT expected to change.
|
||||
# Example: Everything under "image" is not included in questions.yaml but is included here.
|
||||
##
|
||||
image:
|
||||
repository: ghcr.io/truecharts/sogo
|
||||
pullPolicy: IfNotPresent
|
||||
tag: "v5.2.0"
|
||||
|
||||
initContainers:
|
||||
- name: init-postgresdb
|
||||
image: postgres:13.1
|
||||
command:
|
||||
- "sh"
|
||||
- "-c"
|
||||
- "until pg_isready -U authelia -h ${pghost} ; do sleep 2 ; done"
|
||||
imagePullPolicy: IfNotPresent
|
||||
env:
|
||||
- name: pghost
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: dbcreds
|
||||
key: plainhost
|
||||
|
||||
|
||||
# Enabled postgres
|
||||
postgresql:
|
||||
enabled: true
|
||||
postgresqlUsername: sogo
|
||||
postgresqlDatabase: sogo
|
||||
existingSecret: dbcreds
|
||||
|
||||
# -- memcached dependency settings
|
||||
memcached:
|
||||
enabled: true
|
||||
|
||||
|
||||
##
|
||||
# Most other defaults are set in questions.yaml
|
||||
# For other options please refer to the wiki, default_values.yaml or the common library chart
|
||||
##
|
File diff suppressed because it is too large
Load Diff
|
@ -1,154 +0,0 @@
|
|||
{{/* Define the configmap */}}
|
||||
{{- define "sogo.config" -}}
|
||||
---
|
||||
|
||||
apiVersion: v1
|
||||
kind: Secret
|
||||
metadata:
|
||||
labels:
|
||||
{{- include "common.labels" . | nindent 4 }}
|
||||
name: dbcreds
|
||||
{{- $dbprevious := lookup "v1" "Secret" .Release.Namespace "dbcreds" }}
|
||||
{{- $dbPass := "" }}
|
||||
data:
|
||||
{{- if $dbprevious }}
|
||||
{{- $dbPass = ( index $dbprevious.data "postgresql-password" ) | b64dec }}
|
||||
postgresql-password: {{ ( index $dbprevious.data "postgresql-password" ) }}
|
||||
postgresql-postgres-password: {{ ( index $dbprevious.data "postgresql-postgres-password" ) }}
|
||||
{{- else }}
|
||||
{{- $dbPass = randAlphaNum 50 }}
|
||||
postgresql-password: {{ $dbPass | b64enc | quote }}
|
||||
postgresql-postgres-password: {{ randAlphaNum 50 | b64enc | quote }}
|
||||
{{- end }}
|
||||
{{- $url := printf "%v%v:%v@%v-%v:%v/%v" "postgresql://" .Values.postgresql.postgresqlUsername $dbPass .Release.Name "postgresql" "5432" .Values.postgresql.postgresqlDatabase }}
|
||||
url: {{ $url | b64enc | quote }}
|
||||
plainhost: {{ ( printf "%v-%v" .Release.Name "postgresql" ) | b64enc | quote }}
|
||||
type: Opaque
|
||||
|
||||
---
|
||||
|
||||
apiVersion: v1
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
name: sogo-config
|
||||
data:
|
||||
sogo.conf: |
|
||||
{
|
||||
/* ********************* Main SOGo configuration file **********************
|
||||
* *
|
||||
* Since the content of this file is a dictionary in OpenStep plist format, *
|
||||
* the curly braces enclosing the body of the configuration are mandatory. *
|
||||
* See the Installation Guide for details on the format. *
|
||||
* *
|
||||
* C and C++ style comments are supported. *
|
||||
* *
|
||||
* This example configuration contains only a subset of all available *
|
||||
* configuration parameters. Please see the installation guide more details. *
|
||||
* *
|
||||
* ~sogo/GNUstep/Defaults/.GNUstepDefaults has precedence over this file, *
|
||||
* make sure to move it away to avoid unwanted parameter overrides. *
|
||||
* *
|
||||
* **************************************************************************/
|
||||
|
||||
/* Database configuration (mysql:// or postgresql://) */
|
||||
SOGoProfileURL = "{{ $url }}/sogo_user_profile";
|
||||
OCSFolderInfoURL = "{{ $url }}/sogo_folder_info";
|
||||
OCSSessionsFolderURL = "{{ $url }}/sogo_sessions_folder";
|
||||
|
||||
/* Mail */
|
||||
SOGoDraftsFolderName = {{ .Values.sogo.mail.SOGoDraftsFolderName | default "Drafts" }};
|
||||
SOGoSentFolderName = {{ .Values.sogo.mail.SOGoSentFolderName | default "Sent" }};
|
||||
SOGoTrashFolderName = {{ .Values.sogo.mail.SOGoTrashFolderName | default "Trash" }};
|
||||
SOGoIMAPServer = {{ .Values.sogo.mail.SOGoIMAPServer | default "localhost" }};
|
||||
{{- if .Values.sogo.mail.SOGoSieveServer}}
|
||||
SOGoSieveServer = {{ .Values.sogo.mail.SOGoSieveServer | default "sieve://127.0.0.1:4190" }};
|
||||
{{- end }}
|
||||
SOGoMailDomain = {{ .Values.sogo.mail.SOGoMailDomain | default "acme.com" }};
|
||||
SOGoMailingMechanism = {{ .Values.sogo.mail.SOGoMailingMechanism | default "smtp" }};
|
||||
{{- if eq .Values.sogo.mail.SOGoMailingMechanism "smtp" }}
|
||||
SOGoSMTPServer = {{ .Values.sogo.mail.SOGoSMTPServer | default "smtp://domain:port/?tls=YES" }};
|
||||
{{- end }}
|
||||
SOGoForceExternalLoginWithEmail = {{ if .Values.sogo.mail.SOGoForceExternalLoginWithEmail }}"YES"{{ else }}"NO"{{ end }};
|
||||
SOGoMailSpoolPath = {{ ( .Values.sogo.mail.SOGoMailSpoolPath | default "/var/spool/sogo") | quote }};
|
||||
NGMimeBuildMimeTempDirectory = {{ ( .Values.sogo.mail.NGMimeBuildMimeTempDirectory | default "/mimetmp") | quote }};
|
||||
|
||||
/* Notifications */
|
||||
SOGoAppointmentSendEMailNotifications = {{ if .Values.sogo.notifications.SOGoAppointmentSendEMailNotifications }}"YES"{{ else }}"NO"{{ end }};
|
||||
SOGoACLsSendEMailNotifications = {{ if .Values.sogo.notifications.SOGoACLsSendEMailNotifications }}"YES"{{ else }}"NO"{{ end }};
|
||||
SOGoFoldersSendEMailNotifications = {{ if .Values.sogo.notifications.SOGoFoldersSendEMailNotifications }}"YES"{{ else }}"NO"{{ end }};
|
||||
|
||||
/* Authentication */
|
||||
SOGoPasswordChangeEnabled = {{ if .Values.sogo.auth.SOGoPasswordChangeEnabled }}"YES"{{ else }}"NO"{{ end }};
|
||||
|
||||
/* User Sources */
|
||||
{{- if .Values.sogo.usersources }}
|
||||
SOGoUserSources = (
|
||||
{{- range $index, $value := .Values.sogo.usersources }}
|
||||
{
|
||||
type = {{ $value.type | default "ldap" }};
|
||||
{{- if eq $value.type "ldap" }}
|
||||
CNFieldName = {{ $value.CNFieldName | default "cn" }};
|
||||
UIDFieldName = {{ $value.UIDFieldName | default "uid" }};
|
||||
IDFieldName = {{ $value.IDFieldName | default "uid" }}; // first field of the DN for direct binds
|
||||
bindFields = {{ $value.bindFields | default "(uid, mail)" }}; // array of fields to use for indirect binds
|
||||
baseDN = {{ ( $value.baseDN | default "ou=users,dc=acme,dc=com" ) | quote }};
|
||||
bindDN = {{ ( $value.bindDN | default "uid=sogo,ou=users,dc=acme,dc=com" ) | quote }};
|
||||
bindPassword = {{ $value.bindPassword | default "qwerty" }};
|
||||
canAuthenticate = {{ if $value.canAuthenticate }}"YES"{{ else }}"NO"{{ end }};
|
||||
displayName = {{ ( $value.displayName | default "Shared Addresses" ) | quote }};
|
||||
hostname = {{ $value.hostname | default "ldap://127.0.0.1:389" }};
|
||||
id = {{ $value.id | default "public" }};
|
||||
isAddressBook = {{ if $value.isAddressBook }}"YES"{{ else }}"NO"{{ end }};
|
||||
{{- else if eq $value.type "sql" }}
|
||||
id = {{ $value.sql.id | default "directory" }};
|
||||
viewURL = {{ ( $value.sql.viewURL | default "postgresql://sogo:sogo@127.0.0.1:5432/sogo/sogo_view" ) | quote }};
|
||||
canAuthenticate = {{ if $value.sql.canAuthenticate }}"YES"{{ else }}"NO"{{ end }};
|
||||
isAddressBook = {{ if $value.sql.isAddressBook }}"YES"{{ else }}"NO"{{ end }};
|
||||
userPasswordAlgorithm = {{ $value.sql.userPasswordAlgorithm | default "md5" }};
|
||||
{{- end }}
|
||||
{{- range $value.custom }}
|
||||
{{ .name }} = {{ .value }};
|
||||
{{- end }}
|
||||
{{- if $index }}
|
||||
}
|
||||
{{- else }}
|
||||
},
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
);
|
||||
{{- end }}
|
||||
|
||||
/* Web Interface */
|
||||
SOGoPageTitle = {{ .Values.sogo.webui.SOGoPageTitle | default "SOGo" }};
|
||||
SOGoVacationEnabled = {{ if .Values.sogo.webui.SOGoVacationEnabled }}"YES"{{ else }}"NO"{{ end }};
|
||||
SOGoForwardEnabled = {{ if .Values.sogo.webui.SOGoForwardEnabled }}"YES"{{ else }}"NO"{{ end }};
|
||||
SOGoSieveScriptsEnabled = {{ if .Values.sogo.webui.SOGoSieveScriptsEnabled }}"YES"{{ else }}"NO"{{ end }};
|
||||
SOGoMailAuxiliaryUserAccountsEnabled = {{ if .Values.sogo.webui.SOGoMailAuxiliaryUserAccountsEnabled }}"YES"{{ else }}"NO"{{ end }};
|
||||
SOGoTrustProxyAuthentication = {{ if .Values.sogo.webui.SOGoTrustProxyAuthentication }}"YES"{{ else }}"NO"{{ end }};
|
||||
SOGoXSRFValidationEnabled = {{ if .Values.sogo.webui.SOGoXSRFValidationEnabled }}"YES"{{ else }}"NO"{{ end }};
|
||||
|
||||
/* General - SOGoTimeZone *MUST* be defined */
|
||||
SOGoLanguage = {{ .Values.sogo.general.SOGoLanguage | default "English" }};
|
||||
SOGoTimeZone = {{ .Values.env.TZ | default "America/Montreal" }};
|
||||
SOGoSuperUsernames = ({{ .Values.sogo.general.SOGoSuperUsernames | default "" }}); // This is an array - keep the parens!
|
||||
SxVMemLimit = {{ .Values.sogo.general.SxVMemLimit | default "384" }};
|
||||
SOGoMemcachedHost = {{ ( printf "%v-%v" .Release.Name "memcached" ) | quote }};
|
||||
|
||||
/* Debug */
|
||||
SOGoDebugRequests = {{ if .Values.sogo.debug.SOGoDebugRequests }}"YES"{{ else }}"NO"{{ end }};
|
||||
SoDebugBaseURL = {{ if .Values.sogo.debug.SoDebugBaseURL }}"YES"{{ else }}"NO"{{ end }};
|
||||
ImapDebugEnabled = {{ if .Values.sogo.debug.ImapDebugEnabled }}"YES"{{ else }}"NO"{{ end }};
|
||||
LDAPDebugEnabled = {{ if .Values.sogo.debug.LDAPDebugEnabled }}"YES"{{ else }}"NO"{{ end }};
|
||||
PGDebugEnabled = {{ if .Values.sogo.debug.PGDebugEnabled }}"YES"{{ else }}"NO"{{ end }};
|
||||
MySQL4DebugEnabled = {{ if .Values.sogo.debug.MySQL4DebugEnabled }}"YES"{{ else }}"NO"{{ end }};
|
||||
SOGoUIxDebugEnabled = {{ if .Values.sogo.debug.SOGoUIxDebugEnabled }}"YES"{{ else }}"NO"{{ end }};
|
||||
WODontZipResponse = {{ if .Values.sogo.debug.WODontZipResponse }}"YES"{{ else }}"NO"{{ end }};
|
||||
WOLogFile = {{ ( .Values.sogo.debug.WOLogFile | default "/var/log/sogo/sogo.log" ) | quote }};
|
||||
}
|
||||
|
||||
/* Custom Arguments added by user */
|
||||
{{- range .Values.sogo.custom }}
|
||||
{{ .name }} = {{ .value }};
|
||||
{{- end }}
|
||||
|
||||
{{- end -}}
|
|
@ -1,26 +0,0 @@
|
|||
{{/* Make sure all variables are set properly */}}
|
||||
{{- include "common.values.setup" . }}
|
||||
|
||||
{{/* Render config and secrets for sogo */}}
|
||||
{{- include "sogo.config" . }}
|
||||
|
||||
{{/* Append the general configMap volume to the volumes */}}
|
||||
{{- define "sogo.configmapVolume" -}}
|
||||
enabled: "true"
|
||||
mountPath: "/etc/sogo/sogo.conf"
|
||||
readOnly: true
|
||||
subPath: sogo.conf
|
||||
type: "custom"
|
||||
volumeSpec:
|
||||
configMap:
|
||||
name: sogo-config
|
||||
items:
|
||||
- key: sogo.conf
|
||||
path: sogo.conf
|
||||
{{- end -}}
|
||||
|
||||
{{- $_ := set .Values.persistence "sogo-config" (include "sogo.configmapVolume" . | fromYaml) -}}
|
||||
|
||||
|
||||
{{/* Render the templates */}}
|
||||
{{ include "common.all" . }}
|
|
@ -1,142 +0,0 @@
|
|||
# Default values for Bitwarden.
|
||||
image:
|
||||
repository: ghcr.io/truecharts/sogo
|
||||
pullPolicy: IfNotPresent
|
||||
tag: "v5.2.0"
|
||||
|
||||
# -- services
|
||||
service:
|
||||
main:
|
||||
ports:
|
||||
main:
|
||||
port: 80
|
||||
|
||||
# -- initcontainers
|
||||
initContainers:
|
||||
# -- wait for database before starting sogo
|
||||
- name: init-postgresdb
|
||||
image: postgres:13.1
|
||||
command:
|
||||
- "sh"
|
||||
- "-c"
|
||||
- "until pg_isready -U sogo -h ${pghost} ; do sleep 2 ; done"
|
||||
imagePullPolicy: IfNotPresent
|
||||
env:
|
||||
- name: pghost
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: dbcreds
|
||||
key: plainhost
|
||||
|
||||
# -- persistence settings
|
||||
persistence:
|
||||
data:
|
||||
enabled: true
|
||||
mountPath: "/data/conf/sogo/"
|
||||
type: pvc
|
||||
accessMode: ReadWriteOnce
|
||||
size: "100Gi"
|
||||
drafts:
|
||||
enabled: true
|
||||
mountPath: "/var/spool/sogo"
|
||||
type: pvc
|
||||
accessMode: ReadWriteOnce
|
||||
size: "100Gi"
|
||||
mimetmp:
|
||||
enabled: true
|
||||
mountPath: "/mimetmp"
|
||||
type: emptyDir
|
||||
|
||||
|
||||
# -- postgres dependency settings
|
||||
postgresql:
|
||||
enabled: true
|
||||
postgresqlUsername: sogo
|
||||
postgresqlDatabase: sogo
|
||||
existingSecret: dbcreds
|
||||
|
||||
# -- memcached dependency settings
|
||||
memcached:
|
||||
enabled: true
|
||||
|
||||
# -- Sogo settings
|
||||
sogo:
|
||||
# -- Pre-configured Sogo mail settings
|
||||
mail:
|
||||
SOGoDraftsFolderName: "Drafts"
|
||||
SOGoSentFolderName: "Sent"
|
||||
SOGoTrashFolderName: "Trash"
|
||||
SOGoIMAPServer: "localhost"
|
||||
SOGoSieveServer: ""
|
||||
SOGoMailDomain: "example.com"
|
||||
SOGoMailingMechanism: "smtp"
|
||||
SOGoSMTPServer: "smtp://domain:port"
|
||||
SOGoForceExternalLoginWithEmail: false
|
||||
SOGoMailSpoolPath: "/var/spool/sogo"
|
||||
NGMimeBuildMimeTempDirectory: "/mimetmp"
|
||||
# -- Pre-configured Sogo notifications settings
|
||||
notifications:
|
||||
SOGoAppointmentSendEMailNotifications: false
|
||||
SOGoACLsSendEMailNotifications: false
|
||||
SOGoFoldersSendEMailNotifications: false
|
||||
# -- Pre-configured general Sogo settings
|
||||
general:
|
||||
SOGoLanguage: "English"
|
||||
SOGoSuperUsernames: ""
|
||||
SxVMemLimit: "384"
|
||||
# -- Pre-configured Sogo authentication settings
|
||||
auth:
|
||||
SOGoPasswordChangeEnabled: true
|
||||
# -- Sogo usersources
|
||||
usersources: []
|
||||
# - type: "ldap"
|
||||
# CNFieldName: "cn"
|
||||
# UIDFieldName: "uid"
|
||||
# IDFieldName: "uid"
|
||||
# bindFields: "(uid, mail)"
|
||||
# baseDN: "ou=users,dc=acme,dc=com"
|
||||
# bindDN: "uid=sogo,ou=users,dc=acme,dc=com"
|
||||
# bindPassword: "qwerty"
|
||||
# canAuthenticate: true
|
||||
# displayName: "Shared Addresses"
|
||||
# hostname: "ldap://127.0.0.1:389"
|
||||
# id: "public"
|
||||
# isAddressBook: true
|
||||
# custom:
|
||||
# - name: name-of-ldap-setting
|
||||
# value: somevalue
|
||||
#
|
||||
# - type: "sql"
|
||||
# id: "directory"
|
||||
# viewURL: "postgresql://sogo:sogo@127.0.0.1:5432/sogo/sogo_view"
|
||||
# canAuthenticate: true
|
||||
# isAddressBook: true
|
||||
# userPasswordAlgorithm: "md5"
|
||||
# custom:
|
||||
# - name: name-of-sql-setting
|
||||
# value: somevalue
|
||||
|
||||
# -- Pre-configured Sogo debug settings
|
||||
debug:
|
||||
SOGoDebugRequests: false
|
||||
SoDebugBaseURL: false
|
||||
LDAPDebugEnabled: false
|
||||
ImapDebugEnabled: false
|
||||
PGDebugEnabled: false
|
||||
MySQL4DebugEnabled: false
|
||||
SOGoUIxDebugEnabled: false
|
||||
WODontZipResponse: false
|
||||
WOLogFile: "/var/log/sogo/sogo.log"
|
||||
# -- Pre-configured Sogo webui settings
|
||||
webui:
|
||||
SOGoPageTitle: "SOGo"
|
||||
SOGoVacationEnabled: true
|
||||
SOGoForwardEnabled: true
|
||||
SOGoSieveScriptsEnabled: true
|
||||
SOGoMailAuxiliaryUserAccountsEnabled: true
|
||||
SOGoTrustProxyAuthentication: false
|
||||
SOGoXSRFValidationEnabled: true
|
||||
# -- custom Sogo setting arguments
|
||||
custom: []
|
||||
# - name: SOGoPageTitle
|
||||
# value: "somevalue"
|
|
@ -1,12 +0,0 @@
|
|||
dependencies:
|
||||
- name: common
|
||||
repository: https://truecharts.org/
|
||||
version: 6.13.7
|
||||
- name: postgresql
|
||||
repository: https://truecharts.org/
|
||||
version: 1.6.1
|
||||
- name: memcached
|
||||
repository: https://charts.bitnami.com/bitnami
|
||||
version: 5.14.2
|
||||
digest: sha256:cacb0024ee596935c01beb9b1c32ae93018ed54fa0c9eacb8d54f8f78fb335f1
|
||||
generated: "2021-09-06T11:27:45.566301425Z"
|
|
@ -1,30 +0,0 @@
|
|||
apiVersion: v2
|
||||
appVersion: auto
|
||||
dependencies:
|
||||
- name: common
|
||||
repository: https://truecharts.org/
|
||||
version: 6.13.7
|
||||
- condition: postgresql.enabled
|
||||
name: postgresql
|
||||
repository: https://truecharts.org/
|
||||
version: 1.6.1
|
||||
- condition: memcached.enabled
|
||||
name: memcached
|
||||
repository: https://charts.bitnami.com/bitnami
|
||||
version: 5.14.2
|
||||
deprecated: false
|
||||
description: Groupware package
|
||||
home: https://github.com/truecharts/apps/tree/master/charts/stable/sogo
|
||||
icon: https://truecharts.org/_static/sogo-icon.png
|
||||
keywords:
|
||||
- groupware
|
||||
kubeVersion: '>=1.16.0-0'
|
||||
maintainers:
|
||||
- email: info@truecharts.org
|
||||
name: TrueCharts
|
||||
url: truecharts.org
|
||||
name: sogo
|
||||
sources:
|
||||
- https://www.sogo.nu/
|
||||
type: application
|
||||
version: 0.0.2
|
|
@ -1 +0,0 @@
|
|||
Groupware package
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -1,42 +0,0 @@
|
|||
##
|
||||
# This file contains Values.yaml content that gets added to the output of questions.yaml
|
||||
# It's ONLY meant for content that the user is NOT expected to change.
|
||||
# Example: Everything under "image" is not included in questions.yaml but is included here.
|
||||
##
|
||||
image:
|
||||
repository: ghcr.io/truecharts/sogo
|
||||
pullPolicy: IfNotPresent
|
||||
tag: "v5.2.0"
|
||||
|
||||
initContainers:
|
||||
- name: init-postgresdb
|
||||
image: postgres:13.1
|
||||
command:
|
||||
- "sh"
|
||||
- "-c"
|
||||
- "until pg_isready -U authelia -h ${pghost} ; do sleep 2 ; done"
|
||||
imagePullPolicy: IfNotPresent
|
||||
env:
|
||||
- name: pghost
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: dbcreds
|
||||
key: plainhost
|
||||
|
||||
|
||||
# Enabled postgres
|
||||
postgresql:
|
||||
enabled: true
|
||||
postgresqlUsername: sogo
|
||||
postgresqlDatabase: sogo
|
||||
existingSecret: dbcreds
|
||||
|
||||
# -- memcached dependency settings
|
||||
memcached:
|
||||
enabled: true
|
||||
|
||||
|
||||
##
|
||||
# Most other defaults are set in questions.yaml
|
||||
# For other options please refer to the wiki, default_values.yaml or the common library chart
|
||||
##
|
File diff suppressed because it is too large
Load Diff
|
@ -1,154 +0,0 @@
|
|||
{{/* Define the configmap */}}
|
||||
{{- define "sogo.config" -}}
|
||||
---
|
||||
|
||||
apiVersion: v1
|
||||
kind: Secret
|
||||
metadata:
|
||||
labels:
|
||||
{{- include "common.labels" . | nindent 4 }}
|
||||
name: dbcreds
|
||||
{{- $dbprevious := lookup "v1" "Secret" .Release.Namespace "dbcreds" }}
|
||||
{{- $dbPass := "" }}
|
||||
data:
|
||||
{{- if $dbprevious }}
|
||||
{{- $dbPass = ( index $dbprevious.data "postgresql-password" ) | b64dec }}
|
||||
postgresql-password: {{ ( index $dbprevious.data "postgresql-password" ) }}
|
||||
postgresql-postgres-password: {{ ( index $dbprevious.data "postgresql-postgres-password" ) }}
|
||||
{{- else }}
|
||||
{{- $dbPass = randAlphaNum 50 }}
|
||||
postgresql-password: {{ $dbPass | b64enc | quote }}
|
||||
postgresql-postgres-password: {{ randAlphaNum 50 | b64enc | quote }}
|
||||
{{- end }}
|
||||
{{- $url := printf "%v%v:%v@%v-%v:%v/%v" "postgresql://" .Values.postgresql.postgresqlUsername $dbPass .Release.Name "postgresql" "5432" .Values.postgresql.postgresqlDatabase }}
|
||||
url: {{ $url | b64enc | quote }}
|
||||
plainhost: {{ ( printf "%v-%v" .Release.Name "postgresql" ) | b64enc | quote }}
|
||||
type: Opaque
|
||||
|
||||
---
|
||||
|
||||
apiVersion: v1
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
name: sogo-config
|
||||
data:
|
||||
sogo.conf: |
|
||||
{
|
||||
/* ********************* Main SOGo configuration file **********************
|
||||
* *
|
||||
* Since the content of this file is a dictionary in OpenStep plist format, *
|
||||
* the curly braces enclosing the body of the configuration are mandatory. *
|
||||
* See the Installation Guide for details on the format. *
|
||||
* *
|
||||
* C and C++ style comments are supported. *
|
||||
* *
|
||||
* This example configuration contains only a subset of all available *
|
||||
* configuration parameters. Please see the installation guide more details. *
|
||||
* *
|
||||
* ~sogo/GNUstep/Defaults/.GNUstepDefaults has precedence over this file, *
|
||||
* make sure to move it away to avoid unwanted parameter overrides. *
|
||||
* *
|
||||
* **************************************************************************/
|
||||
|
||||
/* Database configuration (mysql:// or postgresql://) */
|
||||
SOGoProfileURL = "{{ $url }}/sogo_user_profile";
|
||||
OCSFolderInfoURL = "{{ $url }}/sogo_folder_info";
|
||||
OCSSessionsFolderURL = "{{ $url }}/sogo_sessions_folder";
|
||||
|
||||
/* Mail */
|
||||
SOGoDraftsFolderName = {{ .Values.sogo.mail.SOGoDraftsFolderName | default "Drafts" }};
|
||||
SOGoSentFolderName = {{ .Values.sogo.mail.SOGoSentFolderName | default "Sent" }};
|
||||
SOGoTrashFolderName = {{ .Values.sogo.mail.SOGoTrashFolderName | default "Trash" }};
|
||||
SOGoIMAPServer = {{ .Values.sogo.mail.SOGoIMAPServer | default "localhost" }};
|
||||
{{- if .Values.sogo.mail.SOGoSieveServer}}
|
||||
SOGoSieveServer = {{ .Values.sogo.mail.SOGoSieveServer | default "sieve://127.0.0.1:4190" }};
|
||||
{{- end }}
|
||||
SOGoMailDomain = {{ .Values.sogo.mail.SOGoMailDomain | default "acme.com" }};
|
||||
SOGoMailingMechanism = {{ .Values.sogo.mail.SOGoMailingMechanism | default "smtp" }};
|
||||
{{- if eq .Values.sogo.mail.SOGoMailingMechanism "smtp" }}
|
||||
SOGoSMTPServer = {{ .Values.sogo.mail.SOGoSMTPServer | default "smtp://domain:port/?tls=YES" }};
|
||||
{{- end }}
|
||||
SOGoForceExternalLoginWithEmail = {{ if .Values.sogo.mail.SOGoForceExternalLoginWithEmail }}"YES"{{ else }}"NO"{{ end }};
|
||||
SOGoMailSpoolPath = {{ ( .Values.sogo.mail.SOGoMailSpoolPath | default "/var/spool/sogo") | quote }};
|
||||
NGMimeBuildMimeTempDirectory = {{ ( .Values.sogo.mail.NGMimeBuildMimeTempDirectory | default "/mimetmp") | quote }};
|
||||
|
||||
/* Notifications */
|
||||
SOGoAppointmentSendEMailNotifications = {{ if .Values.sogo.notifications.SOGoAppointmentSendEMailNotifications }}"YES"{{ else }}"NO"{{ end }};
|
||||
SOGoACLsSendEMailNotifications = {{ if .Values.sogo.notifications.SOGoACLsSendEMailNotifications }}"YES"{{ else }}"NO"{{ end }};
|
||||
SOGoFoldersSendEMailNotifications = {{ if .Values.sogo.notifications.SOGoFoldersSendEMailNotifications }}"YES"{{ else }}"NO"{{ end }};
|
||||
|
||||
/* Authentication */
|
||||
SOGoPasswordChangeEnabled = {{ if .Values.sogo.auth.SOGoPasswordChangeEnabled }}"YES"{{ else }}"NO"{{ end }};
|
||||
|
||||
/* User Sources */
|
||||
{{- if .Values.sogo.usersources }}
|
||||
SOGoUserSources = (
|
||||
{{- range $index, $value := .Values.sogo.usersources }}
|
||||
{
|
||||
type = {{ $value.type | default "ldap" }};
|
||||
{{- if eq $value.type "ldap" }}
|
||||
CNFieldName = {{ $value.CNFieldName | default "cn" }};
|
||||
UIDFieldName = {{ $value.UIDFieldName | default "uid" }};
|
||||
IDFieldName = {{ $value.IDFieldName | default "uid" }}; // first field of the DN for direct binds
|
||||
bindFields = {{ $value.bindFields | default "(uid, mail)" }}; // array of fields to use for indirect binds
|
||||
baseDN = {{ ( $value.baseDN | default "ou=users,dc=acme,dc=com" ) | quote }};
|
||||
bindDN = {{ ( $value.bindDN | default "uid=sogo,ou=users,dc=acme,dc=com" ) | quote }};
|
||||
bindPassword = {{ $value.bindPassword | default "qwerty" }};
|
||||
canAuthenticate = {{ if $value.canAuthenticate }}"YES"{{ else }}"NO"{{ end }};
|
||||
displayName = {{ ( $value.displayName | default "Shared Addresses" ) | quote }};
|
||||
hostname = {{ $value.hostname | default "ldap://127.0.0.1:389" }};
|
||||
id = {{ $value.id | default "public" }};
|
||||
isAddressBook = {{ if $value.isAddressBook }}"YES"{{ else }}"NO"{{ end }};
|
||||
{{- else if eq $value.type "sql" }}
|
||||
id = {{ $value.sql.id | default "directory" }};
|
||||
viewURL = {{ ( $value.sql.viewURL | default "postgresql://sogo:sogo@127.0.0.1:5432/sogo/sogo_view" ) | quote }};
|
||||
canAuthenticate = {{ if $value.sql.canAuthenticate }}"YES"{{ else }}"NO"{{ end }};
|
||||
isAddressBook = {{ if $value.sql.isAddressBook }}"YES"{{ else }}"NO"{{ end }};
|
||||
userPasswordAlgorithm = {{ $value.sql.userPasswordAlgorithm | default "md5" }};
|
||||
{{- end }}
|
||||
{{- range $value.custom }}
|
||||
{{ .name }} = {{ .value }};
|
||||
{{- end }}
|
||||
{{- if $index }}
|
||||
}
|
||||
{{- else }}
|
||||
},
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
);
|
||||
{{- end }}
|
||||
|
||||
/* Web Interface */
|
||||
SOGoPageTitle = {{ .Values.sogo.webui.SOGoPageTitle | default "SOGo" }};
|
||||
SOGoVacationEnabled = {{ if .Values.sogo.webui.SOGoVacationEnabled }}"YES"{{ else }}"NO"{{ end }};
|
||||
SOGoForwardEnabled = {{ if .Values.sogo.webui.SOGoForwardEnabled }}"YES"{{ else }}"NO"{{ end }};
|
||||
SOGoSieveScriptsEnabled = {{ if .Values.sogo.webui.SOGoSieveScriptsEnabled }}"YES"{{ else }}"NO"{{ end }};
|
||||
SOGoMailAuxiliaryUserAccountsEnabled = {{ if .Values.sogo.webui.SOGoMailAuxiliaryUserAccountsEnabled }}"YES"{{ else }}"NO"{{ end }};
|
||||
SOGoTrustProxyAuthentication = {{ if .Values.sogo.webui.SOGoTrustProxyAuthentication }}"YES"{{ else }}"NO"{{ end }};
|
||||
SOGoXSRFValidationEnabled = {{ if .Values.sogo.webui.SOGoXSRFValidationEnabled }}"YES"{{ else }}"NO"{{ end }};
|
||||
|
||||
/* General - SOGoTimeZone *MUST* be defined */
|
||||
SOGoLanguage = {{ .Values.sogo.general.SOGoLanguage | default "English" }};
|
||||
SOGoTimeZone = {{ .Values.env.TZ | default "America/Montreal" }};
|
||||
SOGoSuperUsernames = ({{ .Values.sogo.general.SOGoSuperUsernames | default "" }}); // This is an array - keep the parens!
|
||||
SxVMemLimit = {{ .Values.sogo.general.SxVMemLimit | default "384" }};
|
||||
SOGoMemcachedHost = {{ ( printf "%v-%v" .Release.Name "memcached" ) | quote }};
|
||||
|
||||
/* Debug */
|
||||
SOGoDebugRequests = {{ if .Values.sogo.debug.SOGoDebugRequests }}"YES"{{ else }}"NO"{{ end }};
|
||||
SoDebugBaseURL = {{ if .Values.sogo.debug.SoDebugBaseURL }}"YES"{{ else }}"NO"{{ end }};
|
||||
ImapDebugEnabled = {{ if .Values.sogo.debug.ImapDebugEnabled }}"YES"{{ else }}"NO"{{ end }};
|
||||
LDAPDebugEnabled = {{ if .Values.sogo.debug.LDAPDebugEnabled }}"YES"{{ else }}"NO"{{ end }};
|
||||
PGDebugEnabled = {{ if .Values.sogo.debug.PGDebugEnabled }}"YES"{{ else }}"NO"{{ end }};
|
||||
MySQL4DebugEnabled = {{ if .Values.sogo.debug.MySQL4DebugEnabled }}"YES"{{ else }}"NO"{{ end }};
|
||||
SOGoUIxDebugEnabled = {{ if .Values.sogo.debug.SOGoUIxDebugEnabled }}"YES"{{ else }}"NO"{{ end }};
|
||||
WODontZipResponse = {{ if .Values.sogo.debug.WODontZipResponse }}"YES"{{ else }}"NO"{{ end }};
|
||||
WOLogFile = {{ ( .Values.sogo.debug.WOLogFile | default "/var/log/sogo/sogo.log" ) | quote }};
|
||||
}
|
||||
|
||||
/* Custom Arguments added by user */
|
||||
{{- range .Values.sogo.custom }}
|
||||
{{ .name }} = {{ .value }};
|
||||
{{- end }}
|
||||
|
||||
{{- end -}}
|
|
@ -1,26 +0,0 @@
|
|||
{{/* Make sure all variables are set properly */}}
|
||||
{{- include "common.values.setup" . }}
|
||||
|
||||
{{/* Render config and secrets for sogo */}}
|
||||
{{- include "sogo.config" . }}
|
||||
|
||||
{{/* Append the general configMap volume to the volumes */}}
|
||||
{{- define "sogo.configmapVolume" -}}
|
||||
enabled: "true"
|
||||
mountPath: "/etc/sogo/sogo.conf"
|
||||
readOnly: true
|
||||
subPath: sogo.conf
|
||||
type: "custom"
|
||||
volumeSpec:
|
||||
configMap:
|
||||
name: sogo-config
|
||||
items:
|
||||
- key: sogo.conf
|
||||
path: sogo.conf
|
||||
{{- end -}}
|
||||
|
||||
{{- $_ := set .Values.persistence "sogo-config" (include "sogo.configmapVolume" . | fromYaml) -}}
|
||||
|
||||
|
||||
{{/* Render the templates */}}
|
||||
{{ include "common.all" . }}
|
|
@ -1,142 +0,0 @@
|
|||
# Default values for Bitwarden.
|
||||
image:
|
||||
repository: ghcr.io/truecharts/sogo
|
||||
pullPolicy: IfNotPresent
|
||||
tag: "v5.2.0"
|
||||
|
||||
# -- services
|
||||
service:
|
||||
main:
|
||||
ports:
|
||||
main:
|
||||
port: 80
|
||||
|
||||
# -- initcontainers
|
||||
initContainers:
|
||||
# -- wait for database before starting sogo
|
||||
- name: init-postgresdb
|
||||
image: postgres:13.1
|
||||
command:
|
||||
- "sh"
|
||||
- "-c"
|
||||
- "until pg_isready -U sogo -h ${pghost} ; do sleep 2 ; done"
|
||||
imagePullPolicy: IfNotPresent
|
||||
env:
|
||||
- name: pghost
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: dbcreds
|
||||
key: plainhost
|
||||
|
||||
# -- persistence settings
|
||||
persistence:
|
||||
data:
|
||||
enabled: true
|
||||
mountPath: "/data/conf/sogo/"
|
||||
type: pvc
|
||||
accessMode: ReadWriteOnce
|
||||
size: "100Gi"
|
||||
drafts:
|
||||
enabled: true
|
||||
mountPath: "/var/spool/sogo"
|
||||
type: pvc
|
||||
accessMode: ReadWriteOnce
|
||||
size: "100Gi"
|
||||
mimetmp:
|
||||
enabled: true
|
||||
mountPath: "/mimetmp"
|
||||
type: emptyDir
|
||||
|
||||
|
||||
# -- postgres dependency settings
|
||||
postgresql:
|
||||
enabled: true
|
||||
postgresqlUsername: sogo
|
||||
postgresqlDatabase: sogo
|
||||
existingSecret: dbcreds
|
||||
|
||||
# -- memcached dependency settings
|
||||
memcached:
|
||||
enabled: true
|
||||
|
||||
# -- Sogo settings
|
||||
sogo:
|
||||
# -- Pre-configured Sogo mail settings
|
||||
mail:
|
||||
SOGoDraftsFolderName: "Drafts"
|
||||
SOGoSentFolderName: "Sent"
|
||||
SOGoTrashFolderName: "Trash"
|
||||
SOGoIMAPServer: "localhost"
|
||||
SOGoSieveServer: ""
|
||||
SOGoMailDomain: "example.com"
|
||||
SOGoMailingMechanism: "smtp"
|
||||
SOGoSMTPServer: "smtp://domain:port"
|
||||
SOGoForceExternalLoginWithEmail: false
|
||||
SOGoMailSpoolPath: "/var/spool/sogo"
|
||||
NGMimeBuildMimeTempDirectory: "/mimetmp"
|
||||
# -- Pre-configured Sogo notifications settings
|
||||
notifications:
|
||||
SOGoAppointmentSendEMailNotifications: false
|
||||
SOGoACLsSendEMailNotifications: false
|
||||
SOGoFoldersSendEMailNotifications: false
|
||||
# -- Pre-configured general Sogo settings
|
||||
general:
|
||||
SOGoLanguage: "English"
|
||||
SOGoSuperUsernames: ""
|
||||
SxVMemLimit: "384"
|
||||
# -- Pre-configured Sogo authentication settings
|
||||
auth:
|
||||
SOGoPasswordChangeEnabled: true
|
||||
# -- Sogo usersources
|
||||
usersources: []
|
||||
# - type: "ldap"
|
||||
# CNFieldName: "cn"
|
||||
# UIDFieldName: "uid"
|
||||
# IDFieldName: "uid"
|
||||
# bindFields: "(uid, mail)"
|
||||
# baseDN: "ou=users,dc=acme,dc=com"
|
||||
# bindDN: "uid=sogo,ou=users,dc=acme,dc=com"
|
||||
# bindPassword: "qwerty"
|
||||
# canAuthenticate: true
|
||||
# displayName: "Shared Addresses"
|
||||
# hostname: "ldap://127.0.0.1:389"
|
||||
# id: "public"
|
||||
# isAddressBook: true
|
||||
# custom:
|
||||
# - name: name-of-ldap-setting
|
||||
# value: somevalue
|
||||
#
|
||||
# - type: "sql"
|
||||
# id: "directory"
|
||||
# viewURL: "postgresql://sogo:sogo@127.0.0.1:5432/sogo/sogo_view"
|
||||
# canAuthenticate: true
|
||||
# isAddressBook: true
|
||||
# userPasswordAlgorithm: "md5"
|
||||
# custom:
|
||||
# - name: name-of-sql-setting
|
||||
# value: somevalue
|
||||
|
||||
# -- Pre-configured Sogo debug settings
|
||||
debug:
|
||||
SOGoDebugRequests: false
|
||||
SoDebugBaseURL: false
|
||||
LDAPDebugEnabled: false
|
||||
ImapDebugEnabled: false
|
||||
PGDebugEnabled: false
|
||||
MySQL4DebugEnabled: false
|
||||
SOGoUIxDebugEnabled: false
|
||||
WODontZipResponse: false
|
||||
WOLogFile: "/var/log/sogo/sogo.log"
|
||||
# -- Pre-configured Sogo webui settings
|
||||
webui:
|
||||
SOGoPageTitle: "SOGo"
|
||||
SOGoVacationEnabled: true
|
||||
SOGoForwardEnabled: true
|
||||
SOGoSieveScriptsEnabled: true
|
||||
SOGoMailAuxiliaryUserAccountsEnabled: true
|
||||
SOGoTrustProxyAuthentication: false
|
||||
SOGoXSRFValidationEnabled: true
|
||||
# -- custom Sogo setting arguments
|
||||
custom: []
|
||||
# - name: SOGoPageTitle
|
||||
# value: "somevalue"
|
|
@ -1,12 +0,0 @@
|
|||
dependencies:
|
||||
- name: common
|
||||
repository: https://truecharts.org/
|
||||
version: 6.13.7
|
||||
- name: postgresql
|
||||
repository: https://truecharts.org/
|
||||
version: 1.6.1
|
||||
- name: memcached
|
||||
repository: https://charts.bitnami.com/bitnami
|
||||
version: 5.14.2
|
||||
digest: sha256:cacb0024ee596935c01beb9b1c32ae93018ed54fa0c9eacb8d54f8f78fb335f1
|
||||
generated: "2021-09-06T11:48:57.043324256Z"
|
|
@ -1,30 +0,0 @@
|
|||
apiVersion: v2
|
||||
appVersion: auto
|
||||
dependencies:
|
||||
- name: common
|
||||
repository: https://truecharts.org/
|
||||
version: 6.13.7
|
||||
- condition: postgresql.enabled
|
||||
name: postgresql
|
||||
repository: https://truecharts.org/
|
||||
version: 1.6.1
|
||||
- condition: memcached.enabled
|
||||
name: memcached
|
||||
repository: https://charts.bitnami.com/bitnami
|
||||
version: 5.14.2
|
||||
deprecated: false
|
||||
description: Groupware package
|
||||
home: https://github.com/truecharts/apps/tree/master/charts/stable/sogo
|
||||
icon: https://truecharts.org/_static/sogo-icon.png
|
||||
keywords:
|
||||
- groupware
|
||||
kubeVersion: '>=1.16.0-0'
|
||||
maintainers:
|
||||
- email: info@truecharts.org
|
||||
name: TrueCharts
|
||||
url: truecharts.org
|
||||
name: sogo
|
||||
sources:
|
||||
- https://www.sogo.nu/
|
||||
type: application
|
||||
version: 0.0.3
|
|
@ -1 +0,0 @@
|
|||
Groupware package
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -1,42 +0,0 @@
|
|||
##
|
||||
# This file contains Values.yaml content that gets added to the output of questions.yaml
|
||||
# It's ONLY meant for content that the user is NOT expected to change.
|
||||
# Example: Everything under "image" is not included in questions.yaml but is included here.
|
||||
##
|
||||
image:
|
||||
repository: ghcr.io/truecharts/sogo
|
||||
pullPolicy: IfNotPresent
|
||||
tag: "v5.2.0"
|
||||
|
||||
initContainers:
|
||||
- name: init-postgresdb
|
||||
image: postgres:13.1
|
||||
command:
|
||||
- "sh"
|
||||
- "-c"
|
||||
- "until pg_isready -U sogo -h ${pghost} ; do sleep 2 ; done"
|
||||
imagePullPolicy: IfNotPresent
|
||||
env:
|
||||
- name: pghost
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: dbcreds
|
||||
key: plainhost
|
||||
|
||||
|
||||
# Enabled postgres
|
||||
postgresql:
|
||||
enabled: true
|
||||
postgresqlUsername: sogo
|
||||
postgresqlDatabase: sogo
|
||||
existingSecret: dbcreds
|
||||
|
||||
# -- memcached dependency settings
|
||||
memcached:
|
||||
enabled: true
|
||||
|
||||
|
||||
##
|
||||
# Most other defaults are set in questions.yaml
|
||||
# For other options please refer to the wiki, default_values.yaml or the common library chart
|
||||
##
|
File diff suppressed because it is too large
Load Diff
|
@ -1,154 +0,0 @@
|
|||
{{/* Define the configmap */}}
|
||||
{{- define "sogo.config" -}}
|
||||
---
|
||||
|
||||
apiVersion: v1
|
||||
kind: Secret
|
||||
metadata:
|
||||
labels:
|
||||
{{- include "common.labels" . | nindent 4 }}
|
||||
name: dbcreds
|
||||
{{- $dbprevious := lookup "v1" "Secret" .Release.Namespace "dbcreds" }}
|
||||
{{- $dbPass := "" }}
|
||||
data:
|
||||
{{- if $dbprevious }}
|
||||
{{- $dbPass = ( index $dbprevious.data "postgresql-password" ) | b64dec }}
|
||||
postgresql-password: {{ ( index $dbprevious.data "postgresql-password" ) }}
|
||||
postgresql-postgres-password: {{ ( index $dbprevious.data "postgresql-postgres-password" ) }}
|
||||
{{- else }}
|
||||
{{- $dbPass = randAlphaNum 50 }}
|
||||
postgresql-password: {{ $dbPass | b64enc | quote }}
|
||||
postgresql-postgres-password: {{ randAlphaNum 50 | b64enc | quote }}
|
||||
{{- end }}
|
||||
{{- $url := printf "%v%v:%v@%v-%v:%v/%v" "postgresql://" .Values.postgresql.postgresqlUsername $dbPass .Release.Name "postgresql" "5432" .Values.postgresql.postgresqlDatabase }}
|
||||
url: {{ $url | b64enc | quote }}
|
||||
plainhost: {{ ( printf "%v-%v" .Release.Name "postgresql" ) | b64enc | quote }}
|
||||
type: Opaque
|
||||
|
||||
---
|
||||
|
||||
apiVersion: v1
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
name: sogo-config
|
||||
data:
|
||||
sogo.conf: |
|
||||
{
|
||||
/* ********************* Main SOGo configuration file **********************
|
||||
* *
|
||||
* Since the content of this file is a dictionary in OpenStep plist format, *
|
||||
* the curly braces enclosing the body of the configuration are mandatory. *
|
||||
* See the Installation Guide for details on the format. *
|
||||
* *
|
||||
* C and C++ style comments are supported. *
|
||||
* *
|
||||
* This example configuration contains only a subset of all available *
|
||||
* configuration parameters. Please see the installation guide more details. *
|
||||
* *
|
||||
* ~sogo/GNUstep/Defaults/.GNUstepDefaults has precedence over this file, *
|
||||
* make sure to move it away to avoid unwanted parameter overrides. *
|
||||
* *
|
||||
* **************************************************************************/
|
||||
|
||||
/* Database configuration (mysql:// or postgresql://) */
|
||||
SOGoProfileURL = "{{ $url }}/sogo_user_profile";
|
||||
OCSFolderInfoURL = "{{ $url }}/sogo_folder_info";
|
||||
OCSSessionsFolderURL = "{{ $url }}/sogo_sessions_folder";
|
||||
|
||||
/* Mail */
|
||||
SOGoDraftsFolderName = {{ .Values.sogo.mail.SOGoDraftsFolderName | default "Drafts" }};
|
||||
SOGoSentFolderName = {{ .Values.sogo.mail.SOGoSentFolderName | default "Sent" }};
|
||||
SOGoTrashFolderName = {{ .Values.sogo.mail.SOGoTrashFolderName | default "Trash" }};
|
||||
SOGoIMAPServer = {{ .Values.sogo.mail.SOGoIMAPServer | default "localhost" }};
|
||||
{{- if .Values.sogo.mail.SOGoSieveServer}}
|
||||
SOGoSieveServer = {{ .Values.sogo.mail.SOGoSieveServer | default "sieve://127.0.0.1:4190" }};
|
||||
{{- end }}
|
||||
SOGoMailDomain = {{ .Values.sogo.mail.SOGoMailDomain | default "acme.com" }};
|
||||
SOGoMailingMechanism = {{ .Values.sogo.mail.SOGoMailingMechanism | default "smtp" }};
|
||||
{{- if eq .Values.sogo.mail.SOGoMailingMechanism "smtp" }}
|
||||
SOGoSMTPServer = {{ .Values.sogo.mail.SOGoSMTPServer | default "smtp://domain:port/?tls=YES" }};
|
||||
{{- end }}
|
||||
SOGoForceExternalLoginWithEmail = {{ if .Values.sogo.mail.SOGoForceExternalLoginWithEmail }}"YES"{{ else }}"NO"{{ end }};
|
||||
SOGoMailSpoolPath = {{ ( .Values.sogo.mail.SOGoMailSpoolPath | default "/var/spool/sogo") | quote }};
|
||||
NGMimeBuildMimeTempDirectory = {{ ( .Values.sogo.mail.NGMimeBuildMimeTempDirectory | default "/mimetmp") | quote }};
|
||||
|
||||
/* Notifications */
|
||||
SOGoAppointmentSendEMailNotifications = {{ if .Values.sogo.notifications.SOGoAppointmentSendEMailNotifications }}"YES"{{ else }}"NO"{{ end }};
|
||||
SOGoACLsSendEMailNotifications = {{ if .Values.sogo.notifications.SOGoACLsSendEMailNotifications }}"YES"{{ else }}"NO"{{ end }};
|
||||
SOGoFoldersSendEMailNotifications = {{ if .Values.sogo.notifications.SOGoFoldersSendEMailNotifications }}"YES"{{ else }}"NO"{{ end }};
|
||||
|
||||
/* Authentication */
|
||||
SOGoPasswordChangeEnabled = {{ if .Values.sogo.auth.SOGoPasswordChangeEnabled }}"YES"{{ else }}"NO"{{ end }};
|
||||
|
||||
/* User Sources */
|
||||
{{- if .Values.sogo.usersources }}
|
||||
SOGoUserSources = (
|
||||
{{- range $index, $value := .Values.sogo.usersources }}
|
||||
{
|
||||
type = {{ $value.type | default "ldap" }};
|
||||
{{- if eq $value.type "ldap" }}
|
||||
CNFieldName = {{ $value.CNFieldName | default "cn" }};
|
||||
UIDFieldName = {{ $value.UIDFieldName | default "uid" }};
|
||||
IDFieldName = {{ $value.IDFieldName | default "uid" }}; // first field of the DN for direct binds
|
||||
bindFields = {{ $value.bindFields | default "(uid, mail)" }}; // array of fields to use for indirect binds
|
||||
baseDN = {{ ( $value.baseDN | default "ou=users,dc=acme,dc=com" ) | quote }};
|
||||
bindDN = {{ ( $value.bindDN | default "uid=sogo,ou=users,dc=acme,dc=com" ) | quote }};
|
||||
bindPassword = {{ $value.bindPassword | default "qwerty" }};
|
||||
canAuthenticate = {{ if $value.canAuthenticate }}"YES"{{ else }}"NO"{{ end }};
|
||||
displayName = {{ ( $value.displayName | default "Shared Addresses" ) | quote }};
|
||||
hostname = {{ $value.hostname | default "ldap://127.0.0.1:389" }};
|
||||
id = {{ $value.id | default "public" }};
|
||||
isAddressBook = {{ if $value.isAddressBook }}"YES"{{ else }}"NO"{{ end }};
|
||||
{{- else if eq $value.type "sql" }}
|
||||
id = {{ $value.sql.id | default "directory" }};
|
||||
viewURL = {{ ( $value.sql.viewURL | default "postgresql://sogo:sogo@127.0.0.1:5432/sogo/sogo_view" ) | quote }};
|
||||
canAuthenticate = {{ if $value.sql.canAuthenticate }}"YES"{{ else }}"NO"{{ end }};
|
||||
isAddressBook = {{ if $value.sql.isAddressBook }}"YES"{{ else }}"NO"{{ end }};
|
||||
userPasswordAlgorithm = {{ $value.sql.userPasswordAlgorithm | default "md5" }};
|
||||
{{- end }}
|
||||
{{- range $value.custom }}
|
||||
{{ .name }} = {{ .value }};
|
||||
{{- end }}
|
||||
{{- if $index }}
|
||||
}
|
||||
{{- else }}
|
||||
},
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
);
|
||||
{{- end }}
|
||||
|
||||
/* Web Interface */
|
||||
SOGoPageTitle = {{ .Values.sogo.webui.SOGoPageTitle | default "SOGo" }};
|
||||
SOGoVacationEnabled = {{ if .Values.sogo.webui.SOGoVacationEnabled }}"YES"{{ else }}"NO"{{ end }};
|
||||
SOGoForwardEnabled = {{ if .Values.sogo.webui.SOGoForwardEnabled }}"YES"{{ else }}"NO"{{ end }};
|
||||
SOGoSieveScriptsEnabled = {{ if .Values.sogo.webui.SOGoSieveScriptsEnabled }}"YES"{{ else }}"NO"{{ end }};
|
||||
SOGoMailAuxiliaryUserAccountsEnabled = {{ if .Values.sogo.webui.SOGoMailAuxiliaryUserAccountsEnabled }}"YES"{{ else }}"NO"{{ end }};
|
||||
SOGoTrustProxyAuthentication = {{ if .Values.sogo.webui.SOGoTrustProxyAuthentication }}"YES"{{ else }}"NO"{{ end }};
|
||||
SOGoXSRFValidationEnabled = {{ if .Values.sogo.webui.SOGoXSRFValidationEnabled }}"YES"{{ else }}"NO"{{ end }};
|
||||
|
||||
/* General - SOGoTimeZone *MUST* be defined */
|
||||
SOGoLanguage = {{ .Values.sogo.general.SOGoLanguage | default "English" }};
|
||||
SOGoTimeZone = {{ .Values.env.TZ | default "America/Montreal" }};
|
||||
SOGoSuperUsernames = ({{ .Values.sogo.general.SOGoSuperUsernames | default "" }}); // This is an array - keep the parens!
|
||||
SxVMemLimit = {{ .Values.sogo.general.SxVMemLimit | default "384" }};
|
||||
SOGoMemcachedHost = {{ ( printf "%v-%v" .Release.Name "memcached" ) | quote }};
|
||||
|
||||
/* Debug */
|
||||
SOGoDebugRequests = {{ if .Values.sogo.debug.SOGoDebugRequests }}"YES"{{ else }}"NO"{{ end }};
|
||||
SoDebugBaseURL = {{ if .Values.sogo.debug.SoDebugBaseURL }}"YES"{{ else }}"NO"{{ end }};
|
||||
ImapDebugEnabled = {{ if .Values.sogo.debug.ImapDebugEnabled }}"YES"{{ else }}"NO"{{ end }};
|
||||
LDAPDebugEnabled = {{ if .Values.sogo.debug.LDAPDebugEnabled }}"YES"{{ else }}"NO"{{ end }};
|
||||
PGDebugEnabled = {{ if .Values.sogo.debug.PGDebugEnabled }}"YES"{{ else }}"NO"{{ end }};
|
||||
MySQL4DebugEnabled = {{ if .Values.sogo.debug.MySQL4DebugEnabled }}"YES"{{ else }}"NO"{{ end }};
|
||||
SOGoUIxDebugEnabled = {{ if .Values.sogo.debug.SOGoUIxDebugEnabled }}"YES"{{ else }}"NO"{{ end }};
|
||||
WODontZipResponse = {{ if .Values.sogo.debug.WODontZipResponse }}"YES"{{ else }}"NO"{{ end }};
|
||||
WOLogFile = {{ ( .Values.sogo.debug.WOLogFile | default "/var/log/sogo/sogo.log" ) | quote }};
|
||||
}
|
||||
|
||||
/* Custom Arguments added by user */
|
||||
{{- range .Values.sogo.custom }}
|
||||
{{ .name }} = {{ .value }};
|
||||
{{- end }}
|
||||
|
||||
{{- end -}}
|
|
@ -1,26 +0,0 @@
|
|||
{{/* Make sure all variables are set properly */}}
|
||||
{{- include "common.values.setup" . }}
|
||||
|
||||
{{/* Render config and secrets for sogo */}}
|
||||
{{- include "sogo.config" . }}
|
||||
|
||||
{{/* Append the general configMap volume to the volumes */}}
|
||||
{{- define "sogo.configmapVolume" -}}
|
||||
enabled: "true"
|
||||
mountPath: "/etc/sogo/sogo.conf"
|
||||
readOnly: true
|
||||
subPath: sogo.conf
|
||||
type: "custom"
|
||||
volumeSpec:
|
||||
configMap:
|
||||
name: sogo-config
|
||||
items:
|
||||
- key: sogo.conf
|
||||
path: sogo.conf
|
||||
{{- end -}}
|
||||
|
||||
{{- $_ := set .Values.persistence "sogo-config" (include "sogo.configmapVolume" . | fromYaml) -}}
|
||||
|
||||
|
||||
{{/* Render the templates */}}
|
||||
{{ include "common.all" . }}
|
|
@ -1,142 +0,0 @@
|
|||
# Default values for Bitwarden.
|
||||
image:
|
||||
repository: ghcr.io/truecharts/sogo
|
||||
pullPolicy: IfNotPresent
|
||||
tag: "v5.2.0"
|
||||
|
||||
# -- services
|
||||
service:
|
||||
main:
|
||||
ports:
|
||||
main:
|
||||
port: 80
|
||||
|
||||
# -- initcontainers
|
||||
initContainers:
|
||||
# -- wait for database before starting sogo
|
||||
- name: init-postgresdb
|
||||
image: postgres:13.1
|
||||
command:
|
||||
- "sh"
|
||||
- "-c"
|
||||
- "until pg_isready -U sogo -h ${pghost} ; do sleep 2 ; done"
|
||||
imagePullPolicy: IfNotPresent
|
||||
env:
|
||||
- name: pghost
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: dbcreds
|
||||
key: plainhost
|
||||
|
||||
# -- persistence settings
|
||||
persistence:
|
||||
data:
|
||||
enabled: true
|
||||
mountPath: "/data/conf/sogo/"
|
||||
type: pvc
|
||||
accessMode: ReadWriteOnce
|
||||
size: "100Gi"
|
||||
drafts:
|
||||
enabled: true
|
||||
mountPath: "/var/spool/sogo"
|
||||
type: pvc
|
||||
accessMode: ReadWriteOnce
|
||||
size: "100Gi"
|
||||
mimetmp:
|
||||
enabled: true
|
||||
mountPath: "/mimetmp"
|
||||
type: emptyDir
|
||||
|
||||
|
||||
# -- postgres dependency settings
|
||||
postgresql:
|
||||
enabled: true
|
||||
postgresqlUsername: sogo
|
||||
postgresqlDatabase: sogo
|
||||
existingSecret: dbcreds
|
||||
|
||||
# -- memcached dependency settings
|
||||
memcached:
|
||||
enabled: true
|
||||
|
||||
# -- Sogo settings
|
||||
sogo:
|
||||
# -- Pre-configured Sogo mail settings
|
||||
mail:
|
||||
SOGoDraftsFolderName: "Drafts"
|
||||
SOGoSentFolderName: "Sent"
|
||||
SOGoTrashFolderName: "Trash"
|
||||
SOGoIMAPServer: "localhost"
|
||||
SOGoSieveServer: ""
|
||||
SOGoMailDomain: "example.com"
|
||||
SOGoMailingMechanism: "smtp"
|
||||
SOGoSMTPServer: "smtp://domain:port"
|
||||
SOGoForceExternalLoginWithEmail: false
|
||||
SOGoMailSpoolPath: "/var/spool/sogo"
|
||||
NGMimeBuildMimeTempDirectory: "/mimetmp"
|
||||
# -- Pre-configured Sogo notifications settings
|
||||
notifications:
|
||||
SOGoAppointmentSendEMailNotifications: false
|
||||
SOGoACLsSendEMailNotifications: false
|
||||
SOGoFoldersSendEMailNotifications: false
|
||||
# -- Pre-configured general Sogo settings
|
||||
general:
|
||||
SOGoLanguage: "English"
|
||||
SOGoSuperUsernames: ""
|
||||
SxVMemLimit: "384"
|
||||
# -- Pre-configured Sogo authentication settings
|
||||
auth:
|
||||
SOGoPasswordChangeEnabled: true
|
||||
# -- Sogo usersources
|
||||
usersources: []
|
||||
# - type: "ldap"
|
||||
# CNFieldName: "cn"
|
||||
# UIDFieldName: "uid"
|
||||
# IDFieldName: "uid"
|
||||
# bindFields: "(uid, mail)"
|
||||
# baseDN: "ou=users,dc=acme,dc=com"
|
||||
# bindDN: "uid=sogo,ou=users,dc=acme,dc=com"
|
||||
# bindPassword: "qwerty"
|
||||
# canAuthenticate: true
|
||||
# displayName: "Shared Addresses"
|
||||
# hostname: "ldap://127.0.0.1:389"
|
||||
# id: "public"
|
||||
# isAddressBook: true
|
||||
# custom:
|
||||
# - name: name-of-ldap-setting
|
||||
# value: somevalue
|
||||
#
|
||||
# - type: "sql"
|
||||
# id: "directory"
|
||||
# viewURL: "postgresql://sogo:sogo@127.0.0.1:5432/sogo/sogo_view"
|
||||
# canAuthenticate: true
|
||||
# isAddressBook: true
|
||||
# userPasswordAlgorithm: "md5"
|
||||
# custom:
|
||||
# - name: name-of-sql-setting
|
||||
# value: somevalue
|
||||
|
||||
# -- Pre-configured Sogo debug settings
|
||||
debug:
|
||||
SOGoDebugRequests: false
|
||||
SoDebugBaseURL: false
|
||||
LDAPDebugEnabled: false
|
||||
ImapDebugEnabled: false
|
||||
PGDebugEnabled: false
|
||||
MySQL4DebugEnabled: false
|
||||
SOGoUIxDebugEnabled: false
|
||||
WODontZipResponse: false
|
||||
WOLogFile: "/var/log/sogo/sogo.log"
|
||||
# -- Pre-configured Sogo webui settings
|
||||
webui:
|
||||
SOGoPageTitle: "SOGo"
|
||||
SOGoVacationEnabled: true
|
||||
SOGoForwardEnabled: true
|
||||
SOGoSieveScriptsEnabled: true
|
||||
SOGoMailAuxiliaryUserAccountsEnabled: true
|
||||
SOGoTrustProxyAuthentication: false
|
||||
SOGoXSRFValidationEnabled: true
|
||||
# -- custom Sogo setting arguments
|
||||
custom: []
|
||||
# - name: SOGoPageTitle
|
||||
# value: "somevalue"
|
|
@ -1,12 +0,0 @@
|
|||
dependencies:
|
||||
- name: common
|
||||
repository: https://truecharts.org/
|
||||
version: 6.13.7
|
||||
- name: postgresql
|
||||
repository: https://truecharts.org/
|
||||
version: 1.6.1
|
||||
- name: memcached
|
||||
repository: https://charts.bitnami.com/bitnami
|
||||
version: 5.14.2
|
||||
digest: sha256:cacb0024ee596935c01beb9b1c32ae93018ed54fa0c9eacb8d54f8f78fb335f1
|
||||
generated: "2021-09-06T12:08:43.540860478Z"
|
|
@ -1,30 +0,0 @@
|
|||
apiVersion: v2
|
||||
appVersion: auto
|
||||
dependencies:
|
||||
- name: common
|
||||
repository: https://truecharts.org/
|
||||
version: 6.13.7
|
||||
- condition: postgresql.enabled
|
||||
name: postgresql
|
||||
repository: https://truecharts.org/
|
||||
version: 1.6.1
|
||||
- condition: memcached.enabled
|
||||
name: memcached
|
||||
repository: https://charts.bitnami.com/bitnami
|
||||
version: 5.14.2
|
||||
deprecated: false
|
||||
description: Groupware package
|
||||
home: https://github.com/truecharts/apps/tree/master/charts/stable/sogo
|
||||
icon: https://truecharts.org/_static/sogo-icon.png
|
||||
keywords:
|
||||
- groupware
|
||||
kubeVersion: '>=1.16.0-0'
|
||||
maintainers:
|
||||
- email: info@truecharts.org
|
||||
name: TrueCharts
|
||||
url: truecharts.org
|
||||
name: sogo
|
||||
sources:
|
||||
- https://www.sogo.nu/
|
||||
type: application
|
||||
version: 0.0.4
|
|
@ -1 +0,0 @@
|
|||
Groupware package
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -1,42 +0,0 @@
|
|||
##
|
||||
# This file contains Values.yaml content that gets added to the output of questions.yaml
|
||||
# It's ONLY meant for content that the user is NOT expected to change.
|
||||
# Example: Everything under "image" is not included in questions.yaml but is included here.
|
||||
##
|
||||
image:
|
||||
repository: ghcr.io/truecharts/sogo
|
||||
pullPolicy: IfNotPresent
|
||||
tag: "v5.2.0"
|
||||
|
||||
initContainers:
|
||||
- name: init-postgresdb
|
||||
image: postgres:13.1
|
||||
command:
|
||||
- "sh"
|
||||
- "-c"
|
||||
- "until pg_isready -U sogo -h ${pghost} ; do sleep 2 ; done"
|
||||
imagePullPolicy: IfNotPresent
|
||||
env:
|
||||
- name: pghost
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: dbcreds
|
||||
key: plainhost
|
||||
|
||||
|
||||
# Enabled postgres
|
||||
postgresql:
|
||||
enabled: true
|
||||
postgresqlUsername: sogo
|
||||
postgresqlDatabase: sogo
|
||||
existingSecret: dbcreds
|
||||
|
||||
# -- memcached dependency settings
|
||||
memcached:
|
||||
enabled: true
|
||||
|
||||
|
||||
##
|
||||
# Most other defaults are set in questions.yaml
|
||||
# For other options please refer to the wiki, default_values.yaml or the common library chart
|
||||
##
|
File diff suppressed because it is too large
Load Diff
|
@ -1,154 +0,0 @@
|
|||
{{/* Define the configmap */}}
|
||||
{{- define "sogo.config" -}}
|
||||
---
|
||||
|
||||
apiVersion: v1
|
||||
kind: Secret
|
||||
metadata:
|
||||
labels:
|
||||
{{- include "common.labels" . | nindent 4 }}
|
||||
name: dbcreds
|
||||
{{- $dbprevious := lookup "v1" "Secret" .Release.Namespace "dbcreds" }}
|
||||
{{- $dbPass := "" }}
|
||||
data:
|
||||
{{- if $dbprevious }}
|
||||
{{- $dbPass = ( index $dbprevious.data "postgresql-password" ) | b64dec }}
|
||||
postgresql-password: {{ ( index $dbprevious.data "postgresql-password" ) }}
|
||||
postgresql-postgres-password: {{ ( index $dbprevious.data "postgresql-postgres-password" ) }}
|
||||
{{- else }}
|
||||
{{- $dbPass = randAlphaNum 50 }}
|
||||
postgresql-password: {{ $dbPass | b64enc | quote }}
|
||||
postgresql-postgres-password: {{ randAlphaNum 50 | b64enc | quote }}
|
||||
{{- end }}
|
||||
{{- $url := printf "%v%v:%v@%v-%v:%v/%v" "postgresql://" .Values.postgresql.postgresqlUsername $dbPass .Release.Name "postgresql" "5432" .Values.postgresql.postgresqlDatabase }}
|
||||
url: {{ $url | b64enc | quote }}
|
||||
plainhost: {{ ( printf "%v-%v" .Release.Name "postgresql" ) | b64enc | quote }}
|
||||
type: Opaque
|
||||
|
||||
---
|
||||
|
||||
apiVersion: v1
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
name: sogo-config
|
||||
data:
|
||||
sogo.conf: |
|
||||
{
|
||||
/* ********************* Main SOGo configuration file **********************
|
||||
* *
|
||||
* Since the content of this file is a dictionary in OpenStep plist format, *
|
||||
* the curly braces enclosing the body of the configuration are mandatory. *
|
||||
* See the Installation Guide for details on the format. *
|
||||
* *
|
||||
* C and C++ style comments are supported. *
|
||||
* *
|
||||
* This example configuration contains only a subset of all available *
|
||||
* configuration parameters. Please see the installation guide more details. *
|
||||
* *
|
||||
* ~sogo/GNUstep/Defaults/.GNUstepDefaults has precedence over this file, *
|
||||
* make sure to move it away to avoid unwanted parameter overrides. *
|
||||
* *
|
||||
* **************************************************************************/
|
||||
|
||||
/* Database configuration (mysql:// or postgresql://) */
|
||||
SOGoProfileURL = "{{ $url }}/sogo_user_profile";
|
||||
OCSFolderInfoURL = "{{ $url }}/sogo_folder_info";
|
||||
OCSSessionsFolderURL = "{{ $url }}/sogo_sessions_folder";
|
||||
|
||||
/* Mail */
|
||||
SOGoDraftsFolderName = {{ .Values.sogo.mail.SOGoDraftsFolderName | default "Drafts" }};
|
||||
SOGoSentFolderName = {{ .Values.sogo.mail.SOGoSentFolderName | default "Sent" }};
|
||||
SOGoTrashFolderName = {{ .Values.sogo.mail.SOGoTrashFolderName | default "Trash" }};
|
||||
SOGoIMAPServer = {{ .Values.sogo.mail.SOGoIMAPServer | default "localhost" }};
|
||||
{{- if .Values.sogo.mail.SOGoSieveServer}}
|
||||
SOGoSieveServer = {{ .Values.sogo.mail.SOGoSieveServer | default "sieve://127.0.0.1:4190" }};
|
||||
{{- end }}
|
||||
SOGoMailDomain = {{ .Values.sogo.mail.SOGoMailDomain | default "acme.com" }};
|
||||
SOGoMailingMechanism = {{ .Values.sogo.mail.SOGoMailingMechanism | default "smtp" }};
|
||||
{{- if eq .Values.sogo.mail.SOGoMailingMechanism "smtp" }}
|
||||
SOGoSMTPServer = {{ .Values.sogo.mail.SOGoSMTPServer | default "smtp://domain:port/?tls=YES" }};
|
||||
{{- end }}
|
||||
SOGoForceExternalLoginWithEmail = {{ if .Values.sogo.mail.SOGoForceExternalLoginWithEmail }}"YES"{{ else }}"NO"{{ end }};
|
||||
SOGoMailSpoolPath = {{ ( .Values.sogo.mail.SOGoMailSpoolPath | default "/var/spool/sogo") | quote }};
|
||||
NGMimeBuildMimeTempDirectory = {{ ( .Values.sogo.mail.NGMimeBuildMimeTempDirectory | default "/mimetmp") | quote }};
|
||||
|
||||
/* Notifications */
|
||||
SOGoAppointmentSendEMailNotifications = {{ if .Values.sogo.notifications.SOGoAppointmentSendEMailNotifications }}"YES"{{ else }}"NO"{{ end }};
|
||||
SOGoACLsSendEMailNotifications = {{ if .Values.sogo.notifications.SOGoACLsSendEMailNotifications }}"YES"{{ else }}"NO"{{ end }};
|
||||
SOGoFoldersSendEMailNotifications = {{ if .Values.sogo.notifications.SOGoFoldersSendEMailNotifications }}"YES"{{ else }}"NO"{{ end }};
|
||||
|
||||
/* Authentication */
|
||||
SOGoPasswordChangeEnabled = {{ if .Values.sogo.auth.SOGoPasswordChangeEnabled }}"YES"{{ else }}"NO"{{ end }};
|
||||
|
||||
/* User Sources */
|
||||
{{- if .Values.sogo.usersources }}
|
||||
SOGoUserSources = (
|
||||
{{- range $index, $value := .Values.sogo.usersources }}
|
||||
{
|
||||
type = {{ $value.type | default "LDAP" }};
|
||||
{{- if eq $value.type "LDAP" }}
|
||||
CNFieldName = {{ $value.CNFieldName | default "cn" }};
|
||||
UIDFieldName = {{ $value.UIDFieldName | default "uid" }};
|
||||
IDFieldName = {{ $value.IDFieldName | default "uid" }}; // first field of the DN for direct binds
|
||||
bindFields = {{ $value.bindFields | default "(uid, mail)" }}; // array of fields to use for indirect binds
|
||||
baseDN = {{ ( $value.baseDN | default "ou=users,dc=acme,dc=com" ) | quote }};
|
||||
bindDN = {{ ( $value.bindDN | default "uid=sogo,ou=users,dc=acme,dc=com" ) | quote }};
|
||||
bindPassword = {{ $value.bindPassword | default "qwerty" }};
|
||||
canAuthenticate = {{ if $value.canAuthenticate }}"YES"{{ else }}"NO"{{ end }};
|
||||
displayName = {{ ( $value.displayName | default "Shared Addresses" ) | quote }};
|
||||
hostname = {{ $value.hostname | default "ldap://127.0.0.1:389" }};
|
||||
id = {{ $value.id | default "public" }};
|
||||
isAddressBook = {{ if $value.isAddressBook }}"YES"{{ else }}"NO"{{ end }};
|
||||
{{- else if eq $value.type "SQL" }}
|
||||
id = {{ $value.sql.id | default "directory" }};
|
||||
viewURL = {{ ( $value.sql.viewURL | default "postgresql://sogo:sogo@127.0.0.1:5432/sogo/sogo_view" ) | quote }};
|
||||
canAuthenticate = {{ if $value.sql.canAuthenticate }}"YES"{{ else }}"NO"{{ end }};
|
||||
isAddressBook = {{ if $value.sql.isAddressBook }}"YES"{{ else }}"NO"{{ end }};
|
||||
userPasswordAlgorithm = {{ $value.sql.userPasswordAlgorithm | default "md5" }};
|
||||
{{- end }}
|
||||
{{- range $value.custom }}
|
||||
{{ .name }} = {{ .value }};
|
||||
{{- end }}
|
||||
{{- if $index }}
|
||||
}
|
||||
{{- else }}
|
||||
},
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
);
|
||||
{{- end }}
|
||||
|
||||
/* Web Interface */
|
||||
SOGoPageTitle = {{ .Values.sogo.webui.SOGoPageTitle | default "SOGo" }};
|
||||
SOGoVacationEnabled = {{ if .Values.sogo.webui.SOGoVacationEnabled }}"YES"{{ else }}"NO"{{ end }};
|
||||
SOGoForwardEnabled = {{ if .Values.sogo.webui.SOGoForwardEnabled }}"YES"{{ else }}"NO"{{ end }};
|
||||
SOGoSieveScriptsEnabled = {{ if .Values.sogo.webui.SOGoSieveScriptsEnabled }}"YES"{{ else }}"NO"{{ end }};
|
||||
SOGoMailAuxiliaryUserAccountsEnabled = {{ if .Values.sogo.webui.SOGoMailAuxiliaryUserAccountsEnabled }}"YES"{{ else }}"NO"{{ end }};
|
||||
SOGoTrustProxyAuthentication = {{ if .Values.sogo.webui.SOGoTrustProxyAuthentication }}"YES"{{ else }}"NO"{{ end }};
|
||||
SOGoXSRFValidationEnabled = {{ if .Values.sogo.webui.SOGoXSRFValidationEnabled }}"YES"{{ else }}"NO"{{ end }};
|
||||
|
||||
/* General - SOGoTimeZone *MUST* be defined */
|
||||
SOGoLanguage = {{ .Values.sogo.general.SOGoLanguage | default "English" }};
|
||||
SOGoTimeZone = {{ .Values.env.TZ | default "America/Montreal" }};
|
||||
SOGoSuperUsernames = ({{ .Values.sogo.general.SOGoSuperUsernames | default "" }}); // This is an array - keep the parens!
|
||||
SxVMemLimit = {{ .Values.sogo.general.SxVMemLimit | default "384" }};
|
||||
SOGoMemcachedHost = {{ ( printf "%v-%v" .Release.Name "memcached" ) | quote }};
|
||||
|
||||
/* Debug */
|
||||
SOGoDebugRequests = {{ if .Values.sogo.debug.SOGoDebugRequests }}"YES"{{ else }}"NO"{{ end }};
|
||||
SoDebugBaseURL = {{ if .Values.sogo.debug.SoDebugBaseURL }}"YES"{{ else }}"NO"{{ end }};
|
||||
ImapDebugEnabled = {{ if .Values.sogo.debug.ImapDebugEnabled }}"YES"{{ else }}"NO"{{ end }};
|
||||
LDAPDebugEnabled = {{ if .Values.sogo.debug.LDAPDebugEnabled }}"YES"{{ else }}"NO"{{ end }};
|
||||
PGDebugEnabled = {{ if .Values.sogo.debug.PGDebugEnabled }}"YES"{{ else }}"NO"{{ end }};
|
||||
MySQL4DebugEnabled = {{ if .Values.sogo.debug.MySQL4DebugEnabled }}"YES"{{ else }}"NO"{{ end }};
|
||||
SOGoUIxDebugEnabled = {{ if .Values.sogo.debug.SOGoUIxDebugEnabled }}"YES"{{ else }}"NO"{{ end }};
|
||||
WODontZipResponse = {{ if .Values.sogo.debug.WODontZipResponse }}"YES"{{ else }}"NO"{{ end }};
|
||||
WOLogFile = {{ ( .Values.sogo.debug.WOLogFile | default "/var/log/sogo/sogo.log" ) | quote }};
|
||||
}
|
||||
|
||||
/* Custom Arguments added by user */
|
||||
{{- range .Values.sogo.custom }}
|
||||
{{ .name }} = {{ .value }};
|
||||
{{- end }}
|
||||
|
||||
{{- end -}}
|
|
@ -1,26 +0,0 @@
|
|||
{{/* Make sure all variables are set properly */}}
|
||||
{{- include "common.values.setup" . }}
|
||||
|
||||
{{/* Render config and secrets for sogo */}}
|
||||
{{- include "sogo.config" . }}
|
||||
|
||||
{{/* Append the general configMap volume to the volumes */}}
|
||||
{{- define "sogo.configmapVolume" -}}
|
||||
enabled: "true"
|
||||
mountPath: "/etc/sogo/sogo.conf"
|
||||
readOnly: true
|
||||
subPath: sogo.conf
|
||||
type: "custom"
|
||||
volumeSpec:
|
||||
configMap:
|
||||
name: sogo-config
|
||||
items:
|
||||
- key: sogo.conf
|
||||
path: sogo.conf
|
||||
{{- end -}}
|
||||
|
||||
{{- $_ := set .Values.persistence "sogo-config" (include "sogo.configmapVolume" . | fromYaml) -}}
|
||||
|
||||
|
||||
{{/* Render the templates */}}
|
||||
{{ include "common.all" . }}
|
|
@ -1,142 +0,0 @@
|
|||
# Default values for Bitwarden.
|
||||
image:
|
||||
repository: ghcr.io/truecharts/sogo
|
||||
pullPolicy: IfNotPresent
|
||||
tag: "v5.2.0"
|
||||
|
||||
# -- services
|
||||
service:
|
||||
main:
|
||||
ports:
|
||||
main:
|
||||
port: 80
|
||||
|
||||
# -- initcontainers
|
||||
initContainers:
|
||||
# -- wait for database before starting sogo
|
||||
- name: init-postgresdb
|
||||
image: postgres:13.1
|
||||
command:
|
||||
- "sh"
|
||||
- "-c"
|
||||
- "until pg_isready -U sogo -h ${pghost} ; do sleep 2 ; done"
|
||||
imagePullPolicy: IfNotPresent
|
||||
env:
|
||||
- name: pghost
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: dbcreds
|
||||
key: plainhost
|
||||
|
||||
# -- persistence settings
|
||||
persistence:
|
||||
data:
|
||||
enabled: true
|
||||
mountPath: "/data/conf/sogo/"
|
||||
type: pvc
|
||||
accessMode: ReadWriteOnce
|
||||
size: "100Gi"
|
||||
drafts:
|
||||
enabled: true
|
||||
mountPath: "/var/spool/sogo"
|
||||
type: pvc
|
||||
accessMode: ReadWriteOnce
|
||||
size: "100Gi"
|
||||
mimetmp:
|
||||
enabled: true
|
||||
mountPath: "/mimetmp"
|
||||
type: emptyDir
|
||||
|
||||
|
||||
# -- postgres dependency settings
|
||||
postgresql:
|
||||
enabled: true
|
||||
postgresqlUsername: sogo
|
||||
postgresqlDatabase: sogo
|
||||
existingSecret: dbcreds
|
||||
|
||||
# -- memcached dependency settings
|
||||
memcached:
|
||||
enabled: true
|
||||
|
||||
# -- Sogo settings
|
||||
sogo:
|
||||
# -- Pre-configured Sogo mail settings
|
||||
mail:
|
||||
SOGoDraftsFolderName: "Drafts"
|
||||
SOGoSentFolderName: "Sent"
|
||||
SOGoTrashFolderName: "Trash"
|
||||
SOGoIMAPServer: "localhost"
|
||||
SOGoSieveServer: ""
|
||||
SOGoMailDomain: "example.com"
|
||||
SOGoMailingMechanism: "smtp"
|
||||
SOGoSMTPServer: "smtp://domain:port"
|
||||
SOGoForceExternalLoginWithEmail: false
|
||||
SOGoMailSpoolPath: "/var/spool/sogo"
|
||||
NGMimeBuildMimeTempDirectory: "/mimetmp"
|
||||
# -- Pre-configured Sogo notifications settings
|
||||
notifications:
|
||||
SOGoAppointmentSendEMailNotifications: false
|
||||
SOGoACLsSendEMailNotifications: false
|
||||
SOGoFoldersSendEMailNotifications: false
|
||||
# -- Pre-configured general Sogo settings
|
||||
general:
|
||||
SOGoLanguage: "English"
|
||||
SOGoSuperUsernames: ""
|
||||
SxVMemLimit: "384"
|
||||
# -- Pre-configured Sogo authentication settings
|
||||
auth:
|
||||
SOGoPasswordChangeEnabled: true
|
||||
# -- Sogo usersources
|
||||
usersources: []
|
||||
# - type: "ldap"
|
||||
# CNFieldName: "cn"
|
||||
# UIDFieldName: "uid"
|
||||
# IDFieldName: "uid"
|
||||
# bindFields: "(uid, mail)"
|
||||
# baseDN: "ou=users,dc=acme,dc=com"
|
||||
# bindDN: "uid=sogo,ou=users,dc=acme,dc=com"
|
||||
# bindPassword: "qwerty"
|
||||
# canAuthenticate: true
|
||||
# displayName: "Shared Addresses"
|
||||
# hostname: "ldap://127.0.0.1:389"
|
||||
# id: "public"
|
||||
# isAddressBook: true
|
||||
# custom:
|
||||
# - name: name-of-ldap-setting
|
||||
# value: somevalue
|
||||
#
|
||||
# - type: "sql"
|
||||
# id: "directory"
|
||||
# viewURL: "postgresql://sogo:sogo@127.0.0.1:5432/sogo/sogo_view"
|
||||
# canAuthenticate: true
|
||||
# isAddressBook: true
|
||||
# userPasswordAlgorithm: "md5"
|
||||
# custom:
|
||||
# - name: name-of-sql-setting
|
||||
# value: somevalue
|
||||
|
||||
# -- Pre-configured Sogo debug settings
|
||||
debug:
|
||||
SOGoDebugRequests: false
|
||||
SoDebugBaseURL: false
|
||||
LDAPDebugEnabled: false
|
||||
ImapDebugEnabled: false
|
||||
PGDebugEnabled: false
|
||||
MySQL4DebugEnabled: false
|
||||
SOGoUIxDebugEnabled: false
|
||||
WODontZipResponse: false
|
||||
WOLogFile: "/var/log/sogo/sogo.log"
|
||||
# -- Pre-configured Sogo webui settings
|
||||
webui:
|
||||
SOGoPageTitle: "SOGo"
|
||||
SOGoVacationEnabled: true
|
||||
SOGoForwardEnabled: true
|
||||
SOGoSieveScriptsEnabled: true
|
||||
SOGoMailAuxiliaryUserAccountsEnabled: true
|
||||
SOGoTrustProxyAuthentication: false
|
||||
SOGoXSRFValidationEnabled: true
|
||||
# -- custom Sogo setting arguments
|
||||
custom: []
|
||||
# - name: SOGoPageTitle
|
||||
# value: "somevalue"
|
|
@ -1,12 +0,0 @@
|
|||
dependencies:
|
||||
- name: common
|
||||
repository: https://truecharts.org/
|
||||
version: 6.13.7
|
||||
- name: postgresql
|
||||
repository: https://truecharts.org/
|
||||
version: 1.6.1
|
||||
- name: memcached
|
||||
repository: https://charts.bitnami.com/bitnami
|
||||
version: 5.14.2
|
||||
digest: sha256:cacb0024ee596935c01beb9b1c32ae93018ed54fa0c9eacb8d54f8f78fb335f1
|
||||
generated: "2021-09-06T17:39:25.750721872Z"
|
|
@ -1,30 +0,0 @@
|
|||
apiVersion: v2
|
||||
appVersion: auto
|
||||
dependencies:
|
||||
- name: common
|
||||
repository: https://truecharts.org/
|
||||
version: 6.13.7
|
||||
- condition: postgresql.enabled
|
||||
name: postgresql
|
||||
repository: https://truecharts.org/
|
||||
version: 1.6.1
|
||||
- condition: memcached.enabled
|
||||
name: memcached
|
||||
repository: https://charts.bitnami.com/bitnami
|
||||
version: 5.14.2
|
||||
deprecated: false
|
||||
description: Groupware package
|
||||
home: https://github.com/truecharts/apps/tree/master/charts/stable/sogo
|
||||
icon: https://truecharts.org/_static/img/sogo-icon.png
|
||||
keywords:
|
||||
- groupware
|
||||
kubeVersion: '>=1.16.0-0'
|
||||
maintainers:
|
||||
- email: info@truecharts.org
|
||||
name: TrueCharts
|
||||
url: truecharts.org
|
||||
name: sogo
|
||||
sources:
|
||||
- https://www.sogo.nu/
|
||||
type: application
|
||||
version: 1.0.0
|
|
@ -1 +0,0 @@
|
|||
Groupware package
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -1,42 +0,0 @@
|
|||
##
|
||||
# This file contains Values.yaml content that gets added to the output of questions.yaml
|
||||
# It's ONLY meant for content that the user is NOT expected to change.
|
||||
# Example: Everything under "image" is not included in questions.yaml but is included here.
|
||||
##
|
||||
image:
|
||||
repository: ghcr.io/truecharts/sogo
|
||||
pullPolicy: IfNotPresent
|
||||
tag: "v5.2.0"
|
||||
|
||||
initContainers:
|
||||
- name: init-postgresdb
|
||||
image: postgres:13.1
|
||||
command:
|
||||
- "sh"
|
||||
- "-c"
|
||||
- "until pg_isready -U sogo -h ${pghost} ; do sleep 2 ; done"
|
||||
imagePullPolicy: IfNotPresent
|
||||
env:
|
||||
- name: pghost
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: dbcreds
|
||||
key: plainhost
|
||||
|
||||
|
||||
# Enabled postgres
|
||||
postgresql:
|
||||
enabled: true
|
||||
postgresqlUsername: sogo
|
||||
postgresqlDatabase: sogo
|
||||
existingSecret: dbcreds
|
||||
|
||||
# -- memcached dependency settings
|
||||
memcached:
|
||||
enabled: true
|
||||
|
||||
|
||||
##
|
||||
# Most other defaults are set in questions.yaml
|
||||
# For other options please refer to the wiki, default_values.yaml or the common library chart
|
||||
##
|
File diff suppressed because it is too large
Load Diff
|
@ -1,154 +0,0 @@
|
|||
{{/* Define the configmap */}}
|
||||
{{- define "sogo.config" -}}
|
||||
---
|
||||
|
||||
apiVersion: v1
|
||||
kind: Secret
|
||||
metadata:
|
||||
labels:
|
||||
{{- include "common.labels" . | nindent 4 }}
|
||||
name: dbcreds
|
||||
{{- $dbprevious := lookup "v1" "Secret" .Release.Namespace "dbcreds" }}
|
||||
{{- $dbPass := "" }}
|
||||
data:
|
||||
{{- if $dbprevious }}
|
||||
{{- $dbPass = ( index $dbprevious.data "postgresql-password" ) | b64dec }}
|
||||
postgresql-password: {{ ( index $dbprevious.data "postgresql-password" ) }}
|
||||
postgresql-postgres-password: {{ ( index $dbprevious.data "postgresql-postgres-password" ) }}
|
||||
{{- else }}
|
||||
{{- $dbPass = randAlphaNum 50 }}
|
||||
postgresql-password: {{ $dbPass | b64enc | quote }}
|
||||
postgresql-postgres-password: {{ randAlphaNum 50 | b64enc | quote }}
|
||||
{{- end }}
|
||||
{{- $url := printf "%v%v:%v@%v-%v:%v/%v" "postgresql://" .Values.postgresql.postgresqlUsername $dbPass .Release.Name "postgresql" "5432" .Values.postgresql.postgresqlDatabase }}
|
||||
url: {{ $url | b64enc | quote }}
|
||||
plainhost: {{ ( printf "%v-%v" .Release.Name "postgresql" ) | b64enc | quote }}
|
||||
type: Opaque
|
||||
|
||||
---
|
||||
|
||||
apiVersion: v1
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
name: sogo-config
|
||||
data:
|
||||
sogo.conf: |
|
||||
{
|
||||
/* ********************* Main SOGo configuration file **********************
|
||||
* *
|
||||
* Since the content of this file is a dictionary in OpenStep plist format, *
|
||||
* the curly braces enclosing the body of the configuration are mandatory. *
|
||||
* See the Installation Guide for details on the format. *
|
||||
* *
|
||||
* C and C++ style comments are supported. *
|
||||
* *
|
||||
* This example configuration contains only a subset of all available *
|
||||
* configuration parameters. Please see the installation guide more details. *
|
||||
* *
|
||||
* ~sogo/GNUstep/Defaults/.GNUstepDefaults has precedence over this file, *
|
||||
* make sure to move it away to avoid unwanted parameter overrides. *
|
||||
* *
|
||||
* **************************************************************************/
|
||||
|
||||
/* Database configuration (mysql:// or postgresql://) */
|
||||
SOGoProfileURL = "{{ $url }}/sogo_user_profile";
|
||||
OCSFolderInfoURL = "{{ $url }}/sogo_folder_info";
|
||||
OCSSessionsFolderURL = "{{ $url }}/sogo_sessions_folder";
|
||||
|
||||
/* Mail */
|
||||
SOGoDraftsFolderName = {{ .Values.sogo.mail.SOGoDraftsFolderName | default "Drafts" }};
|
||||
SOGoSentFolderName = {{ .Values.sogo.mail.SOGoSentFolderName | default "Sent" }};
|
||||
SOGoTrashFolderName = {{ .Values.sogo.mail.SOGoTrashFolderName | default "Trash" }};
|
||||
SOGoIMAPServer = {{ .Values.sogo.mail.SOGoIMAPServer | default "localhost" }};
|
||||
{{- if .Values.sogo.mail.SOGoSieveServer}}
|
||||
SOGoSieveServer = {{ .Values.sogo.mail.SOGoSieveServer | default "sieve://127.0.0.1:4190" }};
|
||||
{{- end }}
|
||||
SOGoMailDomain = {{ .Values.sogo.mail.SOGoMailDomain | default "acme.com" }};
|
||||
SOGoMailingMechanism = {{ .Values.sogo.mail.SOGoMailingMechanism | default "smtp" }};
|
||||
{{- if eq .Values.sogo.mail.SOGoMailingMechanism "smtp" }}
|
||||
SOGoSMTPServer = {{ .Values.sogo.mail.SOGoSMTPServer | default "smtp://domain:port/?tls=YES" }};
|
||||
{{- end }}
|
||||
SOGoForceExternalLoginWithEmail = {{ if .Values.sogo.mail.SOGoForceExternalLoginWithEmail }}"YES"{{ else }}"NO"{{ end }};
|
||||
SOGoMailSpoolPath = {{ ( .Values.sogo.mail.SOGoMailSpoolPath | default "/var/spool/sogo") | quote }};
|
||||
NGMimeBuildMimeTempDirectory = {{ ( .Values.sogo.mail.NGMimeBuildMimeTempDirectory | default "/mimetmp") | quote }};
|
||||
|
||||
/* Notifications */
|
||||
SOGoAppointmentSendEMailNotifications = {{ if .Values.sogo.notifications.SOGoAppointmentSendEMailNotifications }}"YES"{{ else }}"NO"{{ end }};
|
||||
SOGoACLsSendEMailNotifications = {{ if .Values.sogo.notifications.SOGoACLsSendEMailNotifications }}"YES"{{ else }}"NO"{{ end }};
|
||||
SOGoFoldersSendEMailNotifications = {{ if .Values.sogo.notifications.SOGoFoldersSendEMailNotifications }}"YES"{{ else }}"NO"{{ end }};
|
||||
|
||||
/* Authentication */
|
||||
SOGoPasswordChangeEnabled = {{ if .Values.sogo.auth.SOGoPasswordChangeEnabled }}"YES"{{ else }}"NO"{{ end }};
|
||||
|
||||
/* User Sources */
|
||||
{{- if .Values.sogo.usersources }}
|
||||
SOGoUserSources = (
|
||||
{{- range $index, $value := .Values.sogo.usersources }}
|
||||
{
|
||||
type = {{ $value.type | default "LDAP" }};
|
||||
{{- if eq $value.type "LDAP" }}
|
||||
CNFieldName = {{ $value.CNFieldName | default "cn" }};
|
||||
UIDFieldName = {{ $value.UIDFieldName | default "uid" }};
|
||||
IDFieldName = {{ $value.IDFieldName | default "uid" }}; // first field of the DN for direct binds
|
||||
bindFields = {{ $value.bindFields | default "(uid, mail)" }}; // array of fields to use for indirect binds
|
||||
baseDN = {{ ( $value.baseDN | default "ou=users,dc=acme,dc=com" ) | quote }};
|
||||
bindDN = {{ ( $value.bindDN | default "uid=sogo,ou=users,dc=acme,dc=com" ) | quote }};
|
||||
bindPassword = {{ $value.bindPassword | default "qwerty" }};
|
||||
canAuthenticate = {{ if $value.canAuthenticate }}"YES"{{ else }}"NO"{{ end }};
|
||||
displayName = {{ ( $value.displayName | default "Shared Addresses" ) | quote }};
|
||||
hostname = {{ $value.hostname | default "ldap://127.0.0.1:389" }};
|
||||
id = {{ $value.id | default "public" }};
|
||||
isAddressBook = {{ if $value.isAddressBook }}"YES"{{ else }}"NO"{{ end }};
|
||||
{{- else if eq $value.type "SQL" }}
|
||||
id = {{ $value.sql.id | default "directory" }};
|
||||
viewURL = {{ ( $value.sql.viewURL | default "postgresql://sogo:sogo@127.0.0.1:5432/sogo/sogo_view" ) | quote }};
|
||||
canAuthenticate = {{ if $value.sql.canAuthenticate }}"YES"{{ else }}"NO"{{ end }};
|
||||
isAddressBook = {{ if $value.sql.isAddressBook }}"YES"{{ else }}"NO"{{ end }};
|
||||
userPasswordAlgorithm = {{ $value.sql.userPasswordAlgorithm | default "md5" }};
|
||||
{{- end }}
|
||||
{{- range $value.custom }}
|
||||
{{ .name }} = {{ .value }};
|
||||
{{- end }}
|
||||
{{- if $index }}
|
||||
}
|
||||
{{- else }}
|
||||
},
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
);
|
||||
{{- end }}
|
||||
|
||||
/* Web Interface */
|
||||
SOGoPageTitle = {{ .Values.sogo.webui.SOGoPageTitle | default "SOGo" }};
|
||||
SOGoVacationEnabled = {{ if .Values.sogo.webui.SOGoVacationEnabled }}"YES"{{ else }}"NO"{{ end }};
|
||||
SOGoForwardEnabled = {{ if .Values.sogo.webui.SOGoForwardEnabled }}"YES"{{ else }}"NO"{{ end }};
|
||||
SOGoSieveScriptsEnabled = {{ if .Values.sogo.webui.SOGoSieveScriptsEnabled }}"YES"{{ else }}"NO"{{ end }};
|
||||
SOGoMailAuxiliaryUserAccountsEnabled = {{ if .Values.sogo.webui.SOGoMailAuxiliaryUserAccountsEnabled }}"YES"{{ else }}"NO"{{ end }};
|
||||
SOGoTrustProxyAuthentication = {{ if .Values.sogo.webui.SOGoTrustProxyAuthentication }}"YES"{{ else }}"NO"{{ end }};
|
||||
SOGoXSRFValidationEnabled = {{ if .Values.sogo.webui.SOGoXSRFValidationEnabled }}"YES"{{ else }}"NO"{{ end }};
|
||||
|
||||
/* General - SOGoTimeZone *MUST* be defined */
|
||||
SOGoLanguage = {{ .Values.sogo.general.SOGoLanguage | default "English" }};
|
||||
SOGoTimeZone = {{ .Values.env.TZ | default "America/Montreal" }};
|
||||
SOGoSuperUsernames = ({{ .Values.sogo.general.SOGoSuperUsernames | default "" }}); // This is an array - keep the parens!
|
||||
SxVMemLimit = {{ .Values.sogo.general.SxVMemLimit | default "384" }};
|
||||
SOGoMemcachedHost = {{ ( printf "%v-%v" .Release.Name "memcached" ) | quote }};
|
||||
|
||||
/* Debug */
|
||||
SOGoDebugRequests = {{ if .Values.sogo.debug.SOGoDebugRequests }}"YES"{{ else }}"NO"{{ end }};
|
||||
SoDebugBaseURL = {{ if .Values.sogo.debug.SoDebugBaseURL }}"YES"{{ else }}"NO"{{ end }};
|
||||
ImapDebugEnabled = {{ if .Values.sogo.debug.ImapDebugEnabled }}"YES"{{ else }}"NO"{{ end }};
|
||||
LDAPDebugEnabled = {{ if .Values.sogo.debug.LDAPDebugEnabled }}"YES"{{ else }}"NO"{{ end }};
|
||||
PGDebugEnabled = {{ if .Values.sogo.debug.PGDebugEnabled }}"YES"{{ else }}"NO"{{ end }};
|
||||
MySQL4DebugEnabled = {{ if .Values.sogo.debug.MySQL4DebugEnabled }}"YES"{{ else }}"NO"{{ end }};
|
||||
SOGoUIxDebugEnabled = {{ if .Values.sogo.debug.SOGoUIxDebugEnabled }}"YES"{{ else }}"NO"{{ end }};
|
||||
WODontZipResponse = {{ if .Values.sogo.debug.WODontZipResponse }}"YES"{{ else }}"NO"{{ end }};
|
||||
WOLogFile = {{ ( .Values.sogo.debug.WOLogFile | default "/var/log/sogo/sogo.log" ) | quote }};
|
||||
}
|
||||
|
||||
/* Custom Arguments added by user */
|
||||
{{- range .Values.sogo.custom }}
|
||||
{{ .name }} = {{ .value }};
|
||||
{{- end }}
|
||||
|
||||
{{- end -}}
|
|
@ -1,26 +0,0 @@
|
|||
{{/* Make sure all variables are set properly */}}
|
||||
{{- include "common.values.setup" . }}
|
||||
|
||||
{{/* Render config and secrets for sogo */}}
|
||||
{{- include "sogo.config" . }}
|
||||
|
||||
{{/* Append the general configMap volume to the volumes */}}
|
||||
{{- define "sogo.configmapVolume" -}}
|
||||
enabled: "true"
|
||||
mountPath: "/etc/sogo/sogo.conf"
|
||||
readOnly: true
|
||||
subPath: sogo.conf
|
||||
type: "custom"
|
||||
volumeSpec:
|
||||
configMap:
|
||||
name: sogo-config
|
||||
items:
|
||||
- key: sogo.conf
|
||||
path: sogo.conf
|
||||
{{- end -}}
|
||||
|
||||
{{- $_ := set .Values.persistence "sogo-config" (include "sogo.configmapVolume" . | fromYaml) -}}
|
||||
|
||||
|
||||
{{/* Render the templates */}}
|
||||
{{ include "common.all" . }}
|
|
@ -1,142 +0,0 @@
|
|||
# Default values for Bitwarden.
|
||||
image:
|
||||
repository: ghcr.io/truecharts/sogo
|
||||
pullPolicy: IfNotPresent
|
||||
tag: "v5.2.0"
|
||||
|
||||
# -- services
|
||||
service:
|
||||
main:
|
||||
ports:
|
||||
main:
|
||||
port: 80
|
||||
|
||||
# -- initcontainers
|
||||
initContainers:
|
||||
# -- wait for database before starting sogo
|
||||
- name: init-postgresdb
|
||||
image: postgres:13.1
|
||||
command:
|
||||
- "sh"
|
||||
- "-c"
|
||||
- "until pg_isready -U sogo -h ${pghost} ; do sleep 2 ; done"
|
||||
imagePullPolicy: IfNotPresent
|
||||
env:
|
||||
- name: pghost
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: dbcreds
|
||||
key: plainhost
|
||||
|
||||
# -- persistence settings
|
||||
persistence:
|
||||
data:
|
||||
enabled: true
|
||||
mountPath: "/data/conf/sogo/"
|
||||
type: pvc
|
||||
accessMode: ReadWriteOnce
|
||||
size: "100Gi"
|
||||
drafts:
|
||||
enabled: true
|
||||
mountPath: "/var/spool/sogo"
|
||||
type: pvc
|
||||
accessMode: ReadWriteOnce
|
||||
size: "100Gi"
|
||||
mimetmp:
|
||||
enabled: true
|
||||
mountPath: "/mimetmp"
|
||||
type: emptyDir
|
||||
|
||||
|
||||
# -- postgres dependency settings
|
||||
postgresql:
|
||||
enabled: true
|
||||
postgresqlUsername: sogo
|
||||
postgresqlDatabase: sogo
|
||||
existingSecret: dbcreds
|
||||
|
||||
# -- memcached dependency settings
|
||||
memcached:
|
||||
enabled: true
|
||||
|
||||
# -- Sogo settings
|
||||
sogo:
|
||||
# -- Pre-configured Sogo mail settings
|
||||
mail:
|
||||
SOGoDraftsFolderName: "Drafts"
|
||||
SOGoSentFolderName: "Sent"
|
||||
SOGoTrashFolderName: "Trash"
|
||||
SOGoIMAPServer: "localhost"
|
||||
SOGoSieveServer: ""
|
||||
SOGoMailDomain: "example.com"
|
||||
SOGoMailingMechanism: "smtp"
|
||||
SOGoSMTPServer: "smtp://domain:port"
|
||||
SOGoForceExternalLoginWithEmail: false
|
||||
SOGoMailSpoolPath: "/var/spool/sogo"
|
||||
NGMimeBuildMimeTempDirectory: "/mimetmp"
|
||||
# -- Pre-configured Sogo notifications settings
|
||||
notifications:
|
||||
SOGoAppointmentSendEMailNotifications: false
|
||||
SOGoACLsSendEMailNotifications: false
|
||||
SOGoFoldersSendEMailNotifications: false
|
||||
# -- Pre-configured general Sogo settings
|
||||
general:
|
||||
SOGoLanguage: "English"
|
||||
SOGoSuperUsernames: ""
|
||||
SxVMemLimit: "384"
|
||||
# -- Pre-configured Sogo authentication settings
|
||||
auth:
|
||||
SOGoPasswordChangeEnabled: true
|
||||
# -- Sogo usersources
|
||||
usersources: []
|
||||
# - type: "ldap"
|
||||
# CNFieldName: "cn"
|
||||
# UIDFieldName: "uid"
|
||||
# IDFieldName: "uid"
|
||||
# bindFields: "(uid, mail)"
|
||||
# baseDN: "ou=users,dc=acme,dc=com"
|
||||
# bindDN: "uid=sogo,ou=users,dc=acme,dc=com"
|
||||
# bindPassword: "qwerty"
|
||||
# canAuthenticate: true
|
||||
# displayName: "Shared Addresses"
|
||||
# hostname: "ldap://127.0.0.1:389"
|
||||
# id: "public"
|
||||
# isAddressBook: true
|
||||
# custom:
|
||||
# - name: name-of-ldap-setting
|
||||
# value: somevalue
|
||||
#
|
||||
# - type: "sql"
|
||||
# id: "directory"
|
||||
# viewURL: "postgresql://sogo:sogo@127.0.0.1:5432/sogo/sogo_view"
|
||||
# canAuthenticate: true
|
||||
# isAddressBook: true
|
||||
# userPasswordAlgorithm: "md5"
|
||||
# custom:
|
||||
# - name: name-of-sql-setting
|
||||
# value: somevalue
|
||||
|
||||
# -- Pre-configured Sogo debug settings
|
||||
debug:
|
||||
SOGoDebugRequests: false
|
||||
SoDebugBaseURL: false
|
||||
LDAPDebugEnabled: false
|
||||
ImapDebugEnabled: false
|
||||
PGDebugEnabled: false
|
||||
MySQL4DebugEnabled: false
|
||||
SOGoUIxDebugEnabled: false
|
||||
WODontZipResponse: false
|
||||
WOLogFile: "/var/log/sogo/sogo.log"
|
||||
# -- Pre-configured Sogo webui settings
|
||||
webui:
|
||||
SOGoPageTitle: "SOGo"
|
||||
SOGoVacationEnabled: true
|
||||
SOGoForwardEnabled: true
|
||||
SOGoSieveScriptsEnabled: true
|
||||
SOGoMailAuxiliaryUserAccountsEnabled: true
|
||||
SOGoTrustProxyAuthentication: false
|
||||
SOGoXSRFValidationEnabled: true
|
||||
# -- custom Sogo setting arguments
|
||||
custom: []
|
||||
# - name: SOGoPageTitle
|
||||
# value: "somevalue"
|
|
@ -1,12 +0,0 @@
|
|||
dependencies:
|
||||
- name: common
|
||||
repository: https://truecharts.org/
|
||||
version: 6.13.7
|
||||
- name: postgresql
|
||||
repository: https://truecharts.org/
|
||||
version: 1.6.1
|
||||
- name: memcached
|
||||
repository: https://charts.bitnami.com/bitnami
|
||||
version: 5.14.2
|
||||
digest: sha256:cacb0024ee596935c01beb9b1c32ae93018ed54fa0c9eacb8d54f8f78fb335f1
|
||||
generated: "2021-09-06T21:37:28.882008472Z"
|
|
@ -1,30 +0,0 @@
|
|||
apiVersion: v2
|
||||
appVersion: auto
|
||||
dependencies:
|
||||
- name: common
|
||||
repository: https://truecharts.org/
|
||||
version: 6.13.7
|
||||
- condition: postgresql.enabled
|
||||
name: postgresql
|
||||
repository: https://truecharts.org/
|
||||
version: 1.6.1
|
||||
- condition: memcached.enabled
|
||||
name: memcached
|
||||
repository: https://charts.bitnami.com/bitnami
|
||||
version: 5.14.2
|
||||
deprecated: false
|
||||
description: Groupware package
|
||||
home: https://github.com/truecharts/apps/tree/master/charts/stable/sogo
|
||||
icon: https://truecharts.org/_static/img/sogo-icon.png
|
||||
keywords:
|
||||
- groupware
|
||||
kubeVersion: '>=1.16.0-0'
|
||||
maintainers:
|
||||
- email: info@truecharts.org
|
||||
name: TrueCharts
|
||||
url: truecharts.org
|
||||
name: sogo
|
||||
sources:
|
||||
- https://www.sogo.nu/
|
||||
type: application
|
||||
version: 1.0.1
|
|
@ -1 +0,0 @@
|
|||
Groupware package
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -1,42 +0,0 @@
|
|||
##
|
||||
# This file contains Values.yaml content that gets added to the output of questions.yaml
|
||||
# It's ONLY meant for content that the user is NOT expected to change.
|
||||
# Example: Everything under "image" is not included in questions.yaml but is included here.
|
||||
##
|
||||
image:
|
||||
repository: ghcr.io/truecharts/sogo
|
||||
pullPolicy: IfNotPresent
|
||||
tag: "v5.2.0"
|
||||
|
||||
initContainers:
|
||||
- name: init-postgresdb
|
||||
image: postgres:13.1
|
||||
command:
|
||||
- "sh"
|
||||
- "-c"
|
||||
- "until pg_isready -U sogo -h ${pghost} ; do sleep 2 ; done"
|
||||
imagePullPolicy: IfNotPresent
|
||||
env:
|
||||
- name: pghost
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: dbcreds
|
||||
key: plainhost
|
||||
|
||||
|
||||
# Enabled postgres
|
||||
postgresql:
|
||||
enabled: true
|
||||
postgresqlUsername: sogo
|
||||
postgresqlDatabase: sogo
|
||||
existingSecret: dbcreds
|
||||
|
||||
# -- memcached dependency settings
|
||||
memcached:
|
||||
enabled: true
|
||||
|
||||
|
||||
##
|
||||
# Most other defaults are set in questions.yaml
|
||||
# For other options please refer to the wiki, default_values.yaml or the common library chart
|
||||
##
|
File diff suppressed because it is too large
Load Diff
|
@ -1,154 +0,0 @@
|
|||
{{/* Define the configmap */}}
|
||||
{{- define "sogo.config" -}}
|
||||
---
|
||||
|
||||
apiVersion: v1
|
||||
kind: Secret
|
||||
metadata:
|
||||
labels:
|
||||
{{- include "common.labels" . | nindent 4 }}
|
||||
name: dbcreds
|
||||
{{- $dbprevious := lookup "v1" "Secret" .Release.Namespace "dbcreds" }}
|
||||
{{- $dbPass := "" }}
|
||||
data:
|
||||
{{- if $dbprevious }}
|
||||
{{- $dbPass = ( index $dbprevious.data "postgresql-password" ) | b64dec }}
|
||||
postgresql-password: {{ ( index $dbprevious.data "postgresql-password" ) }}
|
||||
postgresql-postgres-password: {{ ( index $dbprevious.data "postgresql-postgres-password" ) }}
|
||||
{{- else }}
|
||||
{{- $dbPass = randAlphaNum 50 }}
|
||||
postgresql-password: {{ $dbPass | b64enc | quote }}
|
||||
postgresql-postgres-password: {{ randAlphaNum 50 | b64enc | quote }}
|
||||
{{- end }}
|
||||
{{- $url := printf "%v%v:%v@%v-%v:%v/%v" "postgresql://" .Values.postgresql.postgresqlUsername $dbPass .Release.Name "postgresql" "5432" .Values.postgresql.postgresqlDatabase }}
|
||||
url: {{ $url | b64enc | quote }}
|
||||
plainhost: {{ ( printf "%v-%v" .Release.Name "postgresql" ) | b64enc | quote }}
|
||||
type: Opaque
|
||||
|
||||
---
|
||||
|
||||
apiVersion: v1
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
name: sogo-config
|
||||
data:
|
||||
sogo.conf: |
|
||||
{
|
||||
/* ********************* Main SOGo configuration file **********************
|
||||
* *
|
||||
* Since the content of this file is a dictionary in OpenStep plist format, *
|
||||
* the curly braces enclosing the body of the configuration are mandatory. *
|
||||
* See the Installation Guide for details on the format. *
|
||||
* *
|
||||
* C and C++ style comments are supported. *
|
||||
* *
|
||||
* This example configuration contains only a subset of all available *
|
||||
* configuration parameters. Please see the installation guide more details. *
|
||||
* *
|
||||
* ~sogo/GNUstep/Defaults/.GNUstepDefaults has precedence over this file, *
|
||||
* make sure to move it away to avoid unwanted parameter overrides. *
|
||||
* *
|
||||
* **************************************************************************/
|
||||
|
||||
/* Database configuration (mysql:// or postgresql://) */
|
||||
SOGoProfileURL = "{{ $url }}/sogo_user_profile";
|
||||
OCSFolderInfoURL = "{{ $url }}/sogo_folder_info";
|
||||
OCSSessionsFolderURL = "{{ $url }}/sogo_sessions_folder";
|
||||
|
||||
/* Mail */
|
||||
SOGoDraftsFolderName = {{ .Values.sogo.mail.SOGoDraftsFolderName | default "Drafts" }};
|
||||
SOGoSentFolderName = {{ .Values.sogo.mail.SOGoSentFolderName | default "Sent" }};
|
||||
SOGoTrashFolderName = {{ .Values.sogo.mail.SOGoTrashFolderName | default "Trash" }};
|
||||
SOGoIMAPServer = {{ .Values.sogo.mail.SOGoIMAPServer | default "localhost" }};
|
||||
{{- if .Values.sogo.mail.SOGoSieveServer}}
|
||||
SOGoSieveServer = {{ .Values.sogo.mail.SOGoSieveServer | default "sieve://127.0.0.1:4190" }};
|
||||
{{- end }}
|
||||
SOGoMailDomain = {{ .Values.sogo.mail.SOGoMailDomain | default "acme.com" }};
|
||||
SOGoMailingMechanism = {{ .Values.sogo.mail.SOGoMailingMechanism | default "smtp" }};
|
||||
{{- if eq .Values.sogo.mail.SOGoMailingMechanism "smtp" }}
|
||||
SOGoSMTPServer = {{ .Values.sogo.mail.SOGoSMTPServer | default "smtp://domain:port/?tls=YES" }};
|
||||
{{- end }}
|
||||
SOGoForceExternalLoginWithEmail = {{ if .Values.sogo.mail.SOGoForceExternalLoginWithEmail }}"YES"{{ else }}"NO"{{ end }};
|
||||
SOGoMailSpoolPath = {{ ( .Values.sogo.mail.SOGoMailSpoolPath | default "/var/spool/sogo") | quote }};
|
||||
NGMimeBuildMimeTempDirectory = {{ ( .Values.sogo.mail.NGMimeBuildMimeTempDirectory | default "/mimetmp") | quote }};
|
||||
|
||||
/* Notifications */
|
||||
SOGoAppointmentSendEMailNotifications = {{ if .Values.sogo.notifications.SOGoAppointmentSendEMailNotifications }}"YES"{{ else }}"NO"{{ end }};
|
||||
SOGoACLsSendEMailNotifications = {{ if .Values.sogo.notifications.SOGoACLsSendEMailNotifications }}"YES"{{ else }}"NO"{{ end }};
|
||||
SOGoFoldersSendEMailNotifications = {{ if .Values.sogo.notifications.SOGoFoldersSendEMailNotifications }}"YES"{{ else }}"NO"{{ end }};
|
||||
|
||||
/* Authentication */
|
||||
SOGoPasswordChangeEnabled = {{ if .Values.sogo.auth.SOGoPasswordChangeEnabled }}"YES"{{ else }}"NO"{{ end }};
|
||||
|
||||
/* User Sources */
|
||||
{{- if .Values.sogo.usersources }}
|
||||
SOGoUserSources = (
|
||||
{{- range $index, $value := .Values.sogo.usersources }}
|
||||
{
|
||||
type = {{ $value.type | default "LDAP" }};
|
||||
{{- if eq $value.type "LDAP" }}
|
||||
CNFieldName = {{ $value.CNFieldName | default "cn" }};
|
||||
UIDFieldName = {{ $value.UIDFieldName | default "uid" }};
|
||||
IDFieldName = {{ $value.IDFieldName | default "uid" }}; // first field of the DN for direct binds
|
||||
bindFields = {{ $value.bindFields | default "(uid, mail)" }}; // array of fields to use for indirect binds
|
||||
baseDN = {{ ( $value.baseDN | default "ou=users,dc=acme,dc=com" ) | quote }};
|
||||
bindDN = {{ ( $value.bindDN | default "uid=sogo,ou=users,dc=acme,dc=com" ) | quote }};
|
||||
bindPassword = {{ $value.bindPassword | default "qwerty" }};
|
||||
canAuthenticate = {{ if $value.canAuthenticate }}"YES"{{ else }}"NO"{{ end }};
|
||||
displayName = {{ ( $value.displayName | default "Shared Addresses" ) | quote }};
|
||||
hostname = {{ $value.hostname | default "ldap://127.0.0.1:389" }};
|
||||
id = {{ $value.id | default "public" }};
|
||||
isAddressBook = {{ if $value.isAddressBook }}"YES"{{ else }}"NO"{{ end }};
|
||||
{{- else if eq $value.type "SQL" }}
|
||||
id = {{ $value.sql.id | default "directory" }};
|
||||
viewURL = {{ ( $value.sql.viewURL | default "postgresql://sogo:sogo@127.0.0.1:5432/sogo/sogo_view" ) | quote }};
|
||||
canAuthenticate = {{ if $value.sql.canAuthenticate }}"YES"{{ else }}"NO"{{ end }};
|
||||
isAddressBook = {{ if $value.sql.isAddressBook }}"YES"{{ else }}"NO"{{ end }};
|
||||
userPasswordAlgorithm = {{ $value.sql.userPasswordAlgorithm | default "md5" }};
|
||||
{{- end }}
|
||||
{{- range $value.custom }}
|
||||
{{ .name }} = {{ .value }};
|
||||
{{- end }}
|
||||
{{- if $index }}
|
||||
}
|
||||
{{- else }}
|
||||
},
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
);
|
||||
{{- end }}
|
||||
|
||||
/* Web Interface */
|
||||
SOGoPageTitle = {{ .Values.sogo.webui.SOGoPageTitle | default "SOGo" }};
|
||||
SOGoVacationEnabled = {{ if .Values.sogo.webui.SOGoVacationEnabled }}"YES"{{ else }}"NO"{{ end }};
|
||||
SOGoForwardEnabled = {{ if .Values.sogo.webui.SOGoForwardEnabled }}"YES"{{ else }}"NO"{{ end }};
|
||||
SOGoSieveScriptsEnabled = {{ if .Values.sogo.webui.SOGoSieveScriptsEnabled }}"YES"{{ else }}"NO"{{ end }};
|
||||
SOGoMailAuxiliaryUserAccountsEnabled = {{ if .Values.sogo.webui.SOGoMailAuxiliaryUserAccountsEnabled }}"YES"{{ else }}"NO"{{ end }};
|
||||
SOGoTrustProxyAuthentication = {{ if .Values.sogo.webui.SOGoTrustProxyAuthentication }}"YES"{{ else }}"NO"{{ end }};
|
||||
SOGoXSRFValidationEnabled = {{ if .Values.sogo.webui.SOGoXSRFValidationEnabled }}"YES"{{ else }}"NO"{{ end }};
|
||||
|
||||
/* General - SOGoTimeZone *MUST* be defined */
|
||||
SOGoLanguage = {{ .Values.sogo.general.SOGoLanguage | default "English" }};
|
||||
SOGoTimeZone = {{ .Values.env.TZ | default "America/Montreal" }};
|
||||
SOGoSuperUsernames = ({{ .Values.sogo.general.SOGoSuperUsernames | default "" }}); // This is an array - keep the parens!
|
||||
SxVMemLimit = {{ .Values.sogo.general.SxVMemLimit | default "384" }};
|
||||
SOGoMemcachedHost = {{ ( printf "%v-%v" .Release.Name "memcached" ) | quote }};
|
||||
|
||||
/* Debug */
|
||||
SOGoDebugRequests = {{ if .Values.sogo.debug.SOGoDebugRequests }}"YES"{{ else }}"NO"{{ end }};
|
||||
SoDebugBaseURL = {{ if .Values.sogo.debug.SoDebugBaseURL }}"YES"{{ else }}"NO"{{ end }};
|
||||
ImapDebugEnabled = {{ if .Values.sogo.debug.ImapDebugEnabled }}"YES"{{ else }}"NO"{{ end }};
|
||||
LDAPDebugEnabled = {{ if .Values.sogo.debug.LDAPDebugEnabled }}"YES"{{ else }}"NO"{{ end }};
|
||||
PGDebugEnabled = {{ if .Values.sogo.debug.PGDebugEnabled }}"YES"{{ else }}"NO"{{ end }};
|
||||
MySQL4DebugEnabled = {{ if .Values.sogo.debug.MySQL4DebugEnabled }}"YES"{{ else }}"NO"{{ end }};
|
||||
SOGoUIxDebugEnabled = {{ if .Values.sogo.debug.SOGoUIxDebugEnabled }}"YES"{{ else }}"NO"{{ end }};
|
||||
WODontZipResponse = {{ if .Values.sogo.debug.WODontZipResponse }}"YES"{{ else }}"NO"{{ end }};
|
||||
WOLogFile = {{ ( .Values.sogo.debug.WOLogFile | default "/var/log/sogo/sogo.log" ) | quote }};
|
||||
}
|
||||
|
||||
/* Custom Arguments added by user */
|
||||
{{- range .Values.sogo.custom }}
|
||||
{{ .name }} = {{ .value }};
|
||||
{{- end }}
|
||||
|
||||
{{- end -}}
|
|
@ -1,26 +0,0 @@
|
|||
{{/* Make sure all variables are set properly */}}
|
||||
{{- include "common.values.setup" . }}
|
||||
|
||||
{{/* Render config and secrets for sogo */}}
|
||||
{{- include "sogo.config" . }}
|
||||
|
||||
{{/* Append the general configMap volume to the volumes */}}
|
||||
{{- define "sogo.configmapVolume" -}}
|
||||
enabled: "true"
|
||||
mountPath: "/etc/sogo/sogo.conf"
|
||||
readOnly: true
|
||||
subPath: sogo.conf
|
||||
type: "custom"
|
||||
volumeSpec:
|
||||
configMap:
|
||||
name: sogo-config
|
||||
items:
|
||||
- key: sogo.conf
|
||||
path: sogo.conf
|
||||
{{- end -}}
|
||||
|
||||
{{- $_ := set .Values.persistence "sogo-config" (include "sogo.configmapVolume" . | fromYaml) -}}
|
||||
|
||||
|
||||
{{/* Render the templates */}}
|
||||
{{ include "common.all" . }}
|
|
@ -1,142 +0,0 @@
|
|||
# Default values for Bitwarden.
|
||||
image:
|
||||
repository: ghcr.io/truecharts/sogo
|
||||
pullPolicy: IfNotPresent
|
||||
tag: "v5.2.0"
|
||||
|
||||
# -- services
|
||||
service:
|
||||
main:
|
||||
ports:
|
||||
main:
|
||||
port: 80
|
||||
|
||||
# -- initcontainers
|
||||
initContainers:
|
||||
# -- wait for database before starting sogo
|
||||
- name: init-postgresdb
|
||||
image: postgres:13.1
|
||||
command:
|
||||
- "sh"
|
||||
- "-c"
|
||||
- "until pg_isready -U sogo -h ${pghost} ; do sleep 2 ; done"
|
||||
imagePullPolicy: IfNotPresent
|
||||
env:
|
||||
- name: pghost
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: dbcreds
|
||||
key: plainhost
|
||||
|
||||
# -- persistence settings
|
||||
persistence:
|
||||
data:
|
||||
enabled: true
|
||||
mountPath: "/data/conf/sogo/"
|
||||
type: pvc
|
||||
accessMode: ReadWriteOnce
|
||||
size: "100Gi"
|
||||
drafts:
|
||||
enabled: true
|
||||
mountPath: "/var/spool/sogo"
|
||||
type: pvc
|
||||
accessMode: ReadWriteOnce
|
||||
size: "100Gi"
|
||||
mimetmp:
|
||||
enabled: true
|
||||
mountPath: "/mimetmp"
|
||||
type: emptyDir
|
||||
|
||||
|
||||
# -- postgres dependency settings
|
||||
postgresql:
|
||||
enabled: true
|
||||
postgresqlUsername: sogo
|
||||
postgresqlDatabase: sogo
|
||||
existingSecret: dbcreds
|
||||
|
||||
# -- memcached dependency settings
|
||||
memcached:
|
||||
enabled: true
|
||||
|
||||
# -- Sogo settings
|
||||
sogo:
|
||||
# -- Pre-configured Sogo mail settings
|
||||
mail:
|
||||
SOGoDraftsFolderName: "Drafts"
|
||||
SOGoSentFolderName: "Sent"
|
||||
SOGoTrashFolderName: "Trash"
|
||||
SOGoIMAPServer: "localhost"
|
||||
SOGoSieveServer: ""
|
||||
SOGoMailDomain: "example.com"
|
||||
SOGoMailingMechanism: "smtp"
|
||||
SOGoSMTPServer: "smtp://domain:port"
|
||||
SOGoForceExternalLoginWithEmail: false
|
||||
SOGoMailSpoolPath: "/var/spool/sogo"
|
||||
NGMimeBuildMimeTempDirectory: "/mimetmp"
|
||||
# -- Pre-configured Sogo notifications settings
|
||||
notifications:
|
||||
SOGoAppointmentSendEMailNotifications: false
|
||||
SOGoACLsSendEMailNotifications: false
|
||||
SOGoFoldersSendEMailNotifications: false
|
||||
# -- Pre-configured general Sogo settings
|
||||
general:
|
||||
SOGoLanguage: "English"
|
||||
SOGoSuperUsernames: ""
|
||||
SxVMemLimit: "384"
|
||||
# -- Pre-configured Sogo authentication settings
|
||||
auth:
|
||||
SOGoPasswordChangeEnabled: true
|
||||
# -- Sogo usersources
|
||||
usersources: []
|
||||
# - type: "ldap"
|
||||
# CNFieldName: "cn"
|
||||
# UIDFieldName: "uid"
|
||||
# IDFieldName: "uid"
|
||||
# bindFields: "(uid, mail)"
|
||||
# baseDN: "ou=users,dc=acme,dc=com"
|
||||
# bindDN: "uid=sogo,ou=users,dc=acme,dc=com"
|
||||
# bindPassword: "qwerty"
|
||||
# canAuthenticate: true
|
||||
# displayName: "Shared Addresses"
|
||||
# hostname: "ldap://127.0.0.1:389"
|
||||
# id: "public"
|
||||
# isAddressBook: true
|
||||
# custom:
|
||||
# - name: name-of-ldap-setting
|
||||
# value: somevalue
|
||||
#
|
||||
# - type: "sql"
|
||||
# id: "directory"
|
||||
# viewURL: "postgresql://sogo:sogo@127.0.0.1:5432/sogo/sogo_view"
|
||||
# canAuthenticate: true
|
||||
# isAddressBook: true
|
||||
# userPasswordAlgorithm: "md5"
|
||||
# custom:
|
||||
# - name: name-of-sql-setting
|
||||
# value: somevalue
|
||||
|
||||
# -- Pre-configured Sogo debug settings
|
||||
debug:
|
||||
SOGoDebugRequests: false
|
||||
SoDebugBaseURL: false
|
||||
LDAPDebugEnabled: false
|
||||
ImapDebugEnabled: false
|
||||
PGDebugEnabled: false
|
||||
MySQL4DebugEnabled: false
|
||||
SOGoUIxDebugEnabled: false
|
||||
WODontZipResponse: false
|
||||
WOLogFile: "/var/log/sogo/sogo.log"
|
||||
# -- Pre-configured Sogo webui settings
|
||||
webui:
|
||||
SOGoPageTitle: "SOGo"
|
||||
SOGoVacationEnabled: true
|
||||
SOGoForwardEnabled: true
|
||||
SOGoSieveScriptsEnabled: true
|
||||
SOGoMailAuxiliaryUserAccountsEnabled: true
|
||||
SOGoTrustProxyAuthentication: false
|
||||
SOGoXSRFValidationEnabled: true
|
||||
# -- custom Sogo setting arguments
|
||||
custom: []
|
||||
# - name: SOGoPageTitle
|
||||
# value: "somevalue"
|
|
@ -1,8 +0,0 @@
|
|||
# Configuration Options
|
||||
|
||||
##### Connecting to other apps
|
||||
If you need to connect this App to other Apps on TrueNAS SCALE, please refer to our "Linking Apps Internally" quick-start guide:
|
||||
https://truecharts.org/manual/Quick-Start%20Guides/14-linking-apps/
|
||||
|
||||
##### Available config options
|
||||
In the future this page is going to contain an automated list of options available in the installation/edit UI.
|
|
@ -1,12 +0,0 @@
|
|||
dependencies:
|
||||
- name: common
|
||||
repository: https://truecharts.org/
|
||||
version: 6.13.7
|
||||
- name: postgresql
|
||||
repository: https://truecharts.org/
|
||||
version: 1.6.1
|
||||
- name: redis
|
||||
repository: https://charts.bitnami.com/bitnami
|
||||
version: 15.3.1
|
||||
digest: sha256:8e1539556c3970833500f4afd64a93b92f3a89d55f215a85a6788408feb3e809
|
||||
generated: "2021-09-06T18:31:50.676542727Z"
|
|
@ -1,41 +0,0 @@
|
|||
apiVersion: v2
|
||||
appVersion: auto
|
||||
dependencies:
|
||||
- name: common
|
||||
repository: https://truecharts.org/
|
||||
version: 6.13.7
|
||||
- condition: postgresql.enabled
|
||||
name: postgresql
|
||||
repository: https://truecharts.org/
|
||||
version: 1.6.1
|
||||
- condition: redis.enabled
|
||||
name: redis
|
||||
repository: https://charts.bitnami.com/bitnami
|
||||
version: 15.3.1
|
||||
deprecated: false
|
||||
description: Authelia is a Single Sign-On Multi-Factor portal for web apps
|
||||
home: https://github.com/truecharts/apps/tree/master/charts/stable/authelia
|
||||
icon: https://avatars2.githubusercontent.com/u/59122411?s=200&v=4
|
||||
keywords:
|
||||
- authelia
|
||||
- authentication
|
||||
- login
|
||||
- SSO
|
||||
- Authentication
|
||||
- Security
|
||||
- Two-Factor
|
||||
- U2F
|
||||
- YubiKey
|
||||
- Push Notifications
|
||||
- LDAP
|
||||
kubeVersion: '>=1.16.0-0'
|
||||
maintainers:
|
||||
- email: info@truecharts.org
|
||||
name: TrueCharts
|
||||
url: truecharts.org
|
||||
name: authelia
|
||||
sources:
|
||||
- https://github.com/authelia/chartrepo
|
||||
- https://github.com/authelia/authelia
|
||||
type: application
|
||||
version: 1.6.22
|
|
@ -1,40 +0,0 @@
|
|||
# Introduction
|
||||
|
||||
Authelia is a Single Sign-On Multi-Factor portal for web apps
|
||||
|
||||
TrueCharts are designed to be installed as TrueNAS SCALE app only. We can not guarantee this charts works as a stand-alone helm installation.
|
||||
**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/apps/issues/new/choose)**
|
||||
|
||||
## Source Code
|
||||
|
||||
* <https://github.com/authelia/chartrepo>
|
||||
* <https://github.com/authelia/authelia>
|
||||
|
||||
## Requirements
|
||||
|
||||
Kubernetes: `>=1.16.0-0`
|
||||
|
||||
## Dependencies
|
||||
|
||||
| Repository | Name | Version |
|
||||
|------------|------|---------|
|
||||
| https://charts.bitnami.com/bitnami | redis | 15.3.1 |
|
||||
| https://truecharts.org/ | common | 6.13.7 |
|
||||
| https://truecharts.org/ | postgresql | 1.6.1 |
|
||||
|
||||
## Installing the Chart
|
||||
|
||||
To install this App on TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/03-Installing-an-App/).
|
||||
|
||||
## Uninstalling the Chart
|
||||
|
||||
To remove this App from TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/manual/Quick-Start%20Guides/07-Deleting-an-App/).
|
||||
|
||||
## Support
|
||||
|
||||
- Please check our [quick-start guides](https://truecharts.org/manual/Quick-Start%20Guides/01-Open-Apps/) first.
|
||||
- See the [Wiki](https://truecharts.org)
|
||||
- Check our [Discord](https://discord.gg/tVsPTHWTtr)
|
||||
- Open a [issue](https://github.com/truecharts/apps/issues/new/choose)
|
||||
---
|
||||
All Rights Reserved - The TrueCharts Project
|
|
@ -1,4 +0,0 @@
|
|||
Authelia is a Single Sign-On Multi-Factor portal for web apps
|
||||
|
||||
This App is supplied by TrueCharts, for more information please visit https://truecharts.org
|
||||
Authelia is a Single Sign-On Multi-Factor portal for web apps
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -1,174 +0,0 @@
|
|||
# Default Helm-Values
|
||||
|
||||
TrueCharts is primarily build to supply TrueNAS SCALE Apps.
|
||||
However, we also supply all Apps as standard Helm-Charts. In this document we aim to document the default values in our values.yaml file.
|
||||
|
||||
Most of our Apps also consume our "common" Helm Chart.
|
||||
If this is the case, this means that all values.yaml values are set to the common chart values.yaml by default. This values.yaml file will only contain values that deviate from the common chart.
|
||||
You will, however, be able to use all values referenced in the common chart here, besides the values listed in this document.
|
||||
|
||||
## Values
|
||||
|
||||
| Key | Type | Default | Description |
|
||||
|-----|------|---------|-------------|
|
||||
| access_control.default_policy | string | `"deny"` | |
|
||||
| access_control.networks | list | `[]` | |
|
||||
| access_control.rules | list | `[]` | |
|
||||
| args[0] | string | `"--config=/configuration.yaml"` | |
|
||||
| authentication_backend.disable_reset_password | bool | `false` | |
|
||||
| authentication_backend.file.enabled | bool | `true` | |
|
||||
| authentication_backend.file.password.algorithm | string | `"argon2id"` | |
|
||||
| authentication_backend.file.password.iterations | int | `1` | |
|
||||
| authentication_backend.file.password.key_length | int | `32` | |
|
||||
| authentication_backend.file.password.memory | int | `1024` | |
|
||||
| authentication_backend.file.password.parallelism | int | `8` | |
|
||||
| authentication_backend.file.password.salt_length | int | `16` | |
|
||||
| authentication_backend.file.path | string | `"/config/users_database.yml"` | |
|
||||
| authentication_backend.ldap.additional_groups_dn | string | `"OU=Groups"` | |
|
||||
| authentication_backend.ldap.additional_users_dn | string | `"OU=Users"` | |
|
||||
| authentication_backend.ldap.base_dn | string | `"DC=example,DC=com"` | |
|
||||
| authentication_backend.ldap.display_name_attribute | string | `""` | |
|
||||
| authentication_backend.ldap.enabled | bool | `false` | |
|
||||
| authentication_backend.ldap.group_name_attribute | string | `""` | |
|
||||
| authentication_backend.ldap.groups_filter | string | `""` | |
|
||||
| authentication_backend.ldap.implementation | string | `"activedirectory"` | |
|
||||
| authentication_backend.ldap.mail_attribute | string | `""` | |
|
||||
| authentication_backend.ldap.plain_password | string | `""` | |
|
||||
| authentication_backend.ldap.start_tls | bool | `false` | |
|
||||
| authentication_backend.ldap.timeout | string | `"5s"` | |
|
||||
| authentication_backend.ldap.tls.minimum_version | string | `"TLS1.2"` | |
|
||||
| authentication_backend.ldap.tls.server_name | string | `""` | |
|
||||
| authentication_backend.ldap.tls.skip_verify | bool | `false` | |
|
||||
| authentication_backend.ldap.url | string | `"ldap://openldap.default.svc.cluster.local"` | |
|
||||
| authentication_backend.ldap.user | string | `"CN=Authelia,DC=example,DC=com"` | |
|
||||
| authentication_backend.ldap.username_attribute | string | `""` | |
|
||||
| authentication_backend.ldap.users_filter | string | `""` | |
|
||||
| authentication_backend.refresh_interval | string | `"5m"` | |
|
||||
| command[0] | string | `"authelia"` | |
|
||||
| default_redirection_url | string | `""` | |
|
||||
| domain | string | `"example.com"` | |
|
||||
| duo_api.enabled | bool | `false` | |
|
||||
| duo_api.hostname | string | `"api-123456789.example.com"` | |
|
||||
| duo_api.integration_key | string | `"ABCDEF"` | |
|
||||
| duo_api.plain_api_key | string | `""` | |
|
||||
| enableServiceLinks | bool | `false` | |
|
||||
| envFrom[0].configMapRef.name | string | `"authelia-paths"` | |
|
||||
| identity_providers.oidc.access_token_lifespan | string | `"1h"` | |
|
||||
| identity_providers.oidc.authorize_code_lifespan | string | `"1m"` | |
|
||||
| identity_providers.oidc.clients | list | `[]` | |
|
||||
| identity_providers.oidc.enable_client_debug_messages | bool | `false` | |
|
||||
| identity_providers.oidc.enabled | bool | `false` | |
|
||||
| identity_providers.oidc.id_token_lifespan | string | `"1h"` | |
|
||||
| identity_providers.oidc.minimum_parameter_entropy | int | `8` | |
|
||||
| identity_providers.oidc.refresh_token_lifespan | string | `"90m"` | |
|
||||
| image.pullPolicy | string | `"IfNotPresent"` | |
|
||||
| image.repository | string | `"ghcr.io/authelia/authelia"` | |
|
||||
| image.tag | string | `"4.30.4"` | |
|
||||
| initContainers[0].command[0] | string | `"sh"` | |
|
||||
| initContainers[0].command[1] | string | `"-c"` | |
|
||||
| initContainers[0].command[2] | string | `"until pg_isready -U authelia -h ${pghost} ; do sleep 2 ; done"` | |
|
||||
| initContainers[0].env[0].name | string | `"pghost"` | |
|
||||
| initContainers[0].env[0].valueFrom.secretKeyRef.key | string | `"plainhost"` | |
|
||||
| initContainers[0].env[0].valueFrom.secretKeyRef.name | string | `"dbcreds"` | |
|
||||
| initContainers[0].image | string | `"postgres:13.1"` | |
|
||||
| initContainers[0].imagePullPolicy | string | `"IfNotPresent"` | |
|
||||
| initContainers[0].name | string | `"init-postgresdb"` | |
|
||||
| log.format | string | `"text"` | |
|
||||
| log.level | string | `"trace"` | |
|
||||
| notifier.disable_startup_check | bool | `false` | |
|
||||
| notifier.filesystem.enabled | bool | `true` | |
|
||||
| notifier.filesystem.filename | string | `"/config/notification.txt"` | |
|
||||
| notifier.smtp.disable_html_emails | bool | `false` | |
|
||||
| notifier.smtp.disable_require_tls | bool | `false` | |
|
||||
| notifier.smtp.enabled | bool | `false` | |
|
||||
| notifier.smtp.enabledSecret | bool | `false` | |
|
||||
| notifier.smtp.host | string | `"smtp.mail.svc.cluster.local"` | |
|
||||
| notifier.smtp.identifier | string | `"localhost"` | |
|
||||
| notifier.smtp.plain_password | string | `"test"` | |
|
||||
| notifier.smtp.port | int | `25` | |
|
||||
| notifier.smtp.sender | string | `"admin@example.com"` | |
|
||||
| notifier.smtp.startup_check_address | string | `"test@authelia.com"` | |
|
||||
| notifier.smtp.subject | string | `"[Authelia] {title}"` | |
|
||||
| notifier.smtp.timeout | string | `"5s"` | |
|
||||
| notifier.smtp.tls.minimum_version | string | `"TLS1.2"` | |
|
||||
| notifier.smtp.tls.server_name | string | `""` | |
|
||||
| notifier.smtp.tls.skip_verify | bool | `false` | |
|
||||
| notifier.smtp.username | string | `"test"` | |
|
||||
| persistence.config.accessMode | string | `"ReadWriteOnce"` | |
|
||||
| persistence.config.enabled | bool | `true` | |
|
||||
| persistence.config.mountPath | string | `"/config"` | |
|
||||
| persistence.config.size | string | `"100Gi"` | |
|
||||
| persistence.config.type | string | `"pvc"` | |
|
||||
| persistence.redismaster.accessMode | string | `"ReadWriteOnce"` | |
|
||||
| persistence.redismaster.enabled | bool | `true` | |
|
||||
| persistence.redismaster.forceName | string | `"redismaster"` | |
|
||||
| persistence.redismaster.noMount | bool | `true` | |
|
||||
| persistence.redismaster.size | string | `"100Gi"` | |
|
||||
| persistence.redismaster.type | string | `"pvc"` | |
|
||||
| podSecurityContext.fsGroup | int | `568` | |
|
||||
| podSecurityContext.runAsGroup | int | `568` | |
|
||||
| podSecurityContext.runAsUser | int | `568` | |
|
||||
| postgresql.enabled | bool | `true` | |
|
||||
| postgresql.existingSecret | string | `"dbcreds"` | |
|
||||
| postgresql.postgresqlDatabase | string | `"authelia"` | |
|
||||
| postgresql.postgresqlUsername | string | `"authelia"` | |
|
||||
| probes.liveness.path | string | `"/api/health\""` | |
|
||||
| probes.liveness.type | string | `"HTTP"` | |
|
||||
| probes.readiness.path | string | `"/api/health"` | |
|
||||
| probes.readiness.type | string | `"HTTP"` | |
|
||||
| probes.startup.path | string | `"/api/health"` | |
|
||||
| probes.startup.type | string | `"HTTP"` | |
|
||||
| redis.architecture | string | `"standalone"` | |
|
||||
| redis.auth.existingSecret | string | `"rediscreds"` | |
|
||||
| redis.auth.existingSecretPasswordKey | string | `"redis-password"` | |
|
||||
| redis.enabled | bool | `true` | |
|
||||
| redis.master.persistence.enabled | bool | `false` | |
|
||||
| redis.master.persistence.existingClaim | string | `"redismaster"` | |
|
||||
| redis.replica.persistence.enabled | bool | `false` | |
|
||||
| redis.replica.replicaCount | int | `0` | |
|
||||
| redis.volumePermissions.enabled | bool | `true` | |
|
||||
| redisProvider.database_index | int | `0` | |
|
||||
| redisProvider.high_availability.enabled | bool | `false` | |
|
||||
| redisProvider.high_availability.enabledSecret | bool | `false` | |
|
||||
| redisProvider.high_availability.nodes | list | `[]` | |
|
||||
| redisProvider.high_availability.route_by_latency | bool | `false` | |
|
||||
| redisProvider.high_availability.route_randomly | bool | `false` | |
|
||||
| redisProvider.high_availability.sentinel_name | string | `"mysentinel"` | |
|
||||
| redisProvider.maximum_active_connections | int | `8` | |
|
||||
| redisProvider.minimum_idle_connections | int | `0` | |
|
||||
| redisProvider.port | int | `6379` | |
|
||||
| redisProvider.tls.enabled | bool | `false` | |
|
||||
| redisProvider.tls.minimum_version | string | `"TLS1.2"` | |
|
||||
| redisProvider.tls.server_name | string | `""` | |
|
||||
| redisProvider.tls.skip_verify | bool | `false` | |
|
||||
| redisProvider.username | string | `""` | |
|
||||
| regulation.ban_time | string | `"5m"` | |
|
||||
| regulation.find_time | string | `"2m"` | |
|
||||
| regulation.max_retries | int | `3` | |
|
||||
| resources.limits | object | `{}` | |
|
||||
| resources.requests | object | `{}` | |
|
||||
| securityContext.allowPrivilegeEscalation | bool | `false` | |
|
||||
| securityContext.privileged | bool | `false` | |
|
||||
| securityContext.readOnlyRootFilesystem | bool | `true` | |
|
||||
| server.path | string | `""` | |
|
||||
| server.port | int | `9091` | |
|
||||
| server.read_buffer_size | int | `4096` | |
|
||||
| server.write_buffer_size | int | `4096` | |
|
||||
| service.main.ports.main.port | int | `9091` | |
|
||||
| session.expiration | string | `"1h"` | |
|
||||
| session.inactivity | string | `"5m"` | |
|
||||
| session.name | string | `"authelia_session"` | |
|
||||
| session.remember_me_duration | string | `"1M"` | |
|
||||
| session.same_site | string | `"lax"` | |
|
||||
| storage.postgres.database | string | `"authelia"` | |
|
||||
| storage.postgres.port | int | `5432` | |
|
||||
| storage.postgres.sslmode | string | `"disable"` | |
|
||||
| storage.postgres.timeout | string | `"5s"` | |
|
||||
| storage.postgres.username | string | `"authelia"` | |
|
||||
| strategy.type | string | `"Recreate"` | |
|
||||
| theme | string | `"light"` | |
|
||||
| totp.issuer | string | `""` | |
|
||||
| totp.period | int | `30` | |
|
||||
| totp.skew | int | `1` | |
|
||||
|
||||
All Rights Reserved - The TrueCharts Project
|
|
@ -1,252 +0,0 @@
|
|||
##
|
||||
# This file contains Values.yaml content that gets added to the output of questions.yaml
|
||||
# It's ONLY meant for content that the user is NOT expected to change.
|
||||
# Example: Everything under "image" is not included in questions.yaml but is included here.
|
||||
##
|
||||
|
||||
image:
|
||||
repository: ghcr.io/authelia/authelia
|
||||
pullPolicy: IfNotPresent
|
||||
tag: "4.30.4"
|
||||
|
||||
enableServiceLinks: false
|
||||
|
||||
command: ["authelia"]
|
||||
args: ["--config=/configuration.yaml"]
|
||||
|
||||
|
||||
initContainers:
|
||||
- name: init-postgresdb
|
||||
image: postgres:13.1
|
||||
command:
|
||||
- "sh"
|
||||
- "-c"
|
||||
- "until pg_isready -U authelia -h ${pghost} ; do sleep 2 ; done"
|
||||
imagePullPolicy: IfNotPresent
|
||||
env:
|
||||
- name: pghost
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: dbcreds
|
||||
key: plainhost
|
||||
|
||||
# Enabled postgres
|
||||
postgresql:
|
||||
enabled: true
|
||||
postgresqlUsername: authelia
|
||||
postgresqlDatabase: authelia
|
||||
existingSecret: dbcreds
|
||||
persistence:
|
||||
db:
|
||||
storageClass: "SCALE-ZFS"
|
||||
dbbackups:
|
||||
storageClass: "SCALE-ZFS"
|
||||
|
||||
# Enabled redis
|
||||
# ... for more options see https://github.com/bitnami/charts/tree/master/bitnami/redis
|
||||
redis:
|
||||
volumePermissions:
|
||||
enabled: true
|
||||
architecture: standalone
|
||||
enabled: true
|
||||
auth:
|
||||
existingSecret: rediscreds
|
||||
existingSecretPasswordKey: redis-password
|
||||
master:
|
||||
persistence:
|
||||
enabled: false
|
||||
existingClaim: redismaster
|
||||
replica:
|
||||
replicaCount: 0
|
||||
persistence:
|
||||
enabled: false
|
||||
|
||||
envFrom:
|
||||
- configMapRef:
|
||||
name: authelia-paths
|
||||
|
||||
probes:
|
||||
liveness:
|
||||
type: HTTP
|
||||
path: /api/health"
|
||||
|
||||
readiness:
|
||||
type: HTTP
|
||||
path: "/api/health"
|
||||
|
||||
startup:
|
||||
type: HTTP
|
||||
path: "/api/health"
|
||||
|
||||
##
|
||||
## Storage Provider Configuration
|
||||
##
|
||||
## The available providers are: `local`, `mysql`, `postgres`. You must use one and only one of these providers.
|
||||
storage:
|
||||
##
|
||||
## PostgreSQL (Storage Provider)
|
||||
##
|
||||
postgres:
|
||||
port: 5432
|
||||
database: authelia
|
||||
username: authelia
|
||||
sslmode: disable
|
||||
timeout: 5s
|
||||
|
||||
##
|
||||
## Server Configuration
|
||||
##
|
||||
server:
|
||||
##
|
||||
## Port sets the configured port for the daemon, service, and the probes.
|
||||
## Default is 9091 and should not need to be changed.
|
||||
##
|
||||
port: 9091
|
||||
|
||||
## Buffers usually should be configured to be the same value.
|
||||
## Explanation at https://www.authelia.com/docs/configuration/server.html
|
||||
## Read buffer size adjusts the server's max incoming request size in bytes.
|
||||
## Write buffer size does the same for outgoing responses.
|
||||
read_buffer_size: 4096
|
||||
write_buffer_size: 4096
|
||||
## Set the single level path Authelia listens on.
|
||||
## Must be alphanumeric chars and should not contain any slashes.
|
||||
path: ""
|
||||
|
||||
##
|
||||
## Redis Provider
|
||||
##
|
||||
## Important: Kubernetes (or HA) users must read https://www.authelia.com/docs/features/statelessness.html
|
||||
##
|
||||
## The redis connection details
|
||||
redisProvider:
|
||||
port: 6379
|
||||
|
||||
## Optional username to be used with authentication.
|
||||
# username: authelia
|
||||
username: ""
|
||||
|
||||
## This is the Redis DB Index https://redis.io/commands/select (sometimes referred to as database number, DB, etc).
|
||||
database_index: 0
|
||||
|
||||
## The maximum number of concurrent active connections to Redis.
|
||||
maximum_active_connections: 8
|
||||
|
||||
## The target number of idle connections to have open ready for work. Useful when opening connections is slow.
|
||||
minimum_idle_connections: 0
|
||||
|
||||
## The Redis TLS configuration. If defined will require a TLS connection to the Redis instance(s).
|
||||
tls:
|
||||
enabled: false
|
||||
|
||||
## Server Name for certificate validation (in case you are using the IP or non-FQDN in the host option).
|
||||
server_name: ""
|
||||
|
||||
## Skip verifying the server certificate (to allow a self-signed certificate).
|
||||
## In preference to setting this we strongly recommend you add the public portion of the certificate to the
|
||||
## certificates directory which is defined by the `certificates_directory` option at the top of the config.
|
||||
skip_verify: false
|
||||
|
||||
## Minimum TLS version for the connection.
|
||||
minimum_version: TLS1.2
|
||||
|
||||
## The Redis HA configuration options.
|
||||
## This provides specific options to Redis Sentinel, sentinel_name must be defined (Master Name).
|
||||
high_availability:
|
||||
enabled: false
|
||||
enabledSecret: false
|
||||
## Sentinel Name / Master Name
|
||||
sentinel_name: mysentinel
|
||||
|
||||
## The additional nodes to pre-seed the redis provider with (for sentinel).
|
||||
## If the host in the above section is defined, it will be combined with this list to connect to sentinel.
|
||||
## For high availability to be used you must have either defined; the host above or at least one node below.
|
||||
nodes: []
|
||||
# nodes:
|
||||
# - host: sentinel-0.databases.svc.cluster.local
|
||||
# port: 26379
|
||||
# - host: sentinel-1.databases.svc.cluster.local
|
||||
# port: 26379
|
||||
|
||||
## Choose the host with the lowest latency.
|
||||
route_by_latency: false
|
||||
|
||||
## Choose the host randomly.
|
||||
route_randomly: false
|
||||
|
||||
identity_providers:
|
||||
oidc:
|
||||
## Enables this in the config map. Currently in beta stage.
|
||||
## See https://www.authelia.com/docs/configuration/identity-providers/oidc.html#roadmap
|
||||
enabled: false
|
||||
|
||||
access_token_lifespan: 1h
|
||||
authorize_code_lifespan: 1m
|
||||
id_token_lifespan: 1h
|
||||
refresh_token_lifespan: 90m
|
||||
|
||||
enable_client_debug_messages: false
|
||||
|
||||
## SECURITY NOTICE: It's not recommended changing this option, and highly discouraged to have it below 8 for
|
||||
## security reasons.
|
||||
minimum_parameter_entropy: 8
|
||||
|
||||
clients: []
|
||||
# clients:
|
||||
# -
|
||||
## The ID is the OpenID Connect ClientID which is used to link an application to a configuration.
|
||||
# id: myapp
|
||||
|
||||
## The description to show to users when they end up on the consent screen. Defaults to the ID above.
|
||||
# description: My Application
|
||||
|
||||
## The client secret is a shared secret between Authelia and the consumer of this client.
|
||||
# secret: apple123
|
||||
|
||||
## Sets the client to public. This should typically not be set, please see the documentation for usage.
|
||||
# public: false
|
||||
|
||||
## The policy to require for this client; one_factor or two_factor.
|
||||
# authorization_policy: two_factor
|
||||
|
||||
## Audience this client is allowed to request.
|
||||
# audience: []
|
||||
|
||||
## Scopes this client is allowed to request.
|
||||
# scopes:
|
||||
# - openid
|
||||
# - profile
|
||||
# - email
|
||||
# - groups
|
||||
|
||||
## Redirect URI's specifies a list of valid case-sensitive callbacks for this client.
|
||||
# redirect_uris:
|
||||
# - https://oidc.example.com/oauth2/callback
|
||||
|
||||
## Grant Types configures which grants this client can obtain.
|
||||
## It's not recommended to configure this unless you know what you're doing.
|
||||
# grant_types:
|
||||
# - refresh_token
|
||||
# - authorization_code
|
||||
|
||||
## Response Types configures which responses this client can be sent.
|
||||
## It's not recommended to configure this unless you know what you're doing.
|
||||
# response_types:
|
||||
# - code
|
||||
|
||||
## Response Modes configures which response modes this client supports.
|
||||
## It's not recommended to configure this unless you know what you're doing.
|
||||
# response_modes:
|
||||
# - form_post
|
||||
# - query
|
||||
# - fragment
|
||||
|
||||
## The algorithm used to sign userinfo endpoint responses for this client, either none or RS256.
|
||||
# userinfo_signing_algorithm: none
|
||||
|
||||
|
||||
|
||||
##
|
||||
# Most other defaults are set in questions.yaml
|
||||
# For other options please refer to the wiki, default_values.yaml or the common library chart
|
||||
##
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue