From d2724ec727fdc48f43dfd1a2354c7ccf103a2186 Mon Sep 17 00:00:00 2001 From: Andriy Oblivantsev Date: Wed, 2 Sep 2026 13:50:54 +0100 Subject: [PATCH] chore(dovecot): drop deleted wheregroup@produktor.io A1 pilot box from owner lists (#252) --- README.md | 12 +++++------- config/user-patches.sh | 12 ++++++------ 2 files changed, 11 insertions(+), 13 deletions(-) diff --git a/README.md b/README.md index e58c7a7..d4ef253 100644 --- a/README.md +++ b/README.md @@ -25,16 +25,14 @@ mailboxes: source box. Nobody logs in; legacy `.eml` corpus is imported via doveadm by the ETL connector (`bin/mail/incubator.go`, 2dph), routed to `Sent`/`INBOX`/`INBOX/Unmatched` by the recipient headers. -- `wheregroup@produktor.io` — superseded A1 pilot box (abstract "source" - model, issue #251): its 1000 imported messages are migrated to - `andriy.oblivantsev@wheregroup.com` and the account is then deleted (issue - #252). Listed until deletion; `user-patches.sh` skips owners that are no - longer in `postfix-accounts.cf`. +- ~~`wheregroup@produktor.io`~~ — deleted: superseded A1 pilot box of the old + abstract-"source" model (issue #251); its 1000 messages were migrated to + `andriy.oblivantsev@wheregroup.com` and the account was removed (issue #252). Passwords live in `.env` (`INFO_PASSWORD`, `ANDRIY_PASSWORD`; `ano@` uses `GATOR_MAIL_PASS` in the gator repo `.env`; `andriy.oblivantsev@wheregroup.com` -uses `ANDRIY_WG_PASSWORD`, random — no interactive login; `wheregroup@` uses -`WHEGROUP_PASSWORD`). Do not commit `.env`. +uses `ANDRIY_WG_PASSWORD`, random — no interactive login). Do not commit +`.env`. ## Web UI (Roundcube) diff --git a/config/user-patches.sh b/config/user-patches.sh index e91ea1a..1fb2ec3 100755 --- a/config/user-patches.sh +++ b/config/user-patches.sh @@ -10,11 +10,11 @@ # 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 wheregroup period = andriy.oblivantsev@wheregroup.com; later periods get -# their own account (eslider@gmail.com, ...@viscreation.de, ...). -# wheregroup@produktor.io stays listed as the superseded A1 pilot box until -# its 1000 messages are migrated and the account is deleted — grant_share -# skips owners that are not (yet) in postfix-accounts.cf, so a deleted account -# is a silent no-op. +# their own account (eslider@gmail.com, ...@viscreation.de, ...). The A1 pilot +# box wheregroup@produktor.io (abstract "source" model) was deleted after its +# 1000 messages were migrated to the historical account — grant_share skips +# owners that are not (yet) in postfix-accounts.cf, so a not-yet-created +# account is a silent no-op. # DMS runs this only on the FIRST start of each container instance (plain # `docker compose restart` skips the setup step by design — /CONTAINER_START # 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. READER='info@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 local owner=$1