CoreInto

Services and servers

A service is one product a client has bought: a hosting account, a reseller account, a server, a licence, or anything else you sell by subscription.

CoreInto administrator guide: Services and servers overview with the main sections of the article

A service is one product a client has bought: a hosting account, a reseller account, a server, a licence, or anything else you sell by subscription. When the product has a server module, CoreInto creates the account on one of your servers, suspends it when the client does not pay, lifts the suspension when they do, and removes it when the service ends. This chapter covers the servers and server groups under Settings > Servers, the two server modules (intoPanel and cPanel & WHM), the life of a service from creation to termination, the admin pages under Clients (Products/Services, Service Add-ons, Cancellation Requests), Utilities > Pending Module Actions, and the settings that govern suspension, termination and upgrades. Neither server module has yet been tried against a real intoPanel or cPanel server.

Settings > Servers

The page lists your servers and, below them, the server groups.

The server list shows each server's name (with a Default badge where it is the default of its kind), kind (module), address, accounts in use out of the most allowed, and state (On or Off). A server at its limit shows the count in red. Staff need the permission "Servers" (settings.servers).

Adding a server

Add Server opens the form; a saved server opens the same form with a Test Connection button.

FieldWhat it does
NameHow the server is shown in CoreInto.
Kind of serverThe module: intoPanel or cPanel & WHM. A line under it says where to make the token.
HostnameFor example server1.example.com. Either the hostname or the IP address is needed.
IP addressThe server's address; also used as the account's IP in welcome emails when the service has no dedicated IP.
UsernameFor intoPanel, "Username (not used)". For cPanel & WHM, "WHM username (root or a reseller)".
API tokenThe module token (see below). Stored encrypted; "Saved; type to replace" means one is kept.
PortEmpty uses the module's default: 7443 for intoPanel, 2087 for WHM.
Most accountsHow many services may be put on this server; 0 means no limit. Services that are active, suspended or pending count.
Connect securely (HTTPS)Off uses plain HTTP. Keep it on.
Check the server's certificateVerifies the certificate against the hostname. Turn it on when the panel has a certificate for its hostname. Off (the default) accepts the panel's own certificate, which is common for panels reached by IP address.
Public key pin (optional)sha256//..., the base64 SHA-256 of the server's public key. With a pin, only a server presenting that key is trusted, whatever its certificate says. Use it for a panel with a self-signed certificate that you want checked.
Nameservers 1 to 5 and their IP addressesUnder "More". Put into welcome emails ({{nameservers_html}}) and shown to the client on the service page.
IP addresses to hand out as dedicated IPsOne per line. Kept with the server.
Monthly cost, Data centre, Status page addressNotes for your own use.
Default server of its kindUsed for products of this module that have no server group. One default per module.
Turned off: no new accounts go hereExisting services keep working; the server is skipped when a new account needs a place.

The module token: for intoPanel, make an API token in the panel's admin area (API Tokens) with full access or "manage" access; it starts with ipt_. For cPanel & WHM, open "Manage API Tokens" in WHM, make a token for root or for a reseller, and enter it with that username.

After saving, press Test Connection. It signs in with the token, reports the panel and version it reached, and lists up to 30 packages found on the server. The result is also written to the module log under Utilities > Module Log.

Delete Server appears only while no service points at the server. Otherwise move the services or turn the server off.

Server groups

A product uses a group; each new account goes to one server of the group. A group has a name, a fill mode and a list of member servers.

Fill modeMeaning
The least full serverThe member with the fewest active, suspended and pending services that still has room.
Fill one server, then the nextThe lowest-numbered member with room; the next one only when that is full or turned off.

A group cannot be deleted while a product or an add-on uses it.

A product without a group goes to the default server of its module, or, when there is none, to the least full server of that module.

The server modules

Both modules talk to the panel over HTTPS and write every request and answer to the module log with passwords and tokens hidden.

ModuleHow it connectsWhat it does
intoPanel/api/v1 with a Bearer token, port 7443Test, read packages, create, suspend (with a reason), unsuspend, terminate, change package, change password, read disk and bandwidth use. "Sign in to the panel" opens the panel's own sign-in page.
cPanel & WHMWHM JSON API version 1 with a WHM API token, port 2087Test (WHM version), read packages, create (with the plan, the contact email and a dedicated IP when the product's module settings say so), suspend (with a reason), unsuspend, terminate (removeacct), change package, change password, read disk and bandwidth use, and single sign-on: "Sign in to the panel" opens a cPanel session for the account without a password.

Usernames are made from the first label of the service's domain (letters and digits, starting with a letter, up to 8 characters), or from the client's name when there is no domain, with a number added when the name is taken. Names such as root, admin, mail or test are never used. Passwords are 16 characters with both cases, digits and signs, and are stored encrypted on the service.

A product can also use the module "Licensing Manager (licence keys)", which needs no server: setting the service up issues a licence key instead of an account. That module is described in Licensing.

Both modules await a check against a real intoPanel and a real cPanel server; their calls follow the public API documentation.

Setting a product up to use a module

On Settings > Products/Services (see Catalogue), the product's Setup tab has:

FieldWhat it does
Module"None (staff set it up by hand)", intoPanel, cPanel & WHM, or Licensing Manager.
Server groupA group, or "The default server of the module".
Package on the serverThe package (plan) new accounts get. Choose from the list read from the server ("Read the packages from the server") or write its name. A configurable option named package can set it per order instead.
Set up automatically"Do not set up automatically", "As soon as the order is placed", "When the first payment arrives" or "When staff accept the order". With a module the account is made on the server at that moment; without one, staff get a to-do item.
Welcome emailThe email sent when the service is set up (none, or one of the product templates).
Close automatically after this many days (0 = never)A fixed term counted from the registration date; see "Fixed terms".

The Options and upgrades tab lists the products a service of this product may be upgraded or downgraded to, and whether clients may change configurable options or the billing term later.

An add-on has "Suspend and close with its service" (suspend_with_parent): its status follows the service it belongs to.

The life of a service

Creation

A service is created on its server when one of these happens:

  • the order is placed, for products set to "As soon as the order is placed";
  • the first invoice is paid, for products set to "When the first payment arrives" (this also applies the paid upgrades on the invoice);
  • staff accept the order with the box "Create the accounts on the server" ticked; the box appears when the order has pending services with a server module. "Send welcome emails" sends them;
  • staff press Create on the service page.

Creation picks a server (see server groups), makes the username and password if the service has none, calls the module's create action, marks the service active, and sends the product's welcome email with the account details. The welcome templates carry the product name, domain, username, password, panel address, server hostname and IP, nameservers, next due date, amount and billing cycle.

A product without a module is marked active and a to-do item "Set up PRODUCT for DOMAIN" is added for staff; the welcome email is still sent if the product has one.

No server available (all full, turned off or none set up) stops the creation with that message.

Suspension

Suspending calls the module's suspend action with a reason, marks the service suspended, suspends its add-ons that follow it, and emails the client "Service suspended" (service_suspended) with the reason and the unpaid invoice number.

Reasons matter. The daily task suspensions suspends with the reason "Overdue on payment". Only services with that exact reason are lifted automatically when the client pays. A suspension by staff keeps the reason staff typed (or "Staff: suspended"), so paying does not lift it; staff lift it themselves. The client's service page shows the reason unless it starts with "Staff:".

Automatic suspension skips: services with "Keep running when overdue" ticked (optionally until a date), and clients in a group with "Never suspend or close automatically".

Unsuspension

When an invoice is paid and "Unsuspend on payment" is on, each suspended service on it whose reason is "Overdue on payment" is unsuspended, as long as no other invoice of that service is overdue. The client gets "Service back in use" (service_unsuspended) if "Email the client when unsuspended" is on. Staff can unsuspend any suspended service from the service page, with or without the email.

Termination

Terminating removes the account and all its files from the server, marks the service terminated with today's date, closes its add-ons, and emails "Service closed" (service_terminated). With "Cancel unpaid invoices of cancelled services" (CancelInvoiceOnCancel) on, unpaid invoices that contain nothing but this service's lines (and late fees, discounts or set-up fees) and have no payments are cancelled. Any open cancellation request for the service is marked done.

A service closed by a cancellation request gets the status cancelled instead of terminated and sends no email.

Automatic termination (the task terminations) runs only when "Terminate long-overdue services" is on, after "Days after the due date" (TerminateDays), with the same exemptions as suspension.

Change package

After an upgrade or downgrade to another product is applied, the module's change-package action runs with the new product's package. Staff can also press "Change package" on the service page to push the current product's package to the server.

Change password

Staff set a new password on the service page (or leave the box empty for a random one); clients change theirs on their service page with at least 10 characters including letters and numbers. The module changes it on the server first; CoreInto keeps the new one only when the server accepted it.

Usage

"Update usage" reads disk and bandwidth used and allowed from the server. The daily task usage-update does this for every active or suspended service with an account, when "Read disk and bandwidth use from servers" is on. The figures are shown on the admin and client service pages.

Signing in to the panel

"Sign in to the panel" on the admin page and "Sign in to the control panel" on the client page open the panel in a new tab. With cPanel & WHM the client is signed straight into their account. With intoPanel the panel's sign-in page opens. The client needs the account permission "Sign in to services". Every sign-in is written to the activity log.

Cancellation requests

A client asks to cancel from their service page (when "Show the cancellation request link for services" is on) with a reason and a timing: at the end of the paid period or straight away. Staff can add a request on the service page too. The request emails the client "Cancellation request received" and staff "Cancellation requested". One open request per service.

The daily task cancellation-requests carries them out when "Carry out end-of-period cancellations" (AutoCancelRequests) is on: immediately for "straight away", otherwise on the service's next due date. The service is terminated on the server and marked cancelled. Staff can withdraw a request on the service page or under Clients > Cancellation Requests; the service then carries on.

Fixed terms

A product with "Close automatically after this many days" closes each service that many days after its registration date (task fixed-term), as a termination.

Upgrades and downgrades

A client with an active service moves to another product (one listed on the product's Options and upgrades tab) or another billing cycle (when the product allows it) from "Upgrade/Downgrade" on their service page. The price works like this:

  • Same billing cycle: the client pays, or gets back, the difference between the old and new price for the days left until the next due date. The due date stays.
  • New billing cycle: the unused part of the current period counts against the new price, and the new period starts today.

When the move costs something, an invoice with a line of kind "upgrade" is made and the move happens when it is paid. When it costs nothing, or the client is owed money, the move happens at once; the amount owed goes to the client's credit if "Give credit for downgrades" (CreditOnDowngrade) is on. Applying the move changes the service's product, cycle, amount and dates, runs change-package on the server, and emails "Upgrade or downgrade done" (or the new product's own upgrade template).

Clients > Products/Services

The list has filters for domain, username, IP or client; kind (shared, reseller, VPS/server, other, which the sub-menu entries Shared Hosting, Reseller Accounts, VPS/Servers and Other Services preset); product; server; billing cycle; and status. Each row shows the number, product and group, domain and username, client, server, price, cycle, next due date and status.

StatusMeaning
PendingOrdered, not set up yet.
ActiveIn use.
SuspendedTurned off on the server, kept.
TerminatedRemoved from the server by staff or automation.
CancelledClosed through a cancellation request (or set by staff).
FraudMarked by the fraud step of the order.
CompletedA status staff can set for a service that has run its course; nothing sets it automatically.

The service page

Permissions: "View services" to open it, "Edit services" to save the form and add cancellation requests, "Run module commands" for the server commands, "Delete services" to delete.

Alerts at the top show failed automatic actions waiting in the queue ("The automatic "Create" failed (2 tries): ...") and an open cancellation request with a Withdraw button.

Server commands (with a module): the module and server are named. Buttons appear by status: Create (pending or no username yet; "Email the client" ticked sends the welcome email), Suspend (with a reason box), Unsuspend, Terminate (asks for confirmation; the account and its files are removed), Change package, Update usage, Sign in to the panel, Send welcome email, and a Change password box. Suspend, Unsuspend and Terminate have an "Email the client" tick box, off by default. Without a module the section says staff set the service up by hand and offers "Mark as set up" and "Send welcome email".

Service form: product, server, domain, status, username, password (shown on request), dedicated IP, quantity, registration date, billing cycle, first payment, recurring amount, next due date, termination date, payment method (the gateway for its renewal invoices, or the client's default), suspension reason, other assigned IPs, "Keep running when overdue (no automatic suspension or termination)" with an "Until" date, and staff notes. Saving changes CoreInto's record only; the page says to use the server commands to change the account on the server. Changing the next due date also moves the next invoice date.

Details: the order, the usage figures and when they were read, and the configurable options chosen. Invoices: the last 20 invoices with this service on them. Add-ons: the service's add-ons with price, cycle, next due date and status.

Add a cancellation request: timing and reason, for staff acting on a phone call or ticket.

Server log: the last 25 module calls for this service, with who ran them, the action (green when it succeeded), and the request and answer to unfold. The full log is under Utilities > Module Log and is kept for "Keep the module log for (days)".

Delete service removes the service from CoreInto only; its invoices are kept and the account on the server is not touched. It is refused while an active or suspended account still exists on the server: terminate it first, or set the status to cancelled if it is already gone.

Clients > Service Add-ons

A list of every add-on on a service: add-on, service and domain, client, price, cycle, next due date and status, with a search box and a status filter. Add-ons are managed on their service's page; their life follows the service.

Clients > Cancellation Requests

Two views: Waiting and Carried out. Each row shows when it was made, the service, the client, the timing, the reason, and when it is due (next daily run, or the service's next due date) or when it was carried out and by whom. Withdraw removes a waiting request. The page says whether automatic cancellation is on; with it off, close the services yourself with Terminate.

Utilities > Pending Module Actions

Server and registrar actions that ran automatically (on order, on payment, on accept, or by a task) and failed wait here (permission "View failed module actions"). Each row shows the date, the action and module, the service or domain, the error, the number of tries and the last try. The module-retries task tries them again every hour, five times at most. "Try again" runs the action now (permission "Run module commands"); "Dealt with" marks it done when you did the work by hand. Each failure also emails staff "Automatic action failed" (admin_module_failed). An action for a service that has since been terminated or cancelled is dropped from the queue.

Automation tasks that touch services

TaskWhenWhat it does
suspensionsdailySuspends active services whose invoice is unpaid SuspendDays after its due date, with the reason "Overdue on payment".
terminationsdailyTerminates active or suspended services unpaid TerminateDays after the due date, when AutoTerminate is on.
cancellation-requestsdailyCarries out due cancellation requests.
fixed-termdailyCloses services of products with a fixed number of days.
usage-updatedailyReads disk and bandwidth use from the servers.
module-retrieshourlyTries failed module and registrar actions again, up to five times.

Running, turning off and reading the results of tasks is in Automation.

The client's service pages

Services > My Services (/client/services) lists current services, with a tab for all including closed ones. A service page shows the overview (domain, dates, amount, options), the account (username, IP, nameservers, disk and bandwidth), the add-ons, and the actions the client is allowed: "Sign in to the control panel", "Upgrade/Downgrade", "Change Password" and "Request Cancellation". A suspended service shows why and links to the unpaid invoices. The account permissions "See services", "Manage services" and "Sign in to services" decide what each user of the client account may do. The client area as a whole is in Client area.

Settings that govern services

Under Settings > Automation Settings:

SettingTabWhat it does
Suspend overdue servicesSuspensionTurns the suspensions task on or off.
Days after the due dateSuspensionHow long after the due date an unpaid service is suspended (default 5).
Email the client when suspendedSuspensionSends service_suspended on automatic suspensions.
Unsuspend on paymentSuspensionLifts suspensions with the reason "Overdue on payment" when the client pays.
Email the client when unsuspendedSuspensionSends service_unsuspended on automatic unsuspensions.
Terminate long-overdue servicesSuspensionTurns the terminations task on or off (off by default).
Days after the due date (termination)SuspensionDefault 30.
Carry out end-of-period cancellationsOtherTurns the cancellation-requests task on or off.
Read disk and bandwidth use from serversOtherTurns the usage-update task on or off.
Keep the module log for (days)Data retentionDefault 30.

Under Settings > General Settings:

SettingTabWhat it does
Cancel unpaid invoices of cancelled servicesInvoicesWhen a service closes, its unpaid invoices that hold nothing else are cancelled.
Give credit for downgradesCreditA downgrade's unused amount goes to the client's credit; off, it is lost.
Show the cancellation request link for servicesOtherShows "Request Cancellation" on the client's service page.

Per client and per group: "Never suspend or close automatically" on a client group (Settings > Client Groups) exempts its clients; "Keep running when overdue" on a service exempts that service, for good or until a date.

Emails about services

TemplateSent when
New hosting account details, New server details, New service (other products), New licence keyThe product's welcome email, chosen on the product's Setup tab, when the service is set up.
Service suspendedThe service is suspended (with the reason and the unpaid invoice number).
Service back in useThe suspension is lifted.
Service closedThe service is terminated.
Upgrade or downgrade doneA move to another product or cycle is applied.
Cancellation request receivedA cancellation request is recorded.
Automatic action failed (to staff)A module action that ran automatically failed.
Cancellation requested (to staff)A client or staff member adds a cancellation request.

The texts are edited under Settings > Email Templates.

Frequently asked questions

What does "Services and servers" cover in CoreInto?

A service is one product a client has bought: a hosting account, a reseller account, a server, a licence, or anything else you sell by subscription. A service is one product a client has bought: a hosting account, a reseller account, a server, a licence, or anything else you sell by subscription. When the product has a server module, CoreInto creates the account on one of your servers, suspends it when the client does not pay, lifts the suspension when they do, and removes it when the service ends. This chapter covers the servers and server groups under Settings > Servers, the two server modules (intoPanel and cPanel & WHM), the life of a service from creation to termination, the admin pages under Clients (Products/Services, Service Add-ons, Cancellation Requests), Utilities > Pending Module Actions, and the settings that govern suspension, termination and upgrades. Neither server module has yet been tried against a real intoPanel or cPanel server.

Where do I find more help?

Use the Help button on this site, browse the Administrator guide on coreinto.com, or submit a ticket at https://system.coreinto.com/contact with your panel version and the steps you tried.

Submit a ticket