What a component does
When a plugin defines a component, sitectl can:- Ask about it during site creation — prompting you to enable or disable it before the first launch
- Report its current state —
sitectl component describelists all components registered by the active context’s plugin, showing whether each one is on, off, or out of alignment with the project files - Apply state changes safely —
sitectl set <name> <on|off>records the desired state, andsitectl convergeapplies the resulting file changes with a confirmation step before anything destructive happens
Component states
A component can be in one of two states:| State | Meaning |
|---|---|
on | The component is active and its services, configuration, and Drupal modules are in place |
off | The component is inactive; its services and configuration are removed or suppressed |
| Disposition | Meaning |
|---|---|
enabled | Explicitly turned on by an operator |
disabled | Explicitly turned off by an operator |
superseded | Replaced by a different component or approach |
distributed | Shipped as part of the upstream template; not yet explicitly set by an operator |
Checking component state
drifted status means the project files no longer match the last applied component state — usually something was changed outside of sitectl.
Turning components on and off
sitectl set, the desired state is recorded but project files are not yet changed. Follow up with sitectl converge to apply the change.
Applying changes with converge
converge compares each component’s expected configuration against the project files on disk and repairs any differences. Use --report to review changes before applying them.
The create flow
When you runsitectl create isle, sitectl asks you about each component that has a meaningful architectural choice — like whether to include Fedora or Blazegraph. You can answer interactively or pass flags to skip the prompts. Your choices are applied to the project before the first launch.
Current ISLE components
fcrepo
fcrepo
Fedora Commons repository. Controls whether Fedora services and volumes are included in the stack. Disabling fcrepo removes the Fedora container and its related storage volumes from the project. Appropriate for sites that do not store preservation-grade binary objects in Fedora.
blazegraph
blazegraph
Blazegraph triple store. Controls whether Blazegraph is part of the stack. Islandora uses Blazegraph for RDF (linked data) storage. Disabling it is appropriate for minimal or development stacks that do not require linked data queries.
isle-tls
isle-tls
Controls whether the stack serves traffic over HTTPS in staging and production. Manages Traefik TLS configuration — the component handles which certificate mode to use (self-managed, Let’s Encrypt, or mkcert for local development).
isle-tls-override
isle-tls-override
Controls whether the local development override file turns off TLS for local use even when production uses HTTPS. Typically enabled for development so you can run the site over plain HTTP locally.
external-cantaloupe
external-cantaloupe
Controls whether the Cantaloupe image server runs as part of the local stack or is provided by an external service. When enabled, sitectl adds the Traefik routing rules needed to reach an external Cantaloupe instance.
What’s planned
The component model is designed to grow. Planned additions include:- PostgreSQL — switch the Drupal database backend from MariaDB to PostgreSQL
- Memcached / Redis — add caching layers to the Drupal stack
- Load balancer support — configure ISLE to run behind an upstream reverse proxy
- mergepdf — enable PDF aggregation for paged content in Islandora

