0006 — Среды, домены, инфраструктура и релизы¶
- Дата: 2026-08-21.
- Статус: Частично заменено; Basic Auth policy заменена решением 0030, доменная схема заменена решением 0019.
- Ответственный: владелец проекта.
Актуальная access policy определена решением 0030: Basic Auth не применяется без нового прямого запроса владельца. Ниже сохранён исторический контекст решения.
Контекст¶
Владелец выделил тестовый сервер для DEV и STAGE, отдельные домены для наблюдения за разработкой и отдельный будущий production-сервер. Требовалось исключить смешивание данных, секретов и сборок между контурами.
Решение¶
dev.skuaro.top— DEV продукта на тестовом сервере.skuaro.top— STAGE продукта на том же тестовом сервере, но в изолированном контуре.doc-dev.skuaro.top— защищённая документация разработчика.skuaro.com— production-лендинг,www.skuaro.comперенаправляется на него.lk.skuaro.com— production-продукт на отдельном сервере.doc.skuaro.com— публичная документация пользователя.- API остаётся same-origin по
/api/v1. - DEV, STAGE и
doc-devзащищаются Basic Auth иnoindex. - На тестовом сервере используются отдельные Compose projects
skuaro-devиskuaro-stage; PROD используетskuaro-prodна отдельном сервере. - Каждая среда имеет собственные network, PostgreSQL, volumes, credentials, sessions, runtime config, logs и backup policy.
- Целевой reverse proxy — Caddy, но существующий безопасный proxy не заменяется до аудита.
- STAGE и PROD получают один и тот же image digest без пересборки.
- Формальная CalVer-версия
YY.MM.DD.NNприсваивается только продукту наlk.skuaro.com.
Причины¶
Разделение окружений позволяет использовать один тестовый сервер без смешивания данных и выпускать проверенный артефакт. Same-origin API упрощает cookies и CORS. Отдельный production-сервер ограничивает влияние разработки и тестов на пользователей.
Последствия¶
- Сервер, DNS и deploy требуют отдельных разрешений после read-only аудита.
- DEV имеет build metadata
dev-<shortsha>, STAGE —YY.MM.DD.NN-rc, PROD —YY.MM.DD.NN. - Git tag продукта имеет вид
app-vYY.MM.DD.NN. - Лендинг и документация имеют независимые build ID и не меняют версию продукта.
latestне используется как единственный deploy tag.- PROD не запускается на выделенном тестовом сервере.
Откат или замена¶
Изменение домена, размещения production или границ сред требует нового решения. Техническая замена Caddy на существующий проверенный proxy допускается после server audit, если все security и routing требования сохраняются.