-
Notifications
You must be signed in to change notification settings - Fork 243
Multitenancy - Refactor and fix for config caching #8543
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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 |
gusys
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good to me...
|
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.