Multitenancy - Refactor and fix for config caching#8543
Conversation
|
QA server K8S was successfully deployed https://tenant-1.ci-d9ca9c962f.engk8s.processmaker.net |
|
QA server K8S was successfully deployed https://tenant-1.ci-d9ca9c962f.engk8s.processmaker.net |
|
QA server K8S was successfully deployed https://tenant-1.ci-d9ca9c962f.engk8s.processmaker.net |
|
QA server K8S was successfully deployed https://tenant-1.ci-d9ca9c962f.engk8s.processmaker.net |
|
QA server K8S was successfully deployed https://tenant-1.ci-d9ca9c962f.engk8s.processmaker.net |
gusys
left a comment
There was a problem hiding this comment.
Looks good to me, but exists some observations from cursor that need to be a resolved, in special take a look about this observation $app->forgetInstance('encrypter')
@gusys we moved the app key to TenantBootstraper which happens very early in the boot process. We don't need to forget the original instance any more because now the original instance has the correct tenant app key |
|
QA server K8S was successfully deployed https://tenant-1.ci-d9ca9c962f.engk8s.processmaker.net |
|
QA server K8S was successfully deployed https://tenant-1.ci-d9ca9c962f.engk8s.processmaker.net |
|





ci:deploy
ci:multitenancy
ci:k8s-branch:v4.15.8
......
Note
Adds a pre-provider TenantBootstrapper, streamlines multitenant config overrides, updates license storage to the local disk, and adjusts logging, testing, and verification to support per-tenant config caching.
TenantBootstrapperand inject it viaApplication::bootstrapWith()(afterLoadEnvironmentVariables) to set per-tenant env/config (APP_KEY/URL, storage, Redis/log prefixes) before providers load; exposeTenant::fromBootstrapper()/setBootstrappedTenant().SwitchTenant: remove DB driver rebinding and broad path overrides; now apply minimal runtime config overrides when config isn’t cached and extendBroadcastManageronly.TenantFinderandProcessMakerServiceProviderto respectconfig('app.multitenancy'), support bootstrapper-provided tenant, and improve console handling of tenant resolution.LOG_PATHand support per-tenant log locations.RefreshArtisanCachesno-ops in testing to avoid DB reconnect and quiet outputs.Exception\Handler: early log when app root is unavailable; remove custom console renderer.Storagedisklocal(license.json); removefilesystems.disks.root; rebindPackageManifesttoLicensedPackageManifestin app/provider; update tests accordingly.tenants:verify: drop--verify-against, present key paths/configs in tables, perform decryption check, and show cache/status info.Written by Cursor Bugbot for commit 6a2dc10. This will update automatically on new commits. Configure here.