Easily enable a Maintenance page.
Add the lib to your composer.json, run composer require novactive/ezmaintenancebundle
to refresh dependencies.
Then inject the bundle in the bundles.php
of your application.
Novactive\NovaeZMaintenanceBundle\NovaeZMaintenanceBundle::class => [ 'all'=> true ],
Activate the sroutes:
_novaezmaintenance_routes:
resource: '@NovaeZMaintenanceBundle/Resources/config/routing/main.yaml'
php app|ezpublish/console cache:clear --env=dev
Maintenance page will return 503 status code and VCL will abandon it, So update your vcl to force displaying response with 503 and X-Maintenance header
if (bereq.http.accept ~ "application/vnd.fos.user-context-hash"
&& beresp.status >= 500 && !beresp.http.X-Maintenance
) {
return (abandon);
}
nova_ezmaintenance:
system:
default:
enable: false # to enable to capability
template: '@ibexadesign/maintenance.html.twig' # the template you want as a maintenace page
lock_file_id: 'plop.lock' # the name of the lock file in the cluster