Rules
A ceiling treats a missing limit as exceeding it, so an app with no memory limit fails a memory ceiling.
Where it is enforced
- Preflight reports every violation as a check with its
codeand afix: enforce is a fail, warn is a warning. - A deploy that breaks an enforced rule is refused with HTTP 422, code
policy_violationand aviolationslist, each with a stablecode, amessageand anext_action. - Rollbacks skip policy so restoring a known state is never blocked.
Override
Passoverride_policy: true and override_policy_reason on the deploy request. The caller needs the root ability. The override is recorded as a policy.override app event and noted on the deploy attempt.
Dashboard
Settings, Deploy policies. Pick a scope, set each rule, then use the dry run to see which current apps would be blocked before you save.CLI
policy check is a dry run. With --rule and --scope it previews unsaved rules. --fail exits non-zero when any app would be blocked.
API
GET /api/v1/deploy-policiesPUT /api/v1/deploy-policies/{scope}/{id}with{"rules": {...}}, scopeorg(idorg),projectorenvironmentDELETE /api/v1/deploy-policies/{scope}/{id}POST /api/v1/deploy-policies/check