Page MenuHomePhorge

No OneTemporary

Authored By
Unknown
Size
7 KB
Referenced Files
None
Subscribers
None
diff --git a/helm/templates/roundcube-deployment.yaml b/helm/templates/roundcube-deployment.yaml
index 55b9bd1..7b21157 100644
--- a/helm/templates/roundcube-deployment.yaml
+++ b/helm/templates/roundcube-deployment.yaml
@@ -1,216 +1,218 @@
{{- if and .Values.roundcube.enabled -}}
apiVersion: apps/v1
kind: Deployment
metadata:
annotations:
alpha.image.policy.openshift.io/resolve-names: '*'
labels:
app: roundcube
app.kubernetes.io/name: roundcube
app.kubernetes.io/part-of: kolab-app
name: roundcube
spec:
replicas: {{ .Values.roundcube.replicas }}
revisionHistoryLimit: 10
selector:
matchLabels:
app: roundcube
strategy:
rollingUpdate:
maxSurge: 1
maxUnavailable: 1
type: RollingUpdate
template:
metadata:
annotations:
checksum/config: {{ include (print $.Template.BasePath "/kolab-configmap.yaml") . | sha256sum }}
checksum/secret: {{ include (print $.Template.BasePath "/kolab-secret.yaml") . | sha256sum }}
checksum/mariadb-secret: {{ include (print $.Template.BasePath "/mariadb-secret.yaml") . | sha256sum }}
labels:
app: roundcube
spec:
+{{- if and .Values.openshift }}
# Spread over nodes so source-ip's towards database/imap are distinguishable
topologySpreadConstraints:
- maxSkew: 1
topologyKey: kubernetes.io/hostname
whenUnsatisfiable: DoNotSchedule
labelSelector:
matchLabels:
app: roundcube
+{{- end }}
volumes:
- name: roundcube-data
emptyDir: {}
{{- if .Values.image.pullSecret }}
imagePullSecrets:
- name: registry-pull-secret
{{- end }}
initContainers:
- name: roundcube-db-wait
image: {{ .Values.image.roundcubeImage }}
imagePullPolicy: {{ .Values.image.pullPolicy }}
command:
- bash
- -c
- "until echo 'SELECT 1;' | mysql -u \"$DB_RC_USERNAME\" -p\"$DB_RC_PASSWORD\" -h \"$DB_HOST\" \"$DB_RC_DATABASE\"; do echo waiting for mysql; sleep 2; done"
env:
- name: DB_RC_DATABASE
valueFrom:
secretKeyRef:
key: roundcube-database-name
name: mariadb
- name: DB_RC_USERNAME
valueFrom:
secretKeyRef:
key: roundcube-database-user
name: mariadb
- name: DB_RC_PASSWORD
valueFrom:
secretKeyRef:
key: roundcube-database-password
name: mariadb
- name: DB_HOST
valueFrom:
secretKeyRef:
key: database-host
name: mariadb
containers:
- name: roundcube
image: {{ .Values.image.roundcubeImage }}
imagePullPolicy: {{ .Values.image.pullPolicy }}
resources:
{{- toYaml .Values.roundcube.resources | nindent 10 }}
ports:
- containerPort: 8080
protocol: TCP
terminationMessagePath: /dev/termination-log
terminationMessagePolicy: File
envFrom:
- configMapRef:
name: kolab-config
- secretRef:
name: kolab-config-secret
env:
- name: SKIN
value: "{{ .Values.roundcube.skin }}"
- name: FORCE_SKIN
value: "{{ .Values.roundcube.forceSkin }}"
{{- if .Values.roundcube.productName }}
- name: PRODUCT_NAME
value: "{{ .Values.roundcube.productName }}"
{{- end }}
{{- if .Values.roundcube.supportUrl }}
- name: SUPPORT_URL
value: "{{ .Values.roundcube.supportUrl }}"
{{- end }}
- name: DB_RC_DATABASE
valueFrom:
secretKeyRef:
key: roundcube-database-name
name: mariadb
- name: DB_RC_USERNAME
valueFrom:
secretKeyRef:
key: roundcube-database-user
name: mariadb
- name: DB_RC_PASSWORD
valueFrom:
secretKeyRef:
key: roundcube-database-password
name: mariadb
- name: IMAP_TLS
value: "{{ .Values.imap.tls }}"
- name: SUBMISSION_HOST
value: "{{ .Values.postfix.submissionHost }}"
- name: SUBMISSION_PORT
value: "{{ .Values.postfix.submissionPort }}"
- name: SUBMISSION_ENCRYPTION
value: "{{ .Values.postfix.submissionEncryption }}"
- name: FILEAPI_WOPI_OFFICE
value: "http://collabora"
- name: FILEAPI_KOLABFILES_BASEURI
value: "http://kolab/api"
- name: KOLAB_API_URL
value: "http://kolab"
- name: PER_USER_LOGGING
value: "true"
# - name: KOLAB_API_DEBUG
# value: "true"
- name: ACTIVESYNC_DEBUG
value: "true"
# - name: SQL_DEBUG
# value: "true"
# - name: IMAP_DEBUG
# value: "true"
# - name: DAV_DEBUG
# value: "true"
- name: CALENDAR_CALDAV_SERVER
value: "http://imap/dav"
- name: TASKLIST_CALDAV_SERVER
value: "http://imap/dav"
- name: KOLAB_ADDRESSBOOK_CARDDAV_SERVER
value: "http://imap/dav"
# We have to set the public url, otherwise the generated javascript will contain references to internal urls.
- name: KOLAB_FILES_URL
value: "https://{{ template "kolab.websiteDomain" . }}/chwala/"
- name: KOLAB_FILES_SERVER_URL
value: "http://localhost:8080/chwala/"
- name: FILE_API_URL
value: "https://{{ template "kolab.websiteDomain" . }}/chwala/api/"
- name: FILE_API_SERVER_URL
value: "http://roundcube/chwala/api/"
- name: KOLAB_FREEBUSY_SERVER
value: "http://imap/freebusy/user/%u"
- name: LOG_DRIVER
value: "logfmt"
- name: REDIS_HOST
value: "{{ .Values.redis.host }}"
- name: REDIS_PASSWORD
valueFrom:
secretKeyRef:
key: database-password
name: redis
{{- if .Values.roundcube.disabledPlugins }}
- name: DISABLED_PLUGINS
value: {{ .Values.roundcube.disabledPlugins }}
{{- end }}
{{- if .Values.roundcube.extraPlugins }}
- name: EXTRA_PLUGINS
value: {{ .Values.roundcube.extraPlugins }}
{{- end }}
{{- if .Values.roundcube.extraConfig }}
- name: EXTRA_CONFIG
value: |
{{ .Values.roundcube.extraConfig | nindent 14 }}
{{- end }}
- name: DB_HOST
valueFrom:
secretKeyRef:
key: database-host
name: mariadb
- name: DB_ROOT_PASSWORD
valueFrom:
secretKeyRef:
key: database-root-password
name: mariadb
- name: KOLABOBJECTS_COMPAT_MODE
value: "{{ .Values.roundcube.kolabObjectCompatMode }}"
{{- if .Values.roundcube.kolabObjectCompatMode }}
- name: CALDAV_WELLKNOWN_REDIRECT_PATH
value: "/dav"
- name: CARDDAV_WELLKNOWN_REDIRECT_PATH
value: "/dav"
{{- end }}
- name: OAUTH_TOKEN_URI
value: "http://kolab/oauth/token/"
- name: OAUTH_REDIRECT_URI
value: "https://{{ template "kolab.websiteDomain" . }}{{ .Values.proxy.webmailPath }}/index.php/login/oauth"
- name: KOLAB_HELPDESK_ALLOWED_TASKS
value: "settings"
volumeMounts:
- mountPath: /data
name: roundcube-data
dnsPolicy: ClusterFirst
restartPolicy: Always
schedulerName: default-scheduler
terminationGracePeriodSeconds: 30
{{- end }}

File Metadata

Mime Type
text/x-diff
Expires
Mon, Apr 6, 1:53 AM (1 w, 7 h ago)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
18765831
Default Alt Text
(7 KB)

Event Timeline