Тема
10.04 Environments, Deployment And Configuration
Статус: черновик для обсуждения
1. Назначение документа
Этот документ фиксирует product-level decisions по environments, sandbox/test provider availability, configuration and deployment approval для MVP.
Это не DevOps runbook.
Development/DevOps team должна определить:
- exact infrastructure setup;
- CI/CD pipeline;
- secrets storage;
- deployment strategy;
- environment variables;
- access policies;
- release process details.
2. Required environments
В MVP нужны environments:
local;dev;stg;prod.
Назначение:
local- локальная разработка;dev- shared development/testing;stg- staging/sandbox validation before production;prod- production traffic.
3. Sandbox environment
Отдельный sandbox environment в MVP не нужен.
Sandbox/test provider flow работает внутри:
text
stgТакже test provider доступен в:
text
prodЭто значит:
- merchant может тестировать integration в
stg; - merchant может создавать test transactions in
prod, если использует test provider/test flow; - отдельный sandbox deployment не требуется.
4. Merchant documentation and base URLs
Merchant public documentation должна разделять base URLs по environments.
Минимально документация должна показывать:
stgbase URL;prodbase URL.
local and dev URLs не обязательно публиковать merchant-ам.
Public documentation должна объяснять, что credentials/API keys are environment-specific because environments are isolated.
5. Test provider availability
Test provider доступен:
- in
stg; - in
prod.
В prod test provider доступен всем merchants.
Нет product requirement ограничивать test provider только selected merchants.
Test transactions должны быть clearly marked:
text
test = true6. Environment badge in Back Office
Environment badge в Back Office в MVP не нужен.
Back Office не должен обязательно показывать user-у:
local;dev;stg;prod.
Если development/design team захочет добавить visual indicator later, это не MVP product requirement.
7. Provider credentials by environment
В MVP не нужно запрещать real provider credentials in local / dev на product level.
Security/DevOps team должна определить safe secrets handling policy.
Product decision:
text
No product-level prohibition for real provider credentials in local/dev.8. API keys by environment
API keys не являются shared между environments.
Так как environments должны иметь separate data/configuration, API key создается внутри конкретного environment.
Пример:
text
Merchant A in stg -> stg API key
Merchant A in prod -> prod API keyProduct не требует отдельной настройки “same API key across environments”.
9. Webhook signing secrets by environment
Webhook signing uses merchant-specific secret / key material defined in the environment where merchant exists.
Product не требует отдельного global “webhook signing secret per environment”.
Каждый merchant имеет свой secret/key material in that environment.
Exact signing material source должна определить development/security team:
- merchant API key secret;
- separate webhook signing secret;
- derived secret;
- another secure approach.
Но product-level rule:
text
Merchant webhook signing must be merchant-specific and environment-local.10. 2FA by environment
2FA обязательна для production Back Office.
2FA также обязательна для stg and dev.
Login without 2FA в stg/dev для тестирования не разрешается на product level.
Product decision:
text
No 2FA bypass in MVP environments.11. Environment in transaction data/UI
Transaction data не должна хранить environment как product field.
Transaction details не должны показывать environment.
Reason:
- transaction lives inside one environment already;
- environment is deployment/runtime context, not transaction business context;
- showing environment in transaction details adds noise and does not help merchant/support investigation in normal flow.
12. Maintenance mode / banner
Maintenance mode / banner не входит в MVP.
Back Office не требует:
- maintenance banner;
- incident banner;
- planned maintenance banner;
- emergency pause banner.
13. Deployment approval
PO deployment approval перед production deploy не требуется как MVP product process.
Product Owner принимает MVP readiness / product acceptance.
Production deploy approval, если нужен, является engineering/ops release process decision.
Product-level decision:
text
No mandatory PO approval gate for every production deploy in MVP.14. Acceptance Criteria
Environment / Deployment / Configuration decisions считаются согласованными для MVP, если:
- Environments: local, dev, stg, prod.
- Отдельный sandbox environment не нужен.
- Sandbox/test provider flow работает внутри stg.
- Test provider доступен в prod.
- Test provider в prod доступен всем merchants.
- Merchant documentation разделяет base URLs по stg/prod.
- Back Office environment badge не нужен.
- Product не запрещает real provider credentials in local/dev.
- API keys are environment-local because environments have separate data/configuration.
- Merchant webhook signing secret/key material is merchant-specific and environment-local.
- 2FA обязательна in prod.
- 2FA обязательна in stg/dev.
- Login without 2FA in stg/dev не разрешается.
- Transaction data не хранит environment как product field.
- Transaction details не показывают environment.
- Maintenance/incidents banner не входит в MVP.
- PO deployment approval перед production deploy не обязателен.
15. Open Questions
Product open questions отсутствуют.
Technical/DevOps/security follow-up:
- DevOps team должна определить exact infrastructure per environment.
- Security/DevOps team должна определить secrets storage policy.
- Development/security team должна определить exact webhook signing secret approach.
- DevOps/development team должна определить CI/CD and deployment approval process.
- Development team должна определить exact base URLs for merchant documentation.