team-nifty-gmbh / flux-license
License management for Flux ERP
v2.4.1
2026-10-04 06:39 UTC
Requires
- composer/semver: ^3.3
- team-nifty-gmbh/flux-erp: ^1.0
Requires (Dev)
- brianium/paratest: ^7.0
- laravel/pint: ^1.25
- orchestra/testbench: ^11.0
- pestphp/pest: ^4.0
- pestphp/pest-plugin-livewire: ^4.0
Suggests
None
Provides
None
Conflicts
None
Replaces
None
README
License management for Flux ERP.
Maintenance window
flux-license:maintenance-begin takes an instance offline without breaking running work:
- puts the app into maintenance mode (
--retry,--secret) - pauses all queues (
queue:pausefor every connection,horizon:pausewhen Horizon is installed), running jobs are allowed to finish - interrupts a running
schedule:run - waits until no job is reserved any more (
--timeout, default 300 seconds)
If jobs are still running after the timeout, the command exits non-zero and leaves the instance down and paused.
flux-license:maintenance-end resumes the queues (and Horizon), brings the app up and, with --health-url, fails unless that URL answers with a 2xx status. Both commands are idempotent.
Deploy script (Forge)
cd $FORGE_SITE_PATH $FORGE_PHP artisan flux-license:maintenance-begin --retry=60 trap '$FORGE_PHP artisan flux-license:maintenance-end --health-url="https://$FORGE_SITE_NAME/up"' EXIT git pull origin $FORGE_SITE_BRANCH $FORGE_COMPOSER install --no-dev --no-interaction --prefer-dist --optimize-autoloader $FORGE_PHP artisan migrate --force $FORGE_PHP artisan optimize $FORGE_PHP artisan octane:reload # only on Octane sites
The trap brings the instance back even when a step fails.
Server snapshot
php artisan flux-license:maintenance-begin # take the snapshot here, an online snapshot pauses the VM sudo chronyc makestep || sudo systemctl restart systemd-timesyncd # correct the clock after the pause php artisan flux-license:maintenance-end --health-url=https://example.com/up