Appearance
Upgrades
Control plane
bash
# Pull the new image
docker pull registry.nucleuslms.io/nucleus-control-plane:<new-version>
# Restart — the entrypoint runs `prisma migrate deploy` automatically
docker compose -f deploy/compose/docker-compose.prod.yml --env-file .env.production up -dPending migrations apply on every container start. Roll back by pulling the previous image tag and restarting; the migration runner is idempotent and will no-op if the schema is already at the target version.
Plugins
Plugin updates ship as standard Moodle plugin upgrades. Drop the new plugin tarball into each Moodle's local/ directory and run the upgrade UI (or php admin/cli/upgrade.php).
The control plane and plugins are versioned in lock-step within a major. Upgrade the control plane first, then the plugins; the protocol is forward-compatible within a major release.
Helm chart
bash
helm repo update
helm upgrade <release-name> nucleus/nucleus-moodle --version <new-version> \
--namespace <tenant-ns> \
--reuse-values--reuse-values keeps your per-tenant size, federation mode, and TLS overrides intact.
Support window
- CVE patches and minor-version updates — 12 months from your purchase date. Notification by email + via the customer registry.
- Major version upgrades during the support window — included.
- Major version upgrades after the support window — included only if you renew. Existing installs keep working; there's no remote licence enforcement.
Breaking changes
We aim for backwards-compatible protocol changes within a major version. Breaking changes get an ADR in your distribution and a migration guide. The API versioning policy covers the HTTP API specifically.