Architecture Principles¶
PMP-001 uses the following principles.
1. Product first¶
Architecture exists to support PotatoLabs products and their delivery lifecycle.
2. Platform over duplication¶
Shared capabilities belong in the PotatoLabs platform when they are reusable across products.
3. Clear boundaries¶
Products, services, data stores, and deployment units must have explicit ownership and interface boundaries.
4. Technology is a capability, not a mandate¶
GitLab CE, code-server, GitLab CI/CD, PostgreSQL, Redis, Docker, and Nginx are platform capabilities.
A product uses only the capabilities it needs.
5. Prefer repeatability¶
Changes should be reproducible from source, configuration, and documented process.
6. Secure by default¶
Authentication, authorization, secrets handling, and network exposure must be designed in from the start.
7. Observable by default¶
Builds, releases, deployments, and runtime systems must be monitorable and diagnosable.
8. Documentation is part of the architecture¶
Architectural intent must be recorded in the docs, not only in code or tribal knowledge.
9. Exceptions are explicit¶
Departures from PMP-001 require a recorded exception with scope, risk, and exit criteria.
10. Keep the platform boring¶
Prefer operationally simple solutions that are easy to understand, maintain, and recover.