Modules
HostCore uses modules to let stores interact with external systems — provisioning services, registering domains, sending email, and more.
What is a module
A module is Go code compiled to WebAssembly with TinyGo, exposing predefined functions such as DeployService() or SendEmail(). Our Module Engine calls those functions inside a sandbox. HostCore passes in exactly the data a function needs, the module does its work, and it returns a structured JSON response.
Flightdeck
Flightdeck is the customer-facing panel inside the HostCore dashboard. Instead of sending customers to an external control panel, a service module can ship a full management UI that renders in the dashboard and talks to the underlying panel's API — Pterodactyl, VirtFusion, and so on.
A module's Flightdeck is defined by the module author and scoped to the service it manages. Customers see it on their service page and use it to do the things they'd otherwise do in the panel: start and stop servers, view status and resource usage, open a console, reinstall, manage backups. What's available depends entirely on what the module implements and what the upstream API supports.
Flightdeck panels go through the same review as the module itself.
Flightdeck is currently in beta and off by default. Stores can opt in by request via a support ticket or our Discord. Not all modules support Flightdeck yet; a service module without one still provisions and manages the service as normal, customers just won't have an in-dashboard UI for it.
Module types
HostCore currently supports three module types. The type determines what data is passed in and when the module is called.
Service — provisions and manages what a customer bought: hosting accounts, game servers, VPSes.
Domain — talks to a registrar: registration, transfer, renewal, nameservers, EPP codes.
Email — sends invoices, password resets and other outbound mail. This is mail transport, not email hosting; if you sell mailboxes as a product, that's a service module.
Custom Payment gateways modules are not supported currently
Configuration
Each module declares a config schema that HostCore renders as a dashboard form, so module authors don't write UI. Credentials and connection settings sit at module level; service modules additionally receive per-plan values at provision time.
Custom modules
Anyone can write a module using our Module SDK, but every module must be reviewed by HostCore before it can be loaded — including modules you build for your own store. If that's something you're interested in, open a support ticket or ask in our Discord.