sitectl-isle
sitectl-isle simplifies the creation and operation of repositories created using the LibOps ISLE site template. It uses sitectl components to make features like Traefik bot mitigation, Triplet IIIF, and Islandora filesystem storage easy to enable and customize.
Documentation: https://sitectl.libops.io/plugins/isle
Requirements
sitectl.
- Docker with the Compose v2 plugin for local ISLE sites.
sitectl-drupal, because ISLE includes and extends the Drupal plugin surface.
Quick Start
Create a local ISLE site from the matching template:
sitectl create isle/default \
--template-repo https://github.com/libops/isle \
--template-branch v1.3.1 \
--path ./my-isle-site \
--type local \
--checkout-source template \
--default-context
The template README is at https://github.com/libops/isle.
Basic Operations
Use sitectl compose to start or inspect the stack:
sitectl compose up --remove-orphans -d
Before deploying a site created from an older template, update its checkout to the LibOps ISLE v1.3.1 template contract. The checkout must contain scripts/sitectl-rollout-preflight.sh, scripts/drupal-media-storage-state.php, and scripts/drupal-wait-installed.sh. The Drupal service must mount the latter two programs read-only at /var/www/drupal/drupal-media-storage-state.php and /usr/local/lib/sitectl/drupal-wait-installed.sh, respectively. The preflight also validates the template's Compose file, root CA, Triplet configuration, JWT-key generator, and initializer. sitectl deploy executes that complete checked-in preflight and verifies the program sources and effective Compose configuration before stopping services. The direct rollout repeats the preflight after its build preparation and before recreating Drupal.
Use sitectl healthcheck and sitectl validate to check the site:
sitectl healthcheck
sitectl validate
Use sitectl image for local image or build-arg overrides:
sitectl image set --tag drupal=nginx-1.30.4-php84 --tag solr=9
Use sitectl set for component changes. It updates the component-owned project files immediately:
sitectl set bot-mitigation on
Use sitectl converge later to inspect and repair component drift after manual edits or upstream updates.
Create and validate a checksummed full-state recovery bundle with the application-owned recovery workflow:
sitectl isle recovery plan
sitectl isle recovery backup --output /var/backups/isle/site-$(date +%F).tar.gz
sitectl isle recovery validate --input /var/backups/isle/site-2026-08-07.tar.gz
Bundles include authoritative Drupal and optional Fcrepo state. They exclude secrets and rebuildable indexes, queues, caches, and derivatives. Store bundles encrypted and off-host, restore secrets from Vault, and prove customer RPO/RTO by regularly restoring into a disposable context and running sitectl healthcheck plus sitectl verify --strict.
See the ISLE plugin docs for Fedora, Blazegraph, IIIF, derivatives, sync, migration, cache, TLS, and bot mitigation details.
License
sitectl-isle is licensed under the MIT License.