Provisioner
Overview
Triggers VPS provisioning jobs in Sweatpants and processes completion callbacks.
Configuration
spawn_sweatpants_url(default:http://127.0.0.1:8420)spawn_sweatpants_token
Methods
trigger(array $params): array|WP_Errorsubmits avps-provisionerjob.get_status(string $job_id): array|WP_Errorretrieves job status.handle_completion(array $data): boolupdates customer records after provisioning.
Completion Handling
php
if ( $success ) {
$update_data = [ 'status' => 'active' ];
if ( ! empty( $server_ip ) ) {
$update_data['server_ip'] = $server_ip;
}
Database::update_customer( (int) $customer['id'], $update_data );
do_action( 'spawn_provisioning_complete', $customer['id'], $domain, $server_ip );
}Provisioning Job Inputs
Payload sent to Sweatpants /jobs:
php
$job_data = [
'module_id' => 'vps-provisioner',
'inputs' => [
'customer_email' => $params['customer_email'],
'domain' => $params['domain'] ?? '',
'subdomain' => $is_subdomain,
'tier' => $tier,
'wants_website' => $wants_website,
'hetzner_type' => $server_config['hetzner_type'],
'hetzner_location' => $server_config['location'],
'skip_domain_registration' => $skip_domain_registration,
'dry_run' => $is_test_mode,
],
];Hooks and Filters
spawn_provisioning_completefires on success.spawn_provisioning_failedfires on failure.