mass update
This commit is contained in:
		@@ -1,28 +1,29 @@
 | 
			
		||||
ansible==7.6.0
 | 
			
		||||
ansible-core==2.14.7
 | 
			
		||||
cachetools==5.3.1
 | 
			
		||||
certifi==2023.5.7
 | 
			
		||||
cffi==1.15.1
 | 
			
		||||
charset-normalizer==3.1.0
 | 
			
		||||
cryptography==41.0.1
 | 
			
		||||
google-auth==2.21.0
 | 
			
		||||
idna==3.4
 | 
			
		||||
Jinja2==3.1.2
 | 
			
		||||
kubernetes==26.1.0
 | 
			
		||||
MarkupSafe==2.1.3
 | 
			
		||||
ansible==9.5.1
 | 
			
		||||
ansible-core==2.16.6
 | 
			
		||||
cachetools==5.3.3
 | 
			
		||||
certifi==2024.2.2
 | 
			
		||||
cffi==1.16.0
 | 
			
		||||
charset-normalizer==3.3.2
 | 
			
		||||
cryptography==42.0.7
 | 
			
		||||
google-auth==2.29.0
 | 
			
		||||
idna==3.7
 | 
			
		||||
Jinja2==3.1.4
 | 
			
		||||
kubernetes==29.0.0
 | 
			
		||||
MarkupSafe==2.1.5
 | 
			
		||||
netaddr==1.2.1
 | 
			
		||||
oauthlib==3.2.2
 | 
			
		||||
openshift==0.13.1
 | 
			
		||||
packaging==23.1
 | 
			
		||||
pyasn1==0.5.0
 | 
			
		||||
pyasn1-modules==0.3.0
 | 
			
		||||
pycparser==2.21
 | 
			
		||||
python-dateutil==2.8.2
 | 
			
		||||
openshift==0.13.2
 | 
			
		||||
packaging==24.0
 | 
			
		||||
pyasn1==0.6.0
 | 
			
		||||
pyasn1_modules==0.4.0
 | 
			
		||||
pycparser==2.22
 | 
			
		||||
python-dateutil==2.9.0.post0
 | 
			
		||||
python-string-utils==1.0.0
 | 
			
		||||
PyYAML==6.0
 | 
			
		||||
PyYAML==6.0.1
 | 
			
		||||
requests==2.31.0
 | 
			
		||||
requests-oauthlib==1.3.1
 | 
			
		||||
resolvelib==0.8.1
 | 
			
		||||
requests-oauthlib==2.0.0
 | 
			
		||||
resolvelib==1.0.1
 | 
			
		||||
rsa==4.9
 | 
			
		||||
six==1.16.0
 | 
			
		||||
urllib3==1.26.16
 | 
			
		||||
websocket-client==1.6.1
 | 
			
		||||
urllib3==2.2.1
 | 
			
		||||
websocket-client==1.8.0
 | 
			
		||||
 
 | 
			
		||||
@@ -19,7 +19,7 @@
 | 
			
		||||
          group: cert-manager.io
 | 
			
		||||
 | 
			
		||||
- set_fact:
 | 
			
		||||
    adguard_combined_values: "{{ adguard_default_values | combine(adguard_values, recursive=true) }}"
 | 
			
		||||
    adguard_combined_values: "{{ adguard_default_values | combine(adguard_values | default({}), recursive=true) }}"
 | 
			
		||||
 | 
			
		||||
- name: Deploy Adguard Home
 | 
			
		||||
  kubernetes.core.helm:
 | 
			
		||||
 
 | 
			
		||||
@@ -5,7 +5,7 @@
 | 
			
		||||
    - postgres_enabled is defined and postgres_enabled
 | 
			
		||||
 | 
			
		||||
- set_fact:
 | 
			
		||||
    bitwarden_combined_values: "{{ bitwarden_default_values | combine(bitwarden_values, recursive=true) }}"
 | 
			
		||||
    bitwarden_combined_values: "{{ bitwarden_default_values | combine(bitwarden_values | default({}), recursive=true) }}"
 | 
			
		||||
 | 
			
		||||
- name: Deploy Bitwarden
 | 
			
		||||
  kubernetes.core.helm:
 | 
			
		||||
 
 | 
			
		||||
@@ -1,5 +1,5 @@
 | 
			
		||||
- set_fact:
 | 
			
		||||
    ceph_csi_cephfs_combined_values: "{{ ceph_csi_cephfs_default_values | combine(ceph_csi_cephfs_values, recursive=true) }}"
 | 
			
		||||
    ceph_csi_cephfs_combined_values: "{{ ceph_csi_cephfs_default_values | combine(ceph_csi_cephfs_values | default({}), recursive=true) }}"
 | 
			
		||||
 | 
			
		||||
- name: Deploy CSI CephFS {{ ceph_csi_cephfs_version }}
 | 
			
		||||
  kubernetes.core.helm:
 | 
			
		||||
 
 | 
			
		||||
@@ -1,5 +1,5 @@
 | 
			
		||||
- set_fact:
 | 
			
		||||
    ceph_csi_rbd_combined_values: "{{ ceph_csi_rbd_default_values | combine(ceph_csi_rbd_values, recursive=true) }}"
 | 
			
		||||
    ceph_csi_rbd_combined_values: "{{ ceph_csi_rbd_default_values | combine(ceph_csi_rbd_values | default({}), recursive=true) }}"
 | 
			
		||||
 | 
			
		||||
- name: Deploy CSI Ceph RBD {{ ceph_csi_rbd_version }}
 | 
			
		||||
  kubernetes.core.helm:
 | 
			
		||||
 
 | 
			
		||||
@@ -1,5 +1,5 @@
 | 
			
		||||
- set_fact:
 | 
			
		||||
    cert_manager_combined_values: "{{ cert_manager_default_values | combine(cert_manager_values, recursive=true) }}"
 | 
			
		||||
    cert_manager_combined_values: "{{ cert_manager_default_values | combine(cert_manager_values | default({}), recursive=true) }}"
 | 
			
		||||
 | 
			
		||||
- name: Deploy Cert-manager {{ cert_manager_version }}
 | 
			
		||||
  kubernetes.core.helm:
 | 
			
		||||
 
 | 
			
		||||
@@ -51,14 +51,12 @@ dovecot_default_values:
 | 
			
		||||
        auth-ldap: |
 | 
			
		||||
          passdb {
 | 
			
		||||
            driver = ldap
 | 
			
		||||
          
 | 
			
		||||
            # Path for LDAP configuration file, see example-config/dovecot-ldap.conf.ext
 | 
			
		||||
            args = /etc/dovecot/ldap.conf
 | 
			
		||||
          }
 | 
			
		||||
          userdb {
 | 
			
		||||
            driver = ldap
 | 
			
		||||
            args = /etc/dovecot/ldap.conf
 | 
			
		||||
          
 | 
			
		||||
          }
 | 
			
		||||
        10-auth: |
 | 
			
		||||
          auth_default_realm = {{ domain }}
 | 
			
		||||
