validate to catch configuration and project layout problems before they
become runtime failures. It combines core sitectl checks with plugin-specific
configuration checks in a single report. It also consumes the exact component
plan used by converge; missing desired state, unknown components, and drifted
component-owned paths fail validation.
Reference
Validate the active context’s configuration and project layout. Core checks include required context fields, Compose project presence, context file accessibility, override symlink, and Docker socket access. The same component reconciliation plan used by converge must also be reproducible and in sync; missing intent, unknown ownership, or drift fails validation. If the active context’s plugin registers a validate handler, plugin-specific checks (e.g. Drupal rootfs path, component state consistency) are also run and merged into the report. All flags not consumed by sitectl itself are forwarded to the plugin’s validate handler, allowing plugin-specific flags such as--codebase-rootfs.
Exits non-zero if any check fails.
Examples:
sitectl validate
sitectl validate --format table
sitectl validate --codebase-rootfs drupal/rootfs
Output formats
The--format flag controls how the report is rendered:
When to run it
- After
sitectl config set-contextto verify the new context is wired correctly. - Before deploying to confirm component state is consistent.
- After changing
ingresstrusted IPs to confirm Traefik trusted IPs match app nginx real-IP settings. - When
sitectl compose upfails with an unexpected error. Validate often points to the root cause.
Plugin validators
If the active context’s plugin registers a validate handler, its checks are merged automatically into the same report. For the ISLE plugin this includes: Drupal rootfs path, Traefik configuration, and per-component drift state. Plugin-specific flags such as--codebase-rootfs are promoted into typed RPC params when the core contract owns them. Other plugin-specific flags are passed through to the plugin’s validator unchanged.
