Phase 0 done: close out and record milter spike results
De-risk spike confirmed emersion/go-milter v0.4.1 (BSD-2) interoperates with Postfix 3.7.11 (bookworm) over protocol v6: reads From/To(per-rcpt)/Subject/ queue-id, gets client IP from Connect(), and fails open when the milter dies. Progress tracker updated; Phase 1 (Docker + supervisord) is next. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
+12
-5
@@ -46,10 +46,17 @@
|
|||||||
|
|
||||||
## Текущее состояние
|
## Текущее состояние
|
||||||
|
|
||||||
- **Текущая фаза:** 0 (ещё не начата)
|
- **Текущая фаза:** 0 ✅ закрыта → следующая **Фаза 1** (Docker + supervisord + три процесса)
|
||||||
- **Модель:** Opus
|
- **Модель для Фазы 1:** Opus
|
||||||
- **Статус:** план и решения утверждены; инфраструктура workflow настроена
|
- **Статус:** каркас собран и проверен на сервере; спайк milter снял главный риск ТЗ 7.3
|
||||||
- **Следующий шаг:** начать Фазу 0 — `go mod init codeberg.org/mix/selfpost`, структура каталогов, `LICENSE` (AGPL-3.0), скелет README, сборка с ldflags-версией; затем спайк go-milter на `selfpost.example.com`.
|
- **Следующий шаг (Фаза 1):** `Dockerfile` (bookworm-slim: postfix, opendkim, cyrus-sasl, supervisor, logrotate); `supervisord.conf` с `priority=` (opendkim→panel→postfix); стартовая обёртка Postfix с ожиданием milter-сокетов; панель `:8080` с заглушкой + stub journal-milter listener + stub log-tailer; непривилегированный пользователь панели. Проверка: `docker build`, контейнер стартует, три процесса живы.
|
||||||
|
|
||||||
|
### Сделано в Фазе 0
|
||||||
|
- Go-модуль `codeberg.org/mix/selfpost`, каркас `cmd/panel` + `cmd/selfpost-backup`, общий `internal/buildinfo` (версия через ldflags).
|
||||||
|
- `Makefile` (статическая сборка `CGO_ENABLED=0`), `LICENSE` (полный AGPL-3.0), скелет `README.md`, `.gitattributes` (LF).
|
||||||
|
- Проверено на сервере: `go vet` чист, `make build` даёт статические бинарники, версия впечатывается.
|
||||||
|
- **Спайк go-milter** (де-риск ТЗ 7.3): v0.4.1 (BSD-2) ↔ Postfix 3.7.11 bookworm, протокол v6. Подтверждено чтение From/To(per-rcpt)/Subject/queue-id, client IP из Connect(), **fail-open** при падении milter'а. Детали: `dev/spike-milter-notes.md`.
|
||||||
|
- **Провижён dev-сервер:** Go 1.26.5, Docker 29.6.1, git, rsync, make. Host-postfix (спайковый) остановлен+отключён.
|
||||||
|
|
||||||
## Рабочая петля (dev loop) — ВАЖНО
|
## Рабочая петля (dev loop) — ВАЖНО
|
||||||
|
|
||||||
@@ -66,4 +73,4 @@
|
|||||||
|
|
||||||
## Журнал фаз
|
## Журнал фаз
|
||||||
|
|
||||||
_(пока пусто — заполняется по мере закрытия фаз)_
|
- **Фаза 0** (2026-07-11, Opus) — каркас проекта + build-пайплайн + спайк go-milter (риск ТЗ 7.3 снят). Коммиты `4e589e1` (каркас), `87388b4` (план).
|
||||||
|
|||||||
Reference in New Issue
Block a user