diff --git a/charts/docker-mailserver/templates/deployment.yaml b/charts/docker-mailserver/templates/deployment.yaml index 311aeba..83dc7c5 100644 --- a/charts/docker-mailserver/templates/deployment.yaml +++ b/charts/docker-mailserver/templates/deployment.yaml @@ -184,22 +184,28 @@ spec: {{- toYaml . | nindent 12 }} {{- end }} + # check every 10s for startup, 90s for pod restart + startupProbe: + exec: + command: + - dms-healthcheck + periodSeconds: 10 + timeoutSeconds: 5 + failureThreshold: 9 + # check every 30s for liveness, 90s for pod restart livenessProbe: exec: - command: - - /bin/bash - - -c - - supervisorctl status | grep -E "amavis|clamav|cron|dovecot|mailserver|opendkim|opendmarc|postfix|rsyslog" | grep RUNNING - initialDelaySeconds: 10 + command: + - dms-healthcheck + periodSeconds: 30 timeoutSeconds: 5 failureThreshold: 3 + # check every 10s for readiness, 30s for service removal readinessProbe: exec: - command: - - /bin/bash - - -c - - supervisorctl status | grep -E "mailserver|postfix" | grep RUNNING - initialDelaySeconds: 10 + command: + - dms-healthcheck + periodSeconds: 10 timeoutSeconds: 5 failureThreshold: 3 ports: diff --git a/charts/docker-mailserver/tests/__snapshot__/deployment_test.yaml.snap b/charts/docker-mailserver/tests/__snapshot__/deployment_test.yaml.snap index fe51cd2..1239247 100644 --- a/charts/docker-mailserver/tests/__snapshot__/deployment_test.yaml.snap +++ b/charts/docker-mailserver/tests/__snapshot__/deployment_test.yaml.snap @@ -25,12 +25,30 @@ manifest should match snapshot: spec: containers: - env: + - name: ACCOUNT_PROVISIONER + value: null - name: AMAVIS_LOGLEVEL value: "0" + - name: CLAMAV_MESSAGE_SIZE_LIMIT + value: null + - name: DEFAULT_RELAY_HOST + value: null + - name: DMS_VMAIL_GID + value: null + - name: DMS_VMAIL_UID + value: null + - name: DOVECOT_AUTH_BIND + value: null - name: DOVECOT_INET_PROTOCOLS value: all - name: DOVECOT_MAILBOX_FORMAT value: maildir + - name: DOVECOT_PASS_FILTER + value: null + - name: DOVECOT_TLS + value: null + - name: DOVECOT_USER_FILTER + value: null - name: ENABLE_AMAVIS value: "0" - name: ENABLE_CLAMAV @@ -45,12 +63,16 @@ manifest should match snapshot: value: "0" - name: ENABLE_IMAP value: "1" + - name: ENABLE_MANAGESIEVE + value: null - name: ENABLE_OPENDKIM value: "0" - name: ENABLE_OPENDMARC value: "0" - name: ENABLE_POLICYD_SPF value: "0" + - name: ENABLE_POP3 + value: null - name: ENABLE_POSTGREY value: "0" - name: ENABLE_QUOTAS @@ -77,22 +99,56 @@ manifest should match snapshot: value: "300" - name: GETMAIL_POLL value: "5" + - name: LDAP_QUERY_FILTER_ALIAS + value: null + - name: LDAP_QUERY_FILTER_DOMAIN + value: null + - name: LDAP_QUERY_FILTER_GROUP + value: null + - name: LDAP_QUERY_FILTER_USER + value: null + - name: LDAP_SEARCH_BASE + value: null + - name: LDAP_SERVER_HOST + value: null + - name: LDAP_START_TLS + value: null - name: LOGROTATE_COUNT value: "4" - name: LOGROTATE_INTERVAL value: weekly + - name: LOGWATCH_INTERVAL + value: null + - name: LOGWATCH_RECIPIENT + value: null + - name: LOGWATCH_SENDER + value: null - name: LOG_LEVEL value: info - name: MARK_SPAM_AS_READ value: "0" - name: MOVE_SPAM_TO_JUNK value: "1" + - name: NETWORK_INTERFACE + value: null - name: OVERRIDE_HOSTNAME value: mail.example.com - name: PERMIT_DOCKER value: none + - name: PFLOGSUMM_RECIPIENT + value: null + - name: PFLOGSUMM_SENDER + value: null + - name: PFLOGSUMM_TRIGGER + value: null + - name: POSTFIX_DAGENT + value: null - name: POSTFIX_INET_PROTOCOLS value: all + - name: POSTFIX_MAILBOX_SIZE_LIMIT + value: null + - name: POSTFIX_MESSAGE_SIZE_LIMIT + value: null - name: POSTFIX_REJECT_UNKNOWN_CLIENT_HOSTNAME value: "0" - name: POSTGREY_AUTO_WHITELIST_CLIENTS @@ -103,10 +159,20 @@ manifest should match snapshot: value: "35" - name: POSTGREY_TEXT value: Delayed by Postgrey + - name: POSTMASTER_ADDRESS + value: null - name: POSTSCREEN_ACTION value: enforce + - name: RELAY_HOST + value: null - name: RELAY_PORT value: "25" + - name: RELAY_USER + value: null + - name: REPORT_RECIPIENT + value: null + - name: REPORT_SENDER + value: null - name: RSPAMD_CHECK_AUTHENTICATED value: "0" - name: RSPAMD_GREYLISTING @@ -119,30 +185,72 @@ manifest should match snapshot: value: "0" - name: RSPAMD_NEURAL value: "0" + - name: SASLAUTHD_LDAP_AUTH_METHOD + value: null + - name: SASLAUTHD_LDAP_FILTER + value: null + - name: SASLAUTHD_LDAP_MECH + value: null + - name: SASLAUTHD_LDAP_PASSWORD_ATTR + value: null + - name: SASLAUTHD_LDAP_SEARCH_BASE + value: null + - name: SASLAUTHD_LDAP_SERVER + value: null + - name: SASLAUTHD_LDAP_START_TLS + value: null + - name: SASLAUTHD_LDAP_TLS_CACERT_DIR + value: null + - name: SASLAUTHD_LDAP_TLS_CACERT_FILE + value: null + - name: SASLAUTHD_LDAP_TLS_CHECK_PEER + value: null + - name: SASLAUTHD_MECHANISMS + value: null + - name: SASLAUTHD_MECH_OPTIONS + value: null - name: SA_KILL value: "10" - name: SA_TAG value: "2" - name: SA_TAG2 value: "6.31" + - name: SMTP_ONLY + value: null - name: SPAMASSASSIN_SPAM_TO_INBOX value: "1" - name: SPAM_SUBJECT value: '***SPAM*** ' + - name: SPOOF_PROTECTION + value: null + - name: SRS_EXCLUDE_DOMAINS + value: null + - name: SRS_SECRET + value: null - name: SRS_SENDER_CLASSES value: envelope_sender + - name: SSL_ALT_CERT_PATH + value: null + - name: SSL_ALT_KEY_PATH + value: null + - name: SUPERVISOR_LOGLEVEL + value: null + - name: TLS_LEVEL + value: null + - name: TZ + value: null - name: UPDATE_CHECK_INTERVAL value: 1d + - name: VIRUSMAILS_DELETE_DELAY + value: null image: mailserver/docker-mailserver:0.1.0 imagePullPolicy: IfNotPresent livenessProbe: exec: command: - - /bin/bash - - -c - - supervisorctl status | grep -E "amavis|clamav|cron|dovecot|mailserver|opendkim|opendmarc|postfix|rsyslog" | grep RUNNING + - dms-healthcheck failureThreshold: 3 - initialDelaySeconds: 10 + periodSeconds: 30 timeoutSeconds: 5 name: docker-mailserver ports: @@ -171,11 +279,9 @@ manifest should match snapshot: readinessProbe: exec: command: - - /bin/bash - - -c - - supervisorctl status | grep -E "mailserver|postfix" | grep RUNNING + - dms-healthcheck failureThreshold: 3 - initialDelaySeconds: 10 + periodSeconds: 10 timeoutSeconds: 5 resources: limits: @@ -189,6 +295,13 @@ manifest should match snapshot: securityContext: privileged: false readOnlyRootFilesystem: false + startupProbe: + exec: + command: + - dms-healthcheck + failureThreshold: 9 + periodSeconds: 10 + timeoutSeconds: 5 volumeMounts: - mountPath: /tmp/docker-mailserver/dovecot.cf name: dovecot-cf diff --git a/charts/docker-mailserver/tests/__snapshot__/secret_test.yaml.snap b/charts/docker-mailserver/tests/__snapshot__/secret_test.yaml.snap index 362acbb..aef42e7 100644 --- a/charts/docker-mailserver/tests/__snapshot__/secret_test.yaml.snap +++ b/charts/docker-mailserver/tests/__snapshot__/secret_test.yaml.snap @@ -25,12 +25,30 @@ manifest should match snapshot: spec: containers: - env: + - name: ACCOUNT_PROVISIONER + value: null - name: AMAVIS_LOGLEVEL value: "0" + - name: CLAMAV_MESSAGE_SIZE_LIMIT + value: null + - name: DEFAULT_RELAY_HOST + value: null + - name: DMS_VMAIL_GID + value: null + - name: DMS_VMAIL_UID + value: null + - name: DOVECOT_AUTH_BIND + value: null - name: DOVECOT_INET_PROTOCOLS value: all - name: DOVECOT_MAILBOX_FORMAT value: maildir + - name: DOVECOT_PASS_FILTER + value: null + - name: DOVECOT_TLS + value: null + - name: DOVECOT_USER_FILTER + value: null - name: ENABLE_AMAVIS value: "0" - name: ENABLE_CLAMAV @@ -45,12 +63,16 @@ manifest should match snapshot: value: "0" - name: ENABLE_IMAP value: "1" + - name: ENABLE_MANAGESIEVE + value: null - name: ENABLE_OPENDKIM value: "0" - name: ENABLE_OPENDMARC value: "0" - name: ENABLE_POLICYD_SPF value: "0" + - name: ENABLE_POP3 + value: null - name: ENABLE_POSTGREY value: "0" - name: ENABLE_QUOTAS @@ -77,22 +99,56 @@ manifest should match snapshot: value: "300" - name: GETMAIL_POLL value: "5" + - name: LDAP_QUERY_FILTER_ALIAS + value: null + - name: LDAP_QUERY_FILTER_DOMAIN + value: null + - name: LDAP_QUERY_FILTER_GROUP + value: null + - name: LDAP_QUERY_FILTER_USER + value: null + - name: LDAP_SEARCH_BASE + value: null + - name: LDAP_SERVER_HOST + value: null + - name: LDAP_START_TLS + value: null - name: LOGROTATE_COUNT value: "4" - name: LOGROTATE_INTERVAL value: weekly + - name: LOGWATCH_INTERVAL + value: null + - name: LOGWATCH_RECIPIENT + value: null + - name: LOGWATCH_SENDER + value: null - name: LOG_LEVEL value: info - name: MARK_SPAM_AS_READ value: "0" - name: MOVE_SPAM_TO_JUNK value: "1" + - name: NETWORK_INTERFACE + value: null - name: OVERRIDE_HOSTNAME value: mail.example.com - name: PERMIT_DOCKER value: none + - name: PFLOGSUMM_RECIPIENT + value: null + - name: PFLOGSUMM_SENDER + value: null + - name: PFLOGSUMM_TRIGGER + value: null + - name: POSTFIX_DAGENT + value: null - name: POSTFIX_INET_PROTOCOLS value: all + - name: POSTFIX_MAILBOX_SIZE_LIMIT + value: null + - name: POSTFIX_MESSAGE_SIZE_LIMIT + value: null - name: POSTFIX_REJECT_UNKNOWN_CLIENT_HOSTNAME value: "0" - name: POSTGREY_AUTO_WHITELIST_CLIENTS @@ -103,10 +159,20 @@ manifest should match snapshot: value: "35" - name: POSTGREY_TEXT value: Delayed by Postgrey + - name: POSTMASTER_ADDRESS + value: null - name: POSTSCREEN_ACTION value: enforce + - name: RELAY_HOST + value: null - name: RELAY_PORT value: "25" + - name: RELAY_USER + value: null + - name: REPORT_RECIPIENT + value: null + - name: REPORT_SENDER + value: null - name: RSPAMD_CHECK_AUTHENTICATED value: "0" - name: RSPAMD_GREYLISTING @@ -119,30 +185,72 @@ manifest should match snapshot: value: "0" - name: RSPAMD_NEURAL value: "0" + - name: SASLAUTHD_LDAP_AUTH_METHOD + value: null + - name: SASLAUTHD_LDAP_FILTER + value: null + - name: SASLAUTHD_LDAP_MECH + value: null + - name: SASLAUTHD_LDAP_PASSWORD_ATTR + value: null + - name: SASLAUTHD_LDAP_SEARCH_BASE + value: null + - name: SASLAUTHD_LDAP_SERVER + value: null + - name: SASLAUTHD_LDAP_START_TLS + value: null + - name: SASLAUTHD_LDAP_TLS_CACERT_DIR + value: null + - name: SASLAUTHD_LDAP_TLS_CACERT_FILE + value: null + - name: SASLAUTHD_LDAP_TLS_CHECK_PEER + value: null + - name: SASLAUTHD_MECHANISMS + value: null + - name: SASLAUTHD_MECH_OPTIONS + value: null - name: SA_KILL value: "10" - name: SA_TAG value: "2" - name: SA_TAG2 value: "6.31" + - name: SMTP_ONLY + value: null - name: SPAMASSASSIN_SPAM_TO_INBOX value: "1" - name: SPAM_SUBJECT value: '***SPAM*** ' + - name: SPOOF_PROTECTION + value: null + - name: SRS_EXCLUDE_DOMAINS + value: null + - name: SRS_SECRET + value: null - name: SRS_SENDER_CLASSES value: envelope_sender + - name: SSL_ALT_CERT_PATH + value: null + - name: SSL_ALT_KEY_PATH + value: null + - name: SUPERVISOR_LOGLEVEL + value: null + - name: TLS_LEVEL + value: null + - name: TZ + value: null - name: UPDATE_CHECK_INTERVAL value: 1d + - name: VIRUSMAILS_DELETE_DELAY + value: null image: mailserver/docker-mailserver:0.1.0 imagePullPolicy: IfNotPresent livenessProbe: exec: command: - - /bin/bash - - -c - - supervisorctl status | grep -E "amavis|clamav|cron|dovecot|mailserver|opendkim|opendmarc|postfix|rsyslog" | grep RUNNING + - dms-healthcheck failureThreshold: 3 - initialDelaySeconds: 10 + periodSeconds: 30 timeoutSeconds: 5 name: docker-mailserver ports: @@ -171,11 +279,9 @@ manifest should match snapshot: readinessProbe: exec: command: - - /bin/bash - - -c - - supervisorctl status | grep -E "mailserver|postfix" | grep RUNNING + - dms-healthcheck failureThreshold: 3 - initialDelaySeconds: 10 + periodSeconds: 10 timeoutSeconds: 5 resources: limits: @@ -189,6 +295,13 @@ manifest should match snapshot: securityContext: privileged: false readOnlyRootFilesystem: false + startupProbe: + exec: + command: + - dms-healthcheck + failureThreshold: 9 + periodSeconds: 10 + timeoutSeconds: 5 volumeMounts: - mountPath: /tmp/docker-mailserver/dovecot.cf name: dovecot-cf