@@ -158,7 +156,202 @@ dovecot_default_values:
 | 
			
		||||
          ssl = required
 | 
			
		||||
          #verbose_ssl = yes
 | 
			
		||||
          ssl_prefer_server_ciphers = yes
 | 
			
		||||
          ssl_min_protocol = TLSv1.2
 | 
			
		||||
          ssl_min_protocol = TLSv1.3
 | 
			
		||||
          ssl_cert = </tls/tls.crt
 | 
			
		||||
          ssl_key = </tls/tls.key
 | 
			
		||||
        10-logging: |
 | 
			
		||||
          log_path = /dev/stderr
 | 
			
		||||
          info_log_path = /dev/stdout
 | 
			
		||||
          debug_log_path = /dev/stdout
 | 
			
		||||
        15-lda: |
 | 
			
		||||
          postmaster_address = postmaster@{{ domain }}
 | 
			
		||||
          hostname = {{ domain }}
 | 
			
		||||
          rejection_reason = Your message to  was automatically rejected:%n%r
 | 
			
		||||
          protocol lda {
 | 
			
		||||
            mail_plugins = virtual sieve
 | 
			
		||||
          }
 | 
			
		||||
        20-lmtp: |
 | 
			
		||||
          protocol lmtp {
 | 
			
		||||
            mail_plugins = virtual sieve
 | 
			
		||||
            postmaster_address = postmaster@{{ domain }}
 | 
			
		||||
          }
 | 
			
		||||
        20-managesieve: |
 | 
			
		||||
          service managesieve-login {
 | 
			
		||||
            inet_listener sieve {
 | 
			
		||||
              port = 4190
 | 
			
		||||
              ssl = yes
 | 
			
		||||
            }
 | 
			
		||||
            service_count = 1
 | 
			
		||||
            vsz_limit = 64M
 | 
			
		||||
          }
 | 
			
		||||
          
 | 
			
		||||
          service managesieve {
 | 
			
		||||
            process_limit = 1024
 | 
			
		||||
          }
 | 
			
		||||
  service:
 | 
			
		||||
    type: LoadBalancer
 | 
			
		||||
    loadBalancerIP: "{{ dovecot_loadbalancer_ip | default(omit) }}"
 | 
			
		||||
 | 
			
		||||
# WIP
 | 
			
		||||
dovecot_oidc: false
 | 
			
		||||
dovecot_oidc_default_values:
 | 
			
		||||
  replicaCount: 1
 | 
			
		||||
  persistence:
 | 
			
		||||
    enabled: true
 | 
			
		||||
    existingClaim: mailboxes
 | 
			
		||||
  tls:
 | 
			
		||||
    enabled: true
 | 
			
		||||
    existingSecret: "{{ mail_short_name | default('mail') }}.{{ domain }}-secret"
 | 
			
		||||
  dovecot:
 | 
			
		||||
    configmaps:
 | 
			
		||||
      dovecot:
 | 
			
		||||
        dovecot: |
 | 
			
		||||
          protocols = imap lmtp sieve
 | 
			
		||||
          mail_max_userip_connections = 1000
 | 
			
		||||
          mail_plugins = virtual
 | 
			
		||||
          
 | 
			
		||||
          auth_debug = yes
 | 
			
		||||
          auth_verbose = yes
 | 
			
		||||
          #haproxy_trusted_networks = 10.0.0.0/8 172.16.0.0/12 192.168.0.0/16
 | 
			
		||||
          #haproxy_timeout = 30s
 | 
			
		||||
          dict {
 | 
			
		||||
            #quota = mysql:/etc/dovecot/dovecot-dict-sql.conf.ext
 | 
			
		||||
            #expire = sqlite:/etc/dovecot/dovecot-dict-sql.conf.ext
 | 
			
		||||
          }
 | 
			
		||||
          
 | 
			
		||||
          # Most of the actual configuration gets included below. The filenames are
 | 
			
		||||
          # first sorted by their ASCII value and parsed in that order. The 00-prefixes
 | 
			
		||||
          # in filenames are intended to make it easier to understand the ordering.
 | 
			
		||||
          !include conf.d/*.conf
 | 
			
		||||
          
 | 
			
		||||
          # A config file can also tried to be included without giving an error if
 | 
			
		||||
          # it's not found:
 | 
			
		||||
          !include_try local.conf
 | 
			
		||||
        oauth2: |
 | 
			
		||||
          introspection_mode = post
 | 
			
		||||
          introspection_url = https://{{ dovecot_oidc_username }}:{{ dovecot_oidc_password }}@keycloak.{{ domain }}/auth/realms/{{ keycloak_realm }}/protocol/openid-connect/token/introspect
 | 
			
		||||
          grant_url = https://keycloak.{{ domain }}/auth/realms/{{ keycloak_realm }}/protocol/openid-connect/token
 | 
			
		||||
          #client_id = dovecot
 | 
			
		||||
          #client_secret = X10dQgQprHLxZj8nsvB2fEpJwuBr0hWq
 | 
			
		||||
          tokeninfo_url = https://keycloak.{{ domain }}/auth/realms/{{ keycloak_realm }}/protocol/openid-connect/token
 | 
			
		||||
          #tls_ca_cert_file = /etc/ssl/certs/ca-certificates.crt
 | 
			
		||||
          rawlog_dir = /tmp/oauth2
 | 
			
		||||
          debug = yes
 | 
			
		||||
          #use_grant_password = no
 | 
			
		||||
          #username_attribute = username
 | 
			
		||||
          #pass_attrs = pass=%{oauth2:access_token}
 | 
			
		||||
        ldap: |
 | 
			
		||||
      confd:
 | 
			
		||||
        auth-ldap: |
 | 
			
		||||
        auth-oauth2: |
 | 
			
		||||
          passdb {
 | 
			
		||||
            driver = oauth2
 | 
			
		||||
            mechanisms = xoauth2 oauthbearer
 | 
			
		||||
            args = /etc/dovecot/oauth2.conf
 | 
			
		||||
          }
 | 
			
		||||
          userdb {
 | 
			
		||||
            driver = static
 | 
			
		||||
            args = uid=vmail gid=vmail home=/home/vmail/%u
 | 
			
		||||
          }
 | 
			
		||||
        10-auth: |
 | 
			
		||||
          auth_default_realm = {{ domain }}
 | 
			
		||||
          auth_username_format = %Lu
 | 
			
		||||
          auth_mechanisms = plain login xoauth2 oauthbearer
 | 
			
		||||
        10-mail: |
 | 
			
		||||
          mail_location = maildir:%h
 | 
			
		||||
          namespace inbox {
 | 
			
		||||
            inbox = yes
 | 
			
		||||
          }
 | 
			
		||||
          mail_uid = vmail
 | 
			
		||||
          mail_gid = vmail
 | 
			
		||||
          first_valid_uid = 1000
 | 
			
		||||
          last_valid_uid = 1000
 | 
			
		||||
          first_valid_gid = 1000
 | 
			
		||||
          last_valid_gid = 1000
 | 
			
		||||
          protocol !indexer-worker {
 | 
			
		||||
          }
 | 
			
		||||
          mbox_write_locks = fcntl
 | 
			
		||||
        10-master: |
 | 
			
		||||
          protocol imap {
 | 
			
		||||
            mail_plugins = virtual
 | 
			
		||||
          }
 | 
			
		||||
          service imap-login {
 | 
			
		||||
            inet_listener imap {
 | 
			
		||||
              #port = 143
 | 
			
		||||
            }
 | 
			
		||||
            inet_listener imaps {
 | 
			
		||||
              #port = 993
 | 
			
		||||
              #ssl = yes
 | 
			
		||||
            }
 | 
			
		||||
            inet_listener imap_haproxy {
 | 
			
		||||
              port = 1109
 | 
			
		||||
              #haproxy = yes
 | 
			
		||||
            }
 | 
			
		||||
            inet_listener imaps_haproxy {
 | 
			
		||||
              port = 10993
 | 
			
		||||
              ssl = yes
 | 
			
		||||
              #haproxy = yes
 | 
			
		||||
            }
 | 
			
		||||
          }
 | 
			
		||||
          
 | 
			
		||||
          service pop3-login {
 | 
			
		||||
            inet_listener pop3 {
 | 
			
		||||
              #port = 110
 | 
			
		||||
            }
 | 
			
		||||
            inet_listener pop3s {
 | 
			
		||||
              #port = 995
 | 
			
		||||
              #ssl = yes
 | 
			
		||||
            }
 | 
			
		||||
          }
 | 
			
		||||
          
 | 
			
		||||
          service lmtp {
 | 
			
		||||
            inet_listener lmtp {
 | 
			
		||||
               port = 24
 | 
			
		||||
            }
 | 
			
		||||
            unix_listener /var/spool/postfix/private/dovecot-lmtp {
 | 
			
		||||
              mode = 0600
 | 
			
		||||
              group = postfix
 | 
			
		||||
              user = postfix
 | 
			
		||||
            }
 | 
			
		||||
            user = vmail
 | 
			
		||||
          }
 | 
			
		||||
          
 | 
			
		||||
          service imap {
 | 
			
		||||
          }
 | 
			
		||||
          
 | 
			
		||||
          service pop3 {
 | 
			
		||||
          }
 | 
			
		||||
          
 | 
			
		||||
          service auth {
 | 
			
		||||
            inet_listener {
 | 
			
		||||
               port = 12345
 | 
			
		||||
            }
 | 
			
		||||
            unix_listener auth-userdb {
 | 
			
		||||
              mode = 0660
 | 
			
		||||
              user = vmail
 | 
			
		||||
              #group =
 | 
			
		||||
            }
 | 
			
		||||
          
 | 
			
		||||
            # Postfix smtp-auth
 | 
			
		||||
            unix_listener /var/spool/postfix/private/auth {
 | 
			
		||||
              mode = 0660
 | 
			
		||||
              user = postfix
 | 
			
		||||
              group = postfix
 | 
			
		||||
            }
 | 
			
		||||
          }
 | 
			
		||||
          
 | 
			
		||||
          service auth-worker {
 | 
			
		||||
          }
 | 
			
		||||
          
 | 
			
		||||
          service dict {
 | 
			
		||||
            unix_listener dict {
 | 
			
		||||
            }
 | 
			
		||||
          }
 | 
			
		||||
        10-ssl: |
 | 
			
		||||
          ssl = required
 | 
			
		||||
          #verbose_ssl = yes
 | 
			
		||||
          ssl_prefer_server_ciphers = yes
 | 
			
		||||
          ssl_min_protocol = TLSv1.3
 | 
			
		||||
          ssl_cert = </tls/tls.crt
 | 
			
		||||
          ssl_key = </tls/tls.key
 | 
			
		||||
        10-logging: |
 | 
			
		||||
 
 | 
			
		||||
@@ -1,5 +1,10 @@
 | 
			
		||||
- set_fact:
 | 
			
		||||
    dovecot_combined_values: "{{ dovecot_default_values | combine(dovecot_values, recursive=true) }}"
 | 
			
		||||
    dovecot_combined_values: "{{ dovecot_default_values | combine(dovecot_values | default({}), recursive=true) }}"
 | 
			
		||||
  when: not mail_oidc
 | 
			
		||||
 | 
			
		||||
- set_fact:
 | 
			
		||||
    dovecot_combined_values: "{{ dovecot_oidc_default_values | combine(dovecot_oidc_values | default({}), recursive=true) }}"
 | 
			
		||||
  when: mail_oidc
 | 
			
		||||
 | 
			
		||||
- name: Deploy Dovecot
 | 
			
		||||
  kubernetes.core.helm:
 | 
			
		||||
@@ -9,5 +14,4 @@
 | 
			
		||||
    chart_ref: "{{ dovecot_chart_ref }}"
 | 
			
		||||
    chart_version: "{{ dovecot_version | default(omit) }}"
 | 
			
		||||
    release_values: "{{ dovecot_combined_values | from_yaml }}"
 | 
			
		||||
    wait: true
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,5 +1,5 @@
 | 
			
		||||
- set_fact:
 | 
			
		||||
    external_dns_combined_values: "{{ external_dns_default_values | combine(external_dns_values, recursive=true) }}"
 | 
			
		||||
    external_dns_combined_values: "{{ external_dns_default_values | combine(external_dns_values | default({}), recursive=true) }}"
 | 
			
		||||
 | 
			
		||||
- name: Deploy external DNS
 | 
			
		||||
  kubernetes.core.helm:
 | 
			
		||||
 
 | 
			
		||||
@@ -1,5 +1,5 @@
 | 
			
		||||
- set_fact:
 | 
			
		||||
    external_ingress_nginx_combined_values: "{{ external_ingress_nginx_default_values | combine(external_ingress_nginx_values, recursive=true) }}"
 | 
			
		||||
    external_ingress_nginx_combined_values: "{{ external_ingress_nginx_default_values | combine(external_ingress_nginx_values | default({}), recursive=true) }}"
 | 
			
		||||
 | 
			
		||||
- name: Deploy external Nginx Ingress
 | 
			
		||||
  kubernetes.core.helm:
 | 
			
		||||
 
 | 
			
		||||
@@ -1,5 +1,5 @@
 | 
			
		||||
- set_fact:
 | 
			
		||||
    gitea_act_runner_combined_values: "{{ gitea_act_runner_default_values | combine(gitea_act_runner_values, recursive=true) }}"
 | 
			
		||||
    gitea_act_runner_combined_values: "{{ gitea_act_runner_default_values | combine(gitea_act_runner_values | default({}), recursive=true) }}"
 | 
			
		||||
 | 
			
		||||
- name: Deploy Gitea Act Runner
 | 
			
		||||
  kubernetes.core.helm:
 | 
			
		||||
 
 | 
			
		||||
@@ -5,20 +5,20 @@
 | 
			
		||||
    - postgres_enabled is defined and postgres_enabled
 | 
			
		||||
 | 
			
		||||
- set_fact:
 | 
			
		||||
    gitea_combined_values: "{{ gitea_default_values | combine(gitea_values, recursive=true) }}"
 | 
			
		||||
    gitea_combined_values: "{{ gitea_default_values | combine(gitea_values | default({}), recursive=true) }}"
 | 
			
		||||
 | 
			
		||||
- set_fact:
 | 
			
		||||
    gitea_combined_values: "{{ gitea_combined_values | combine(gitea_external_db_values, recursive=true) }}"
 | 
			
		||||
    gitea_combined_values: "{{ gitea_combined_values | combine(gitea_external_db_values | default({}), recursive=true) }}"
 | 
			
		||||
  when: gitea_use_external_db
 | 
			
		||||
 | 
			
		||||
- set_fact:
 | 
			
		||||
    gitea_dns_combined_values: "{{ gitea_dns_default_values | combine(gitea_dns_values, recursive=true) }}"
 | 
			
		||||
    gitea_dns_combined_values: "{{ gitea_dns_default_values | combine(gitea_dns_values | default({}), recursive=true) }}"
 | 
			
		||||
 | 
			
		||||
- set_fact:
 | 
			
		||||
    gitea_ingress_nginx_combined_values: "{{ gitea_ingress_nginx_default_values | combine(gitea_ingress_nginx_values, recursive=true) }}"
 | 
			
		||||
    gitea_ingress_nginx_combined_values: "{{ gitea_ingress_nginx_default_values | combine(gitea_ingress_nginx_values | default({}), recursive=true) }}"
 | 
			
		||||
 | 
			
		||||
- set_fact:
 | 
			
		||||
    gitea_ingress_nginx_combined_values: "{{ gitea_ingress_nginx_combined_values | combine(gitea_publish_ingress_nginx_values, recursive=true) }}"
 | 
			
		||||
    gitea_ingress_nginx_combined_values: "{{ gitea_ingress_nginx_combined_values | combine(gitea_publish_ingress_nginx_values | default({}), recursive=true) }}"
 | 
			
		||||
  when: gitea_publish_web
 | 
			
		||||
 | 
			
		||||
- name: Deploy Nginx Ingress for Gitea
 | 
			
		||||
 
 | 
			
		||||
@@ -5,7 +5,7 @@
 | 
			
		||||
    - postgres_enabled is defined and postgres_enabled
 | 
			
		||||
 | 
			
		||||
- set_fact:
 | 
			
		||||
    harbor_combined_values: "{{ harbor_default_values | combine(harbor_values, recursive=true) }}"
 | 
			
		||||
    harbor_combined_values: "{{ harbor_default_values | combine(harbor_values | default({}), recursive=true) }}"
 | 
			
		||||
 | 
			
		||||
- name: Deploy Harbor
 | 
			
		||||
  kubernetes.core.helm:
 | 
			
		||||
 
 | 
			
		||||
@@ -1,5 +1,5 @@
 | 
			
		||||
- set_fact:
 | 
			
		||||
    internal_dns_combined_values: "{{ internal_dns_default_values | combine(internal_dns_values, recursive=true) }}"
 | 
			
		||||
    internal_dns_combined_values: "{{ internal_dns_default_values | combine(internal_dns_values | default({}), recursive=true) }}"
 | 
			
		||||
 | 
			
		||||
- name: Deploy internal DNS
 | 
			
		||||
  kubernetes.core.helm:
 | 
			
		||||
 
 | 
			
		||||
@@ -1,5 +1,5 @@
 | 
			
		||||
- set_fact:
 | 
			
		||||
    internal_ingress_nginx_combined_values: "{{ internal_ingress_nginx_default_values | combine(internal_ingress_nginx_values, recursive=true) }}"
 | 
			
		||||
    internal_ingress_nginx_combined_values: "{{ internal_ingress_nginx_default_values | combine(internal_ingress_nginx_values | default({}), recursive=true) }}"
 | 
			
		||||
 | 
			
		||||
- name: Deploy internal Nginx Ingress
 | 
			
		||||
  kubernetes.core.helm:
 | 
			
		||||
 
 | 
			
		||||
@@ -5,7 +5,7 @@
 | 
			
		||||
    - postgres_enabled is defined and postgres_enabled
 | 
			
		||||
 | 
			
		||||
- set_fact:
 | 
			
		||||
    keycloak_combined_values: "{{ keycloak_default_values | combine(keycloak_values, recursive=true) }}"
 | 
			
		||||
    keycloak_combined_values: "{{ keycloak_default_values | combine(keycloak_values | default({}), recursive=true) }}"
 | 
			
		||||
 | 
			
		||||
- name: Deploy Keycloak
 | 
			
		||||
  kubernetes.core.helm:
 | 
			
		||||
 
 | 
			
		||||
@@ -1,5 +1,5 @@
 | 
			
		||||
- set_fact:
 | 
			
		||||
    local_dns_combined_values: "{{ local_dns_default_values | combine(local_dns_values, recursive=true) }}"
 | 
			
		||||
    local_dns_combined_values: "{{ local_dns_default_values | combine(local_dns_values | default({}), recursive=true) }}"
 | 
			
		||||
 | 
			
		||||
- name: Deploy local DNS
 | 
			
		||||
  kubernetes.core.helm:
 | 
			
		||||
 
 | 
			
		||||
@@ -1,5 +1,5 @@
 | 
			
		||||
- set_fact:
 | 
			
		||||
    local_ingress_nginx_combined_values: "{{ local_ingress_nginx_default_values | combine(local_ingress_nginx_values, recursive=true) }}"
 | 
			
		||||
    local_ingress_nginx_combined_values: "{{ local_ingress_nginx_default_values | combine(local_ingress_nginx_values | default({}), recursive=true) }}"
 | 
			
		||||
 | 
			
		||||
- name: Deploy local Nginx Ingress
 | 
			
		||||
  kubernetes.core.helm:
 | 
			
		||||
 
 | 
			
		||||
@@ -1 +1,4 @@
 | 
			
		||||
mail_short_name: "mail"
 | 
			
		||||
 | 
			
		||||
# WIP
 | 
			
		||||
mail_oidc: false
 | 
			
		||||
 
 | 
			
		||||
@@ -37,11 +37,15 @@
 | 
			
		||||
        storageClassName: "{{ mailbox_storage | default('nfs-hdd') }}"
 | 
			
		||||
 | 
			
		||||
- name: Deploy Postfix
 | 
			
		||||
  vars:
 | 
			
		||||
    postfix_oidc: "{{ mail_oidc }}"
 | 
			
		||||
  import_role: 
 | 
			
		||||
    name: postfix
 | 
			
		||||
  tags: postfix
 | 
			
		||||
 | 
			
		||||
- name: Deploy Dovecot
 | 
			
		||||
  vars:
 | 
			
		||||
    dovecot_oidc: "{{ mail_oidc }}"
 | 
			
		||||
  import_role: 
 | 
			
		||||
    name: dovecot
 | 
			
		||||
  tags: dovecot
 | 
			
		||||
 
 | 
			
		||||
@@ -5,7 +5,7 @@
 | 
			
		||||
    - postgres_enabled is defined and postgres_enabled
 | 
			
		||||
 | 
			
		||||
- set_fact:
 | 
			
		||||
    mastodon_combined_values: "{{ mastodon_default_values | combine(mastodon_values, recursive=true) }}"
 | 
			
		||||
    mastodon_combined_values: "{{ mastodon_default_values | combine(mastodon_values | default({}), recursive=true) }}"
 | 
			
		||||
 | 
			
		||||
- name: Deploy Mastodon
 | 
			
		||||
  kubernetes.core.helm:
 | 
			
		||||
 
 | 
			
		||||
@@ -1,5 +1,5 @@
 | 
			
		||||
- set_fact:
 | 
			
		||||
    metallb_combined_values: "{{ metallb_default_values | combine(metallb_values, recursive=true) }}"
 | 
			
		||||
    metallb_combined_values: "{{ metallb_default_values | combine(metallb_values | default({}), recursive=true) }}"
 | 
			
		||||
 | 
			
		||||
- name: Deploy MetalLB
 | 
			
		||||
  kubernetes.core.helm:
 | 
			
		||||
 
 | 
			
		||||
@@ -1,5 +1,5 @@
 | 
			
		||||
- set_fact:
 | 
			
		||||
    metrics_server_combined_values: "{{ metrics_server_default_values | combine(metrics_server_values, recursive=true) }}"
 | 
			
		||||
    metrics_server_combined_values: "{{ metrics_server_default_values | combine(metrics_server_values | default({}), recursive=true) }}"
 | 
			
		||||
 | 
			
		||||
- name: Deploy Metrics server
 | 
			
		||||
  kubernetes.core.helm:
 | 
			
		||||
 
 | 
			
		||||
@@ -1,5 +1,5 @@
 | 
			
		||||
- set_fact:
 | 
			
		||||
    minio_combined_values: "{{ minio_default_values | combine(minio_values, recursive=true) }}"
 | 
			
		||||
    minio_combined_values: "{{ minio_default_values | combine(minio_values | default({}), recursive=true) }}"
 | 
			
		||||
 | 
			
		||||
- name: Deploy MinIO
 | 
			
		||||
  kubernetes.core.helm:
 | 
			
		||||
 
 | 
			
		||||
@@ -5,7 +5,7 @@
 | 
			
		||||
    - postgres_enabled is defined and postgres_enabled
 | 
			
		||||
 | 
			
		||||
- set_fact:
 | 
			
		||||
    nextcloud_combined_values: "{{ nextcloud_default_values | combine(nextcloud_values, recursive=true) }}"
 | 
			
		||||
    nextcloud_combined_values: "{{ nextcloud_default_values | combine(nextcloud_values | default({}), recursive=true) }}"
 | 
			
		||||
 | 
			
		||||
- name: Deploy Nextcloud
 | 
			
		||||
  kubernetes.core.helm:
 | 
			
		||||
 
 | 
			
		||||
@@ -1,5 +1,5 @@
 | 
			
		||||
- set_fact:
 | 
			
		||||
    nfs_client_provisioner_hdd_combined_values: "{{ nfs_client_provisioner_hdd_default_values | combine(nfs_client_provisioner_hdd_values, recursive=true) }}"
 | 
			
		||||
    nfs_client_provisioner_hdd_combined_values: "{{ nfs_client_provisioner_hdd_default_values | combine(nfs_client_provisioner_hdd_values | default({}), recursive=true) }}"
 | 
			
		||||
 | 
			
		||||
- name: Deploy NFS client provisioner for HDD storage
 | 
			
		||||
  kubernetes.core.helm:
 | 
			
		||||
@@ -12,7 +12,7 @@
 | 
			
		||||
    wait: true
 | 
			
		||||
 | 
			
		||||
- set_fact:
 | 
			
		||||
    nfs_client_provisioner_ssd_combined_values: "{{ nfs_client_provisioner_ssd_default_values | combine(nfs_client_provisioner_ssd_values, recursive=true) }}"
 | 
			
		||||
    nfs_client_provisioner_ssd_combined_values: "{{ nfs_client_provisioner_ssd_default_values | combine(nfs_client_provisioner_ssd_values | default({}), recursive=true) }}"
 | 
			
		||||
 | 
			
		||||
- name: Deploy NFS client provisioner for SSD storage
 | 
			
		||||
  kubernetes.core.helm:
 | 
			
		||||
 
 | 
			
		||||
@@ -31,7 +31,7 @@
 | 
			
		||||
          group: cert-manager.io
 | 
			
		||||
 | 
			
		||||
- set_fact:
 | 
			
		||||
    openldap_combined_values: "{{ openldap_default_values | combine(openldap_values, recursive=true) }}"
 | 
			
		||||
    openldap_combined_values: "{{ openldap_default_values | combine(openldap_values | default({}), recursive=true) }}"
 | 
			
		||||
 | 
			
		||||
- name: Deploy OpenLDAP
 | 
			
		||||
  kubernetes.core.helm:
 | 
			
		||||
 
 | 
			
		||||
@@ -5,7 +5,7 @@
 | 
			
		||||
    - postgres_enabled is defined and postgres_enabled
 | 
			
		||||
 | 
			
		||||
- set_fact:
 | 
			
		||||
    peertube_combined_values: "{{ peertube_default_values | combine(peertube_values, recursive=true) }}"
 | 
			
		||||
    peertube_combined_values: "{{ peertube_default_values | combine(peertube_values | default({}), recursive=true) }}"
 | 
			
		||||
 | 
			
		||||
- name: Deploy PeerTube
 | 
			
		||||
  kubernetes.core.helm:
 | 
			
		||||
 
 | 
			
		||||
@@ -1,5 +1,5 @@
 | 
			
		||||
- set_fact:
 | 
			
		||||
    playmaker_combined_values: "{{ playmaker_default_values | combine(playmaker_values, recursive=true) }}"
 | 
			
		||||
    playmaker_combined_values: "{{ playmaker_default_values | combine(playmaker_values | default({}), recursive=true) }}"
 | 
			
		||||
 | 
			
		||||
- name: Deploy Docker playmaker
 | 
			
		||||
  kubernetes.core.helm:
 | 
			
		||||
 
 | 
			
		||||
@@ -287,6 +287,290 @@ postfix_default_values:
 | 
			
		||||
        query_filter = mail=%s
 | 
			
		||||
        result_attribute = cn
 | 
			
		||||
        cache = no
 | 
			
		||||
 | 
			
		||||
  service:
 | 
			
		||||
    type: LoadBalancer
 | 
			
		||||
    loadBalancerIP: "{{ postfix_loadbalancer_ip | default(omit) }}"
 | 
			
		||||
 | 
			
		||||
# WIP
 | 
			
		||||
postfix_oidc: false
 | 
			
		||||
postfix_oidc_default_values:
 | 
			
		||||
  replicaCount: 1
 | 
			
		||||
  persistence:
 | 
			
		||||
    enabled: true
 | 
			
		||||
    existingClaim: mailboxes
 | 
			
		||||
  tls:
 | 
			
		||||
    enabled: true
 | 
			
		||||
    existingSecret: "{{ mail_short_name | default('mail') }}.{{ domain }}-secret"
 | 
			
		||||
  postfix:
 | 
			
		||||
    configmaps:
 | 
			
		||||
      main: |
 | 
			
		||||
        #smtp_host_lookup = native
 | 
			
		||||
        compatibility_level = 2
 | 
			
		||||
        maillog_file = /dev/stdout
 | 
			
		||||
        # Use ipv4 and listen on all interfaces
 | 
			
		||||
        inet_protocols = ipv4
 | 
			
		||||
        inet_interfaces = all
 | 
			
		||||
        
 | 
			
		||||
        queue_directory = /var/spool/postfix
 | 
			
		||||
        command_directory = /usr/sbin
 | 
			
		||||
        daemon_directory = /usr/libexec/postfix
 | 
			
		||||
        data_directory = /var/lib/postfix
 | 
			
		||||
        mail_owner = postfix
 | 
			
		||||
        
 | 
			
		||||
        # Postfix full server name for mail send/recieve
 | 
			
		||||
        myhostname = {{ mail_short_name | default('mail') }}.{{ domain }}
 | 
			
		||||
        
 | 
			
		||||
        # Set domain name
 | 
			
		||||
        mydomain = {{ domain }}
 | 
			
		||||
        
 | 
			
		||||
        # Local name for mail send
 | 
			
		||||
        myorigin = $mydomain
 | 
			
		||||
        
 | 
			
		||||
        # Local mail delivery
 | 
			
		||||
        mydestination = $myhostname, localhost.$mydomain, localhost
 | 
			
		||||
        
 | 
			
		||||
        # Transport type
 | 
			
		||||
        local_transport = virtual
 | 
			
		||||
        
 | 
			
		||||
        # Local users map
 | 
			
		||||
        #local_recipient_maps = $virtual_mailbox_maps
 | 
			
		||||
        
 | 
			
		||||
        # Reject code
 | 
			
		||||
        unknown_local_recipient_reject_code = 550
 | 
			
		||||
        
 | 
			
		||||
        # Virtual domain list
 | 
			
		||||
        virtual_mailbox_domains = {{ domain }}
 | 
			
		||||
        virtual_mailbox_base = /var/mail/vhosts
 | 
			
		||||
        
 | 
			
		||||
        # Allowed users map
 | 
			
		||||
        #virtual_mailbox_maps = ldap:/etc/postfix/ldap-local-recipients.cf
 | 
			
		||||
        
 | 
			
		||||
        # Dovecot socket for mail delivery
 | 
			
		||||
        #virtual_transport = lmtp:unix:private/dovecot-lmtp
 | 
			
		||||
        virtual_transport = lmtp:inet:{{ dovecot_short_name | default('dovecot') }}.{{ namespace }}.svc.cluster.local:24
 | 
			
		||||
        
 | 
			
		||||
        # Certs and TLS options
 | 
			
		||||
        smtpd_tls_cert_file = /tls/tls.crt
 | 
			
		||||
        smtpd_tls_key_file = /tls/tls.key
 | 
			
		||||
        smtpd_use_tls = yes
 | 
			
		||||
        smtpd_tls_auth_only = yes
 | 
			
		||||
        smtpd_tls_security_level = may
 | 
			
		||||
        smtp_tls_loglevel = 1
 | 
			
		||||
        smtpd_tls_loglevel = 1
 | 
			
		||||
        smtpd_tls_received_header = yes
 | 
			
		||||
        smtpd_tls_session_cache_timeout = 3600s
 | 
			
		||||
        smtp_tls_note_starttls_offer = yes
 | 
			
		||||
        tls_random_source = dev:/dev/urandom
 | 
			
		||||
        smtp_tls_security_level = may
 | 
			
		||||
        # DANE-Settings
 | 
			
		||||
        #smtp_dns_support_level=dnssec
 | 
			
		||||
        #smtp_host_lookup=dns
 | 
			
		||||
        #smtp_tls_security_level = dane
 | 
			
		||||
        #smtp_tls_loglevel=1
 | 
			
		||||
        
 | 
			
		||||
        # Filters for mail
 | 
			
		||||
        smtpd_helo_required = yes
 | 
			
		||||
        #smtpd_recipient_restrictions = permit_sasl_authenticated, permit_mynetworks, reject_unauth_destination, reject_unknown_sender_domain, reject_invalid_helo_hostname, reject_unauth_destination
 | 
			
		||||
        smtpd_recipient_restrictions = permit_sasl_authenticated, permit_mynetworks, reject_unauth_destination, reject_non_fqdn_sender, reject_unknown_sender_domain, reject_invalid_helo_hostname, reject_non_fqdn_helo_hostname, reject_unauth_destination
 | 
			
		||||
        smtpd_discard_ehlo_keywords = ''
 | 
			
		||||
        
 | 
			
		||||
        # SASL auth with dovecot options
 | 
			
		||||
        smtpd_sasl_auth_enable = yes
 | 
			
		||||
        smtpd_sasl_security_options = noanonymous
 | 
			
		||||
        broken_sasl_auth_clients = yes
 | 
			
		||||
        smtpd_sasl_type = dovecot
 | 
			
		||||
        smtpd_sasl_path = inet:{{ dovecot_short_name | default('dovecot') }}.{{ namespace }}.svc.cluster.local:12345
 | 
			
		||||
        smtpd_sasl_local_domain = $myorigin
 | 
			
		||||
        
 | 
			
		||||
        milter_protocol = 6
 | 
			
		||||
        milter_mail_macros = i {mail_addr} {client_addr} {client_name} {auth_authen}
 | 
			
		||||
        smtpd_milters = inet:{{ rspamd_short_name | default('rspamd') }}.{{ namespace }}.svc.cluster.local:11332
 | 
			
		||||
        non_smtpd_milters = $smtpd_milters
 | 
			
		||||
        milter_default_action = accept
 | 
			
		||||
        
 | 
			
		||||
        smtpd_tls_CAfile = /etc/ssl/certs/ca-bundle.crt
 | 
			
		||||
        smtp_tls_CAfile = /etc/ssl/certs/ca-bundle.crt
 | 
			
		||||
        smtpd_tls_mandatory_protocols = !SSLv2, !SSLv3, !TLSv1, !TLSv1.1
 | 
			
		||||
        smtpd_tls_protocols = !SSLv2, !SSLv3, !TLSv1, !TLSv1.1
 | 
			
		||||
        smtp_tls_mandatory_protocols = !SSLv2, !SSLv3, !TLSv1, !TLSv1.1
 | 
			
		||||
        smtp_tls_protocols = !SSLv2, !SSLv3, !TLSv1, !TLSv1.1
 | 
			
		||||
        
 | 
			
		||||
        smtp_tls_exclude_ciphers = EXP, MEDIUM, LOW, DES, 3DES, SSLv2
 | 
			
		||||
        smtpd_tls_exclude_ciphers = EXP, MEDIUM, LOW, DES, 3DES, SSLv2
 | 
			
		||||
        
 | 
			
		||||
        tls_high_cipherlist = kEECDH:+kEECDH+SHA:kEDH:+kEDH+SHA:+kEDH+CAMELLIA:kECDH:+kECDH+SHA:kRSA:+kRSA+SHA:+kRSA+CAMELLIA:!aNULL:!eNULL:!SSLv2:!RC4:!MD5:!DES:!EXP:!SEED:!IDEA:!3DES
 | 
			
		||||
        tls_medium_cipherlist = kEECDH:+kEECDH+SHA:kEDH:+kEDH+SHA:+kEDH+CAMELLIA:kECDH:+kECDH+SHA:kRSA:+kRSA+SHA:+kRSA+CAMELLIA:!aNULL:!eNULL:!SSLv2:!MD5:!DES:!EXP:!SEED:!IDEA:!3DES
 | 
			
		||||
        
 | 
			
		||||
        smtp_tls_ciphers = high
 | 
			
		||||
        smtpd_tls_ciphers = high
 | 
			
		||||
        
 | 
			
		||||
        sendmail_path = /usr/sbin/sendmail
 | 
			
		||||
        html_directory = no
 | 
			
		||||
        setgid_group = postdrop
 | 
			
		||||
        manpage_directory = /usr/share/man
 | 
			
		||||
        newaliases_path = /usr/bin/newaliases
 | 
			
		||||
        mailq_path = /usr/bin/mailq
 | 
			
		||||
        
 | 
			
		||||
      master: |
 | 
			
		||||
        #
 | 
			
		||||
        # Postfix master process configuration file.  For details on the format
 | 
			
		||||
        # of the file, see the master(5) manual page (command: "man 5 master").
 | 
			
		||||
        #
 | 
			
		||||
        # Do not forget to execute "postfix reload" after editing this file.
 | 
			
		||||
        #
 | 
			
		||||
        # ==========================================================================
 | 
			
		||||
        # service type  private unpriv  chroot  wakeup  maxproc command + args
 | 
			
		||||
        #               (yes)   (yes)   (yes)   (never) (100)
 | 
			
		||||
        # ==========================================================================
 | 
			
		||||
        smtp      inet  n       -       n       -       -       smtpd
 | 
			
		||||
        #smtp      inet  n       -       n       -       1       postscreen
 | 
			
		||||
        smtpd     pass  -       -       n       -       -       smtpd
 | 
			
		||||
        dnsblog   unix  -       -       n       -       0       dnsblog
 | 
			
		||||
        tlsproxy  unix  -       -       n       -       0       tlsproxy
 | 
			
		||||
        submission inet n       -       n       -       -       smtpd
 | 
			
		||||
        #  -o syslog_name=postfix/submission
 | 
			
		||||
        #  -o smtpd_tls_security_level=encrypt
 | 
			
		||||
        #  -o smtpd_sasl_auth_enable=yes
 | 
			
		||||
        #  -o smtpd_reject_unlisted_recipient=no
 | 
			
		||||
        #  -o smtpd_client_restrictions=$mua_client_restrictions
 | 
			
		||||
        #  -o smtpd_helo_restrictions=$mua_helo_restrictions
 | 
			
		||||
        #  -o smtpd_sender_restrictions=$mua_sender_restrictions
 | 
			
		||||
        #  -o smtpd_recipient_restrictions=permit_sasl_authenticated,reject
 | 
			
		||||
        #  -o milter_macro_daemon_name=ORIGINATING
 | 
			
		||||
        smtps     inet  n       -       n       -       -       smtpd
 | 
			
		||||
        #  -o syslog_name=postfix/smtps
 | 
			
		||||
          -o smtpd_tls_wrappermode=yes
 | 
			
		||||
          -o smtpd_sasl_auth_enable=yes
 | 
			
		||||
        #  -o smtpd_reject_unlisted_recipient=no
 | 
			
		||||
        #  -o smtpd_client_restrictions=$mua_client_restrictions
 | 
			
		||||
        #  -o smtpd_helo_restrictions=$mua_helo_restrictions
 | 
			
		||||
        #  -o smtpd_sender_restrictions=$mua_sender_restrictions
 | 
			
		||||
          -o smtpd_recipient_restrictions=permit_sasl_authenticated,reject
 | 
			
		||||
        #  -o milter_macro_daemon_name=ORIGINATING
 | 
			
		||||
        #628       inet  n       -       n       -       -       qmqpd
 | 
			
		||||
        pickup    unix  n       -       n       60      1       pickup
 | 
			
		||||
        cleanup   unix  n       -       n       -       0       cleanup
 | 
			
		||||
        qmgr      unix  n       -       n       300     1       qmgr
 | 
			
		||||
        #qmgr     unix  n       -       n       300     1       oqmgr
 | 
			
		||||
        tlsmgr    unix  -       -       n       1000?   1       tlsmgr
 | 
			
		||||
        rewrite   unix  -       -       n       -       -       trivial-rewrite
 | 
			
		||||
        bounce    unix  -       -       n       -       0       bounce
 | 
			
		||||
        defer     unix  -       -       n       -       0       bounce
 | 
			
		||||
        trace     unix  -       -       n       -       0       bounce
 | 
			
		||||
        verify    unix  -       -       n       -       1       verify
 | 
			
		||||
        flush     unix  n       -       n       1000?   0       flush
 | 
			
		||||
        proxymap  unix  -       -       n       -       -       proxymap
 | 
			
		||||
        proxywrite unix -       -       n       -       1       proxymap
 | 
			
		||||
        smtp      unix  -       -       n       -       -       smtp
 | 
			
		||||
        relay     unix  -       -       n       -       -       smtp
 | 
			
		||||
        #       -o smtp_helo_timeout=5 -o smtp_connect_timeout=5
 | 
			
		||||
        showq     unix  n       -       n       -       -       showq
 | 
			
		||||
        error     unix  -       -       n       -       -       error
 | 
			
		||||
        retry     unix  -       -       n       -       -       error
 | 
			
		||||
        discard   unix  -       -       n       -       -       discard
 | 
			
		||||
        local     unix  -       n       n       -       -       local
 | 
			
		||||
        virtual   unix  -       n       n       -       -       virtual
 | 
			
		||||
        lmtp      unix  -       -       n       -       -       lmtp
 | 
			
		||||
        anvil     unix  -       -       n       -       1       anvil
 | 
			
		||||
        scache    unix  -       -       n       -       1       scache
 | 
			
		||||
        postlog   unix-dgram n  -       n       -       1       postlogd
 | 
			
		||||
        2525      inet  n       -       n       -       1       postscreen
 | 
			
		||||
          #-o postscreen_upstream_proxy_protocol=haproxy
 | 
			
		||||
          -o postscreen_cache_map=btree:$data_directory/postscreen_2525_cache
 | 
			
		||||
          -o syslog_name=postfix/2525
 | 
			
		||||
        10587     inet     n    -    n    -    -    smtpd
 | 
			
		||||
          -o syslog_name=postfix/10587
 | 
			
		||||
          -o smtpd_tls_security_level=encrypt
 | 
			
		||||
          -o smtpd_tls_wrappermode=no
 | 
			
		||||
          -o smtpd_sasl_auth_enable=yes
 | 
			
		||||
          -o smtpd_relay_restrictions=permit_sasl_authenticated,reject
 | 
			
		||||
          -o smtpd_recipient_restrictions=permit_mynetworks,permit_sasl_authenticated,reject
 | 
			
		||||
          -o milter_macro_daemon_name=ORIGINATING
 | 
			
		||||
          -o smtpd_sasl_type=dovecot
 | 
			
		||||
          -o smtpd_sasl_path=inet:{{ dovecot_short_name | default('dovecot') }}.{{ namespace }}.svc.cluster.local:12345
 | 
			
		||||
          #-o smtpd_upstream_proxy_protocol=haproxy
 | 
			
		||||
        10465     inet  n       -       n       -       -       smtpd
 | 
			
		||||
          -o syslog_name=postfix/10465
 | 
			
		||||
          -o smtpd_tls_wrappermode=yes
 | 
			
		||||
          -o smtpd_sasl_auth_enable=yes
 | 
			
		||||
          -o smtpd_recipient_restrictions=permit_mynetworks,permit_sasl_authenticated,reject
 | 
			
		||||
          -o milter_macro_daemon_name=ORIGINATING
 | 
			
		||||
          -o smtpd_sasl_type=dovecot
 | 
			
		||||
          -o smtpd_sasl_path=inet:{{ dovecot_short_name | default('dovecot') }}.{{ namespace }}.svc.cluster.local:12345
 | 
			
		||||
          #-o smtpd_upstream_proxy_protocol=haproxy
 | 
			
		||||
        #
 | 
			
		||||
        # ====================================================================
 | 
			
		||||
        # Interfaces to non-Postfix software. Be sure to examine the manual
 | 
			
		||||
        # pages of the non-Postfix software to find out what options it wants.
 | 
			
		||||
        #
 | 
			
		||||
        # Many of the following services use the Postfix pipe(8) delivery
 | 
			
		||||
        # agent.  See the pipe(8) man page for information about ${recipient}
 | 
			
		||||
        # and other message envelope options.
 | 
			
		||||
        # ====================================================================
 | 
			
		||||
        #
 | 
			
		||||
        # maildrop. See the Postfix MAILDROP_README file for details.
 | 
			
		||||
        # Also specify in main.cf: maildrop_destination_recipient_limit=1
 | 
			
		||||
        #
 | 
			
		||||
        #maildrop  unix  -       n       n       -       -       pipe
 | 
			
		||||
        #  flags=DRhu user=vmail argv=/usr/local/bin/maildrop -d ${recipient}
 | 
			
		||||
        #
 | 
			
		||||
        # ====================================================================
 | 
			
		||||
        #
 | 
			
		||||
        # Recent Cyrus versions can use the existing "lmtp" master.cf entry.
 | 
			
		||||
        #
 | 
			
		||||
        # Specify in cyrus.conf:
 | 
			
		||||
        #   lmtp    cmd="lmtpd -a" listen="localhost:lmtp" proto=tcp4
 | 
			
		||||
        #
 | 
			
		||||
        # Specify in main.cf one or more of the following:
 | 
			
		||||
        #  mailbox_transport = lmtp:inet:localhost
 | 
			
		||||
        #  virtual_transport = lmtp:inet:localhost
 | 
			
		||||
        #
 | 
			
		||||
        # ====================================================================
 | 
			
		||||
        #
 | 
			
		||||
        # Cyrus 2.1.5 (Amos Gouaux)
 | 
			
		||||
        # Also specify in main.cf: cyrus_destination_recipient_limit=1
 | 
			
		||||
        #
 | 
			
		||||
        #cyrus     unix  -       n       n       -       -       pipe
 | 
			
		||||
        #  user=cyrus argv=/usr/lib/cyrus-imapd/deliver -e -r ${sender} -m ${extension} ${user}
 | 
			
		||||
        #
 | 
			
		||||
        # ====================================================================
 | 
			
		||||
        #
 | 
			
		||||
        # Old example of delivery via Cyrus.
 | 
			
		||||
        #
 | 
			
		||||
        #old-cyrus unix  -       n       n       -       -       pipe
 | 
			
		||||
        #  flags=R user=cyrus argv=/usr/lib/cyrus-imapd/deliver -e -m ${extension} ${user}
 | 
			
		||||
        #
 | 
			
		||||
        # ====================================================================
 | 
			
		||||
        #
 | 
			
		||||
        # See the Postfix UUCP_README file for configuration details.
 | 
			
		||||
        #
 | 
			
		||||
        #uucp      unix  -       n       n       -       -       pipe
 | 
			
		||||
        #  flags=Fqhu user=uucp argv=uux -r -n -z -a$sender - $nexthop!rmail ($recipient)
 | 
			
		||||
        #
 | 
			
		||||
        # ====================================================================
 | 
			
		||||
        #
 | 
			
		||||
        # Other external delivery methods.
 | 
			
		||||
        #
 | 
			
		||||
        #ifmail    unix  -       n       n       -       -       pipe
 | 
			
		||||
        #  flags=F user=ftn argv=/usr/lib/ifmail/ifmail -r $nexthop ($recipient)
 | 
			
		||||
        #
 | 
			
		||||
        #bsmtp     unix  -       n       n       -       -       pipe
 | 
			
		||||
        #  flags=Fq. user=bsmtp argv=/usr/local/sbin/bsmtp -f $sender $nexthop $recipient
 | 
			
		||||
        #
 | 
			
		||||
        #scalemail-backend unix -       n       n       -       2       pipe
 | 
			
		||||
        #  flags=R user=scalemail argv=/usr/lib/scalemail/bin/scalemail-store
 | 
			
		||||
        #  ${nexthop} ${user} ${extension}
 | 
			
		||||
        #
 | 
			
		||||
        #mailman   unix  -       n       n       -       -       pipe
 | 
			
		||||
        #  flags=FR user=list argv=/usr/lib/mailman/bin/postfix-to-mailman.py
 | 
			
		||||
        #  ${nexthop} ${user}
 | 
			
		||||
        #dane       unix  -       -       n       -       -       smtp
 | 
			
		||||
        #  -o smtp_dns_support_level=dnssec
 | 
			
		||||
        #  -o smtp_tls_security_level=dane
 | 
			
		||||
        #policyd-spf unix - n n - 0 spawn user=nobody argv=/usr/libexec/postfix/policyd-spf
 | 
			
		||||
      ldap-local-recipients: |
 | 
			
		||||
 | 
			
		||||
  service:
 | 
			
		||||
    type: LoadBalancer
 | 
			
		||||
    loadBalancerIP: "{{ postfix_loadbalancer_ip | default(omit) }}"
 | 
			
		||||
 
 | 
			
		||||
@@ -1,5 +1,10 @@
 | 
			
		||||
- set_fact:
 | 
			
		||||
    postfix_combined_values: "{{ postfix_default_values | combine(postfix_values, recursive=true) }}"
 | 
			
		||||
    postfix_combined_values: "{{ postfix_default_values | combine(postfix_values | default({}), recursive=true) }}"
 | 
			
		||||
  when: not mail_oidc
 | 
			
		||||
 | 
			
		||||
- set_fact:
 | 
			
		||||
    postfix_combined_values: "{{ postfix_oidc_default_values | combine(postfix_oidc_values | default({}), recursive=true) }}"
 | 
			
		||||
  when: mail_oidc
 | 
			
		||||
 | 
			
		||||
- name: Deploy Postfix
 | 
			
		||||
  kubernetes.core.helm:
 | 
			
		||||
 
 | 
			
		||||
@@ -43,7 +43,7 @@
 | 
			
		||||
        ALLOW_NOSSL: "true"
 | 
			
		||||
 | 
			
		||||
- set_fact:
 | 
			
		||||
    postgres_operator_combined_values: "{{ postgres_operator_default_values | combine(postgres_operator_values, recursive=true) }}"
 | 
			
		||||
    postgres_operator_combined_values: "{{ postgres_operator_default_values | combine(postgres_operator_values | default({}), recursive=true) }}"
 | 
			
		||||
  when: postgres_operator_enabled
 | 
			
		||||
 | 
			
		||||
- name: Deploy Postgres Operator
 | 
			
		||||
@@ -58,7 +58,7 @@
 | 
			
		||||
  when: postgres_operator_enabled
 | 
			
		||||
 | 
			
		||||
- set_fact:
 | 
			
		||||
    postgres_operator_ui_combined_values: "{{ postgres_operator_ui_default_values | combine(postgres_operator_ui_values, recursive=true) }}"
 | 
			
		||||
    postgres_operator_ui_combined_values: "{{ postgres_operator_ui_default_values | combine(postgres_operator_ui_values | default({}), recursive=true) }}"
 | 
			
		||||
  when: postgres_operator_ui_enabled
 | 
			
		||||
 | 
			
		||||
- name: Deploy Postgres Operator UI
 | 
			
		||||
 
 | 
			
		||||
@@ -1,5 +1,5 @@
 | 
			
		||||
- set_fact:
 | 
			
		||||
    pypiserver_combined_values: "{{ pypiserver_default_values | combine(pypiserver_values, recursive=true) }}"
 | 
			
		||||
    pypiserver_combined_values: "{{ pypiserver_default_values | combine(pypiserver_values | default({}), recursive=true) }}"
 | 
			
		||||
 | 
			
		||||
- name: Deploy pypiserver
 | 
			
		||||
  kubernetes.core.helm:
 | 
			
		||||
 
 | 
			
		||||
@@ -77,7 +77,7 @@ roundcube_default_values:
 | 
			
		||||
            'ssl' => array(
 | 
			
		||||
              'verify_peer'       => false,
 | 
			
		||||
              'allow_self_signed' => true,
 | 
			
		||||
              'ciphers' => 'TLSv1.2+HIGH:!aNull:@STRENGTH',
 | 
			
		||||
              'ciphers' => 'TLSv1.3+HIGH:!aNull:@STRENGTH',
 | 
			
		||||
            ),
 | 
			
		||||
        );
 | 
			
		||||
        // For STARTTLS SMTP
 | 
			
		||||
@@ -85,7 +85,7 @@ roundcube_default_values:
 | 
			
		||||
            'ssl' => array(
 | 
			
		||||
              'verify_peer'       => false,
 | 
			
		||||
              'allow_self_signed' => true,
 | 
			
		||||
              'ciphers' => 'TLSv1.2+HIGH:!aNull:@STRENGTH',
 | 
			
		||||
              'ciphers' => 'TLSv1.3+HIGH:!aNull:@STRENGTH',
 | 
			
		||||
            ),
 | 
			
		||||
        );
 | 
			
		||||
      ?>
 | 
			
		||||
 
 | 
			
		||||
@@ -5,7 +5,7 @@
 | 
			
		||||
    - postgres_enabled is defined and postgres_enabled
 | 
			
		||||
 | 
			
		||||
- set_fact:
 | 
			
		||||
    roundcube_combined_values: "{{ roundcube_default_values | combine(roundcube_values, recursive=true) }}"
 | 
			
		||||
    roundcube_combined_values: "{{ roundcube_default_values | combine(roundcube_values | default({}), recursive=true) }}"
 | 
			
		||||
 | 
			
		||||
- name: Deploy RoundCube
 | 
			
		||||
  kubernetes.core.helm:
 | 
			
		||||
 
 | 
			
		||||
@@ -1,5 +1,5 @@
 | 
			
		||||
- set_fact:
 | 
			
		||||
    rspamd_combined_values: "{{ rspamd_default_values | combine(rspamd_values, recursive=true) }}"
 | 
			
		||||
    rspamd_combined_values: "{{ rspamd_default_values | combine(rspamd_values | default({}), recursive=true) }}"
 | 
			
		||||
 | 
			
		||||
- name: Deploy Rspamd
 | 
			
		||||
  kubernetes.core.helm:
 | 
			
		||||
 
 | 
			
		||||
@@ -1,5 +1,5 @@
 | 
			
		||||
- set_fact:
 | 
			
		||||
    service_dns_combined_values: "{{ service_dns_default_values | combine(service_dns_values, recursive=true) }}"
 | 
			
		||||
    service_dns_combined_values: "{{ service_dns_default_values | combine(service_dns_values | default({}), recursive=true) }}"
 | 
			
		||||
 | 
			
		||||
- name: Deploy service DNS
 | 
			
		||||
  kubernetes.core.helm:
 | 
			
		||||
 
 | 
			
		||||
@@ -5,7 +5,7 @@
 | 
			
		||||
    - postgres_enabled is defined and postgres_enabled
 | 
			
		||||
 | 
			
		||||
- set_fact:
 | 
			
		||||
    wikijs_combined_values: "{{ wikijs_default_values | combine(wikijs_values, recursive=true) }}"
 | 
			
		||||
    wikijs_combined_values: "{{ wikijs_default_values | combine(wikijs_values | default({}), recursive=true) }}"
 | 
			
		||||
 | 
			
		||||
- name: Deploy WikiJS
 | 
			
		||||
  kubernetes.core.helm:
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user