You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on May 24, 2025. It is now read-only.
Dovecot director is used to keep a temporary user -> mail server (= dovecot server) mapping, as described in <ahref="https://wiki.dovecot.org/Director">dovecot docs</a>.
4
-
If a dovecot director and dovecot server are used in a kubernetes cluster, mappings are not being updated in case a dovecot container restarts for example.
5
-
To update the new pod ip and therefore to correct the mapping a manual execution of the command "doveadm reload" needs to be done on the dovecot director server.
6
-
Since no one wants to waste manual effort on responses to ordinary container events this tool intends to automatically execute said command on the dovecot director shell whenever a dovecot container/pod becomes ready.
3
+
Dovecot director is used to keep a temporary user -> mail server (= dovecot server) mapping, as described in
If a dovecot director and dovecot server are used in a kubernetes cluster, mappings are not being updated in case a
7
+
dovecot container restarts for example since dovecot is not made to be used with private IPs as it is in k8s setup.
8
+
To update the new pod ip and therefore to correct the mapping, a manual execution of the command `doveadm reload` needs
9
+
to be done on the dovecot director server.
10
+
11
+
Since no one wants to waste manual effort on responses to ordinary container events this tool intends to automatically
12
+
execute said command on the dovecot director pod container shell whenever a dovecot container/pod becomes ready
13
+
or when the tls secret is changed or updated.
7
14
8
15
9
16
### Usage
10
17
11
18
Runs inside and outside of a kubernetes cluster.
19
+
12
20
If you don't run it inside a k8s cluster it tries to load the kubeconfig in the executing users homedir.
13
21
If it does not exist you need to specify the absolute path with command flag "-c".
14
22
15
23
Environment variables needed for successful execution:
16
-
*`DOVECOT_NAMESPACE`(string): Namespace name which must contain both dovecot director and dovecot pods
17
-
*`DOVECOT_LABELS`(string): All labels given to dovecot for conclusive identification of dovecot pods, same format as in `DOVECOT_DIRECTOR_LABELS`
24
+
*`DOVECOT_NAMESPACE`(string): Name of namespace that must contain both dovecot and dovecot director pods
18
25
*`DOVECOT_DIRECTOR_LABELS`(string): All labels given to dovecot director for conclusive identification of dovecot director pods in the following format: `<LABEL1>=<VALUE1>,<LABEL2>=<VALUE2>`
19
-
*`DOVECOT_DIRECTOR_CONTAINER_NAME` (string) (optional): Container Name of dovecot-director in Pod. Defaults to first Container in Pod if not set.
26
+
*`DOVECOT_LABELS`(string): All labels given to dovecot for conclusive identification of dovecot pods, same format as in `DOVECOT_DIRECTOR_LABELS`
27
+
28
+
Optional environment parameters:
29
+
*`DOVECOT_DIRECTOR_CONTAINER_NAME` (string) : Container Name of dovecot-director in Pod. Defaults to first Container in Pod if not set.
30
+
*`SYNC_FREQUENCY_DURATION` (int, seconds, default: 70): This parameter is based on kubelets parameter `--sync-frequency duration` which is
31
+
by default set to 60s, so if you change the value of kubelets parameter you should use the same value plus a few seconds
32
+
to trigger at `doveadm reload` after adding/changing tls secrets successfully
0 commit comments