<developers/>

Server (provisioning) modules

A server module talks to one kind of control panel or server and acts on one account at a time. CoreInto decides when; the module decides how.

Last changed 12 Nov 2026

The class#

Every server module extends CoreInto\Modules\ServerModule. It is built with the server's row from Settings > Servers, with its secret opened, and acts on one Account at a time. Every request and answer goes to the module log with passwords hidden.

MethodRequiredWhat it does
title()YesThe module's name
about()Set-up help shown when adding a server
loginLabels()Labels for the server's login fields, such as "API token"
defaultPort()The panel's usual port
productFields()What a product using this module chooses, such as the package
usernameRule()The pattern and length of usernames the panel accepts
canSso()Whether the panel can sign a user in without a password
test()YesChecks the connection and returns a line about the server
packages()Package names on the server, for the product form
create(Account $a)YesMakes the account
suspend(Account $a, string $reason)YesSuspends it
unsuspend(Account $a)YesLifts the suspension
terminate(Account $a)YesRemoves the account and its files for good
changePackage(Account $a)YesMoves it to the product's package after an upgrade
changePassword(Account $a, string $password)YesSets a new password
usage(Account $a)Disk and bandwidth used and allowed
loginUrl(Account $a)A single sign-on address, or the panel's sign-in page

The account#

Account carries the service id, username, password, domain, email, the panel's package name from the product, the product's module settings, the chosen configurable options, the client's name, a dedicated IP if any, and the public SSH keys on the client's account.

Errors#

Throw ModuleError with a message the panel gave you. CoreInto shows it to staff, logs it, and puts the action in Pending Module Actions to try again, so a server that is down for a minute never loses an order.

Shipping a module#

Server modules are listed in CoreInto's module registry and released with CoreInto: cPanel & WHM, Plesk, DirectAdmin and intoPanel today. If you have written one for another panel, send it through the partner program and we will review it for a release.

Frequently asked questions

What happens when create() fails?

The error is shown and logged, and the action waits in Pending Module Actions to be retried.

Which panels have modules today?

cPanel & WHM, Plesk, DirectAdmin and intoPanel.