Lifecycle events

Automatic and lifecycle hooks — 47 events, JSON payloads for daemon, HTTP, and plugin runtime actions.

Register during init with hook!(host, PluginEvent::Variant, callback).

daemon.startingDaemon is about to start HTTP.daemon.startedHTTP server is listening.daemon.stoppingDaemon is shutting down.config.loadedConfig file has been parsed.plugin.loadedA plugin finished initializing.request.receivedHTTP request entered the daemon middleware stack.request.completedHTTP request finished.request.not_foundRequest returned 404.request.blockedProbe protection blocked a request.probe.client_blockedProbe protection blocked a client IP.auth.failedBearer authentication failed.restart.scheduledDaemon restart was queued.plugins.reload_requestedPlugin reload API was called.node.identity_generatedNode identity was generated.plugins.config_mutatedPlugin config mutation changed raw YAML.plugins.request_short_circuitedA request hook returned an HTTP response.plugins.json_response_mutatedA JSON response body hook changed a response.plugins.json_actions_mutatedA JSON actions hook changed an actions array.plugins.route_invokedA plugin route handled a request.plugins.route_failedA plugin route handler failed.cloudpanel.site.create_requestedA site (webspace) create was requested.cloudpanel.site.createdA site (webspace) was created successfully.cloudpanel.site.create_failedA site (webspace) create failed or was cancelled.cloudpanel.site.delete_requestedA site (webspace) delete was requested.cloudpanel.site.deletedA site (webspace) was deleted successfully.cloudpanel.site.delete_failedA site (webspace) delete failed or was cancelled.cloudpanel.database.create_requestedA database create was requested.cloudpanel.database.createdA database was created successfully.cloudpanel.database.create_failedA database create failed or was cancelled.cloudpanel.database.delete_requestedA database delete was requested.cloudpanel.database.deletedA database was deleted successfully.cloudpanel.database.delete_failedA database delete failed or was cancelled.cloudpanel.database.export_requestedA database export was requested.cloudpanel.database.exportedA database was exported successfully.cloudpanel.database.export_failedA database export failed or was cancelled.cloudpanel.user.password_reset_requestedA user password reset was requested.cloudpanel.user.password_resetA user password was reset successfully.cloudpanel.user.password_reset_failedA user password reset failed or was cancelled.cloudpanel.user.mfa_disable_requestedA user MFA disable was requested.cloudpanel.user.mfa_disabledUser MFA was disabled successfully.cloudpanel.user.mfa_disable_failedA user MFA disable failed or was cancelled.cloudpanel.certificate.install_requestedA Let's Encrypt certificate install was requested.cloudpanel.certificate.installedA Let's Encrypt certificate was installed successfully.cloudpanel.certificate.install_failedA certificate install failed or was cancelled.cloudpanel.vhost_templates.import_requestedA vhost template import was requested.cloudpanel.vhost_templates.importedVhost templates were imported successfully.cloudpanel.vhost_templates.import_failedA vhost template import failed or was cancelled.

Quick reference

EventSummaryWhenCancel
daemon.startingDaemon is about to start HTTP.After config mutation and final config apply, before the router is served.no
daemon.startedHTTP server is listening.After the TCP listener is bound and before serving requests.no
daemon.stoppingDaemon is shutting down.After the HTTP server stops, before plugin shutdown callbacks run.no
config.loadedConfig file has been parsed.After plugin config.mutate hooks finish and final YAML is parsed.no
plugin.loadedA plugin finished initializing.Immediately after that plugin's init returns 0.no
request.receivedHTTP request entered the daemon middleware stack.Before the request is passed to route handlers.no
request.completedHTTP request finished.After a response status is available.no
request.not_foundRequest returned 404.After the fallback handler responds with not found.no
request.blockedProbe protection blocked a request.Before a blocked client request is rejected.no
probe.client_blockedProbe protection blocked a client IP.After the unknown route threshold is reached.no
auth.failedBearer authentication failed.After an authenticated route rejects a request.no
restart.scheduledDaemon restart was queued.After plugin reload requests schedule a restart.no
plugins.reload_requestedPlugin reload API was called.POST /api/system/plugins/reload accepted.no
node.identity_generatedNode identity was generated.First boot with empty uuid/token_id/token fields.no
plugins.config_mutatedPlugin config mutation changed raw YAML.After config.mutate hooks run and output differs from input.no
plugins.request_short_circuitedA request hook returned an HTTP response.request.intercept or middleware.inject returns REQUEST_RESPOND.no
plugins.json_response_mutatedA JSON response body hook changed a response.After json.response returns modified JSON.no
plugins.json_actions_mutatedA JSON actions hook changed an actions array.After json.actions returns modified JSON.no
plugins.route_invokedA plugin route handled a request.After a route.register handler returns ROUTE_OK.no
plugins.route_failedA plugin route handler failed.After the handler returns a negative route status or request body read fails.no
cloudpanel.site.create_requestedA site (webspace) create was requested.Before CloudPanel command hooks run for site:add:* operations.no
cloudpanel.site.createdA site (webspace) was created successfully.After clpctl exits successfully for site:add:* operations.no
cloudpanel.site.create_failedA site (webspace) create failed or was cancelled.After hooks cancel site creation or clpctl exits with an error.no
cloudpanel.site.delete_requestedA site (webspace) delete was requested.Before CloudPanel command hooks run for site:delete.no
cloudpanel.site.deletedA site (webspace) was deleted successfully.After clpctl exits successfully for site:delete.no
cloudpanel.site.delete_failedA site (webspace) delete failed or was cancelled.After hooks cancel site deletion or clpctl exits with an error.no
cloudpanel.database.create_requestedA database create was requested.Before CloudPanel command hooks run for db:add.no
cloudpanel.database.createdA database was created successfully.After clpctl exits successfully for db:add.no
cloudpanel.database.create_failedA database create failed or was cancelled.After hooks cancel database creation or clpctl exits with an error.no
cloudpanel.database.delete_requestedA database delete was requested.Before CloudPanel command hooks run for db:delete.no
cloudpanel.database.deletedA database was deleted successfully.After clpctl exits successfully for db:delete.no
cloudpanel.database.delete_failedA database delete failed or was cancelled.After hooks cancel database deletion or clpctl exits with an error.no
cloudpanel.database.export_requestedA database export was requested.Before CloudPanel command hooks run for db:export.no
cloudpanel.database.exportedA database was exported successfully.After clpctl exits successfully for db:export.no
cloudpanel.database.export_failedA database export failed or was cancelled.After hooks cancel the export or clpctl exits with an error.no
cloudpanel.user.password_reset_requestedA user password reset was requested.Before CloudPanel command hooks run for user:reset:password.no
cloudpanel.user.password_resetA user password was reset successfully.After clpctl exits successfully for user:reset:password.no
cloudpanel.user.password_reset_failedA user password reset failed or was cancelled.After hooks cancel the reset or clpctl exits with an error.no
cloudpanel.user.mfa_disable_requestedA user MFA disable was requested.Before CloudPanel command hooks run for user:disable:mfa.no
cloudpanel.user.mfa_disabledUser MFA was disabled successfully.After clpctl exits successfully for user:disable:mfa.no
cloudpanel.user.mfa_disable_failedA user MFA disable failed or was cancelled.After hooks cancel MFA disable or clpctl exits with an error.no
cloudpanel.certificate.install_requestedA Let's Encrypt certificate install was requested.Before CloudPanel command hooks run for lets-encrypt:install:certificate.no
cloudpanel.certificate.installedA Let's Encrypt certificate was installed successfully.After clpctl exits successfully for lets-encrypt:install:certificate.no
cloudpanel.certificate.install_failedA certificate install failed or was cancelled.After hooks cancel the install or clpctl exits with an error.no
cloudpanel.vhost_templates.import_requestedA vhost template import was requested.Before CloudPanel command hooks run for vhost-templates:import.no
cloudpanel.vhost_templates.importedVhost templates were imported successfully.After clpctl exits successfully for vhost-templates:import.no
cloudpanel.vhost_templates.import_failedA vhost template import failed or was cancelled.After hooks cancel the import or clpctl exits with an error.no