The “Provisioner” is responsible for setting up, updating/upgrading, and tearing down Cores. It does this in an entirely stateless way communicating with either the aacount management and billing system or the management system. Naturally, there are command-line utilities and an API available to accomplish all functions.

Order

When and order comes through the account management and billing system, a manifest is created asking for a Core to be create with the required SaaS titles. This manifest is sent to the Provisioner which then requests a virtual machine (or machines, if the manifest includes load balancing or other extended Core services), then begins to build the Core software from the manifest. You can read more about the minimal build at Core Mini.

One of the key systems enabled for each Core is regular backup to a system of your choice. The credentials for the system are help by Provisioner but can be a local storage service, Backblaze (what we use at https://federated.computer), or some other backup service.

Update

Provisioner can also modify Cores to add/subtract SaaS software from a Core depending on follow-on orders/cancellations from customers. It can also take instructions from the update/upgrade system to push out updates to existing software on a Core whether that is system software or SaaS software or other components.

Tear Down

When it comes time to tear down a Core, Provisioner firsts backs up the Core to the system-defined backup service and then deletes the Core. After a set number of days a follow up command can be sent to Provisioner to clear away the backup.