chore(dovecot): drop deleted wheregroup@produktor.io A1 pilot box from owner lists (#252)

This commit is contained in:
2026-09-02 13:50:54 +01:00
parent 6cdd704aef
commit d2724ec727
2 changed files with 11 additions and 13 deletions
+5 -7
View File
@@ -25,16 +25,14 @@ mailboxes:
source box. Nobody logs in; legacy `.eml` corpus is imported via doveadm by source box. Nobody logs in; legacy `.eml` corpus is imported via doveadm by
the ETL connector (`bin/mail/incubator.go`, 2dph), routed to the ETL connector (`bin/mail/incubator.go`, 2dph), routed to
`Sent`/`INBOX`/`INBOX/Unmatched` by the recipient headers. `Sent`/`INBOX`/`INBOX/Unmatched` by the recipient headers.
- `wheregroup@produktor.io` — superseded A1 pilot box (abstract "source" - ~~`wheregroup@produktor.io`~~ — deleted: superseded A1 pilot box of the old
model, issue #251): its 1000 imported messages are migrated to abstract-"source" model (issue #251); its 1000 messages were migrated to
`andriy.oblivantsev@wheregroup.com` and the account is then deleted (issue `andriy.oblivantsev@wheregroup.com` and the account was removed (issue #252).
#252). Listed until deletion; `user-patches.sh` skips owners that are no
longer in `postfix-accounts.cf`.
Passwords live in `.env` (`INFO_PASSWORD`, `ANDRIY_PASSWORD`; `ano@` uses Passwords live in `.env` (`INFO_PASSWORD`, `ANDRIY_PASSWORD`; `ano@` uses
`GATOR_MAIL_PASS` in the gator repo `.env`; `andriy.oblivantsev@wheregroup.com` `GATOR_MAIL_PASS` in the gator repo `.env`; `andriy.oblivantsev@wheregroup.com`
uses `ANDRIY_WG_PASSWORD`, random — no interactive login; `wheregroup@` uses uses `ANDRIY_WG_PASSWORD`, random — no interactive login). Do not commit
`WHEGROUP_PASSWORD`). Do not commit `.env`. `.env`.
## Web UI (Roundcube) ## Web UI (Roundcube)
+6 -6
View File
@@ -10,11 +10,11 @@
# Incubator model (corrected 2026-09-02, issue #252): the incubator mailbox IS # Incubator model (corrected 2026-09-02, issue #252): the incubator mailbox IS
# the owner's HISTORICAL ADDRESS per period, not an abstract "source" mailbox. # the owner's HISTORICAL ADDRESS per period, not an abstract "source" mailbox.
# The wheregroup period = andriy.oblivantsev@wheregroup.com; later periods get # The wheregroup period = andriy.oblivantsev@wheregroup.com; later periods get
# their own account (eslider@gmail.com, ...@viscreation.de, ...). # their own account (eslider@gmail.com, ...@viscreation.de, ...). The A1 pilot
# wheregroup@produktor.io stays listed as the superseded A1 pilot box until # box wheregroup@produktor.io (abstract "source" model) was deleted after its
# its 1000 messages are migrated and the account is deleted — grant_share # 1000 messages were migrated to the historical account — grant_share skips
# skips owners that are not (yet) in postfix-accounts.cf, so a deleted account # owners that are not (yet) in postfix-accounts.cf, so a not-yet-created
# is a silent no-op. # account is a silent no-op.
# DMS runs this only on the FIRST start of each container instance (plain # DMS runs this only on the FIRST start of each container instance (plain
# `docker compose restart` skips the setup step by design — /CONTAINER_START # `docker compose restart` skips the setup step by design — /CONTAINER_START
# marker), so it must stay idempotent. ACLs, the shared dict and subscriptions # marker), so it must stay idempotent. ACLs, the shared dict and subscriptions
@@ -38,7 +38,7 @@ chmod 0770 "${SHARED_DB_DIR}"
# when Roundcube moves a deleted message to Trash. # when Roundcube moves a deleted message to Trash.
READER='info@produktor.io' READER='info@produktor.io'
PRODUCTION_OWNERS='ano@produktor.io andriy.oblivantsev@produktor.io postmaster@produktor.io' PRODUCTION_OWNERS='ano@produktor.io andriy.oblivantsev@produktor.io postmaster@produktor.io'
INCUBATOR_OWNERS='andriy.oblivantsev@wheregroup.com wheregroup@produktor.io' INCUBATOR_OWNERS='andriy.oblivantsev@wheregroup.com'
grant_share() { # $1=owner, remaining=right names grant_share() { # $1=owner, remaining=right names
local owner=$1 local owner=$1