Skip to content

All Rules

The Control Plane lexicon provides 22 rules: 2 lint rules and 20 post-synth checks.

IDSeverityCategoryDescription
CPL001errorsecurityno literal credential material in a cpln declaration.
CPL002infostyleprefer a resource reference over a hand-written link.

Post-synth checks validate the serialized output after the build pipeline completes.

IDDescription
CPL010Workloads should not allow outbound traffic to every address
CPL011Internal firewall should not be opened to the entire org
CPL012Credential-shaped environment variables must reference a secret, not a literal
CPL013Policy bindings must name identities by their GVC-qualified link
CPL014Secret references in environment variables must name a field
CPL020Serverless workloads must expose exactly one HTTP port
CPL021Cron workloads must declare a schedule and expose no ports
CPL022Container ports must not mix port and ports, and must be unique across containers
CPL023Container CPU and memory must clear the platform floors and the memory-to-CPU ratio
CPL024Each health-check probe must set exactly one of exec, grpc, tcpSocket, httpGet
CPL025Autoscaling metric, multi and target must form a valid combination
CPL026minScale 0 must pair with a strategy that can actually scale to zero
CPL027Capacity AI conflicts with CPU-utilization autoscaling, multi-metric autoscaling and GPUs
CPL028Volume set capacity, filesystem binding, and workload mount rules
CPL029Control Plane links must resolve to a declared resource of the right kind and GVC
CPL030Domain DNS mode, certificate challenge, and routing target must be a valid combination
CPL040Container images should be pinned to a specific tag or digest
CPL041Image references must not use docker.io/ or the registry hostname form
CPL042A GVC must declare where its workloads run
CPL043Policy target kind, scope and origin must be well formed