Skip to content

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.

Минимально документация должна показывать:

  • stg base URL;
  • prod base 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 = true

6. 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 key

Product не требует отдельной настройки “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:

  1. DevOps team должна определить exact infrastructure per environment.
  2. Security/DevOps team должна определить secrets storage policy.
  3. Development/security team должна определить exact webhook signing secret approach.
  4. DevOps/development team должна определить CI/CD and deployment approval process.
  5. Development team должна определить exact base URLs for merchant documentation.