Scaffold Ladill Woo Manager for WooCommerce order fulfillment.
Deploy Ladill Woo Manager / deploy (push) Failing after 2s

Standalone app with SSO shell, WordPress plugin connect flow, webhook ingest,
fulfillment inbox, and plugin activation API — no payment processing.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
isaacclad
2026-07-06 22:39:38 +00:00
co-authored by Cursor
commit ffe0b9d877
326 changed files with 33210 additions and 0 deletions
+703
View File
@@ -0,0 +1,703 @@
<?php
return [
/*
|--------------------------------------------------------------------------
| Contabo API Configuration
|--------------------------------------------------------------------------
|
| Credentials for the Contabo Compute Management API.
| Used for provisioning VPS and VDS instances.
|
*/
'contabo' => [
'client_id' => env('CONTABO_CLIENT_ID'),
'client_secret' => env('CONTABO_CLIENT_SECRET'),
'api_user' => env('CONTABO_API_USER'),
'api_password' => env('CONTABO_API_PASSWORD'),
'product_catalog_endpoint' => env('CONTABO_PRODUCT_CATALOG_ENDPOINT'),
],
/*
|--------------------------------------------------------------------------
| Pricing Configuration
|--------------------------------------------------------------------------
|
| Dynamic pricing settings for VPS/Dedicated servers.
| Base prices from Contabo are in USD, converted to GHS using exchange rate.
|
*/
'pricing' => [
'base_currency' => 'USD',
'display_currency' => 'GHS',
// Fallback rate used when live API fails
'fallback_usd_to_ghs_rate' => env('FALLBACK_USD_TO_GHS_RATE', 15.50),
// Profit margins (percentage on top of converted Contabo USD price)
'margins' => [
'vps' => env('VPS_PROFIT_MARGIN', 45),
'dedicated' => env('DEDICATED_PROFIT_MARGIN', 30),
],
'contabo_price_cache_ttl' => env('CONTABO_PRICE_CACHE_TTL', 3600),
'term_discounts' => [
'quarterly' => 5,
'semiannual' => 10,
'yearly' => 20,
],
'setup_fee_rules' => [
// VPS 10 only — monthly and semiannual cycles carry a setup fee equal to 1× the monthly price
[
'product_ids' => ['V91'],
'billing_cycles' => ['monthly', 'semiannual'],
'monthly_price_multiplier' => 1,
'label' => 'One-time setup fee',
],
// Dedicated servers — fixed EUR fee that decreases with longer commitment; waived on yearly
[
'product_ids' => ['amd-ryzen-12-cores', 'amd-genoa-24-cores'],
'billing_cycles' => ['monthly', 'quarterly', 'semiannual'],
'fixed_eur_by_cycle' => [
'monthly' => 39.99,
'quarterly' => 29.99,
'semiannual' => 19.99,
],
'label' => 'One-time setup fee',
],
],
// Fallback Contabo base prices in USD. Live API/feed prices are preferred.
// Keep these values as a fail-safe for API downtime.
'contabo_base_prices' => [
'V91' => ['monthly' => 4.99, 'name' => 'Cloud VPS 10 NVMe', 'cpu' => 3, 'ram_gb' => 8, 'disk_gb' => 75],
'V94' => ['monthly' => 7.00, 'name' => 'Cloud VPS 20 NVMe', 'cpu' => 6, 'ram_gb' => 12, 'disk_gb' => 100],
'V97' => ['monthly' => 14.00, 'name' => 'Cloud VPS 30 NVMe', 'cpu' => 8, 'ram_gb' => 24, 'disk_gb' => 200],
'V100' => ['monthly' => 25.00, 'name' => 'Cloud VPS 40 NVMe', 'cpu' => 12, 'ram_gb' => 48, 'disk_gb' => 250],
'amd-ryzen-12-cores' => ['monthly' => 104.64, 'name' => 'AMD Ryzen 12 Cores', 'cpu' => 12, 'ram_gb' => 64, 'disk_gb' => 1000],
'amd-genoa-24-cores' => ['monthly' => 184.21, 'name' => 'AMD Genoa 24 Cores', 'cpu' => 24, 'ram_gb' => 128, 'disk_gb' => 2000],
],
],
/*
|--------------------------------------------------------------------------
| Server Order Options
|--------------------------------------------------------------------------
|
| Surcharges shown here are Contabo-side monthly USD add-on costs before
| the Ladill exchange-rate conversion and product margin are applied.
| Update these values whenever Contabo changes its commercial pricing.
|
*/
'server_order' => [
'regions' => [
'EU' => ['label' => 'Europe (Germany)', 'monthly_usd' => 0.00, 'automated' => true],
'US-central' => ['label' => 'US Central', 'monthly_usd' => 0.00, 'automated' => true],
'US-east' => ['label' => 'US East', 'monthly_usd' => 0.00, 'automated' => true],
'US-west' => ['label' => 'US West', 'monthly_usd' => 0.00, 'automated' => true],
'UK' => ['label' => 'United Kingdom', 'monthly_usd' => 0.00, 'automated' => true],
'SIN' => ['label' => 'Singapore', 'monthly_usd' => 0.00, 'automated' => true],
'AUS' => ['label' => 'Australia', 'monthly_usd' => 0.00, 'automated' => true],
'JPN' => ['label' => 'Japan', 'monthly_usd' => 0.00, 'automated' => true],
],
'image_pricing_rules' => [
[
'key' => 'windows',
'label' => 'Windows Server',
'monthly_usd' => 9.30,
'match' => ['windows'],
'os_family' => 'windows',
'default_user' => 'administrator',
'requires_custom_image_addon' => false,
'automated' => true,
],
[
'key' => 'ubuntu',
'label' => 'Ubuntu',
'monthly_usd' => 0.00,
'match' => ['ubuntu'],
'os_family' => 'linux',
'default_user' => 'root',
'requires_custom_image_addon' => false,
'automated' => true,
],
[
'key' => 'rhel',
'label' => 'RHEL Variants',
'monthly_usd' => 0.00,
'match' => ['alma', 'rocky', 'rhel', 'centos'],
'os_family' => 'linux',
'default_user' => 'root',
'requires_custom_image_addon' => false,
'automated' => true,
],
[
'key' => 'custom',
'label' => 'Custom Images',
'monthly_usd' => 0.00,
'custom_image' => true,
'os_family' => 'linux',
'default_user' => 'root',
'requires_custom_image_addon' => true,
'automated' => true,
],
[
'key' => 'linux',
'label' => 'Linux',
'monthly_usd' => 0.00,
'match' => ['debian', 'fedora', 'linux', 'bsd'],
'os_family' => 'linux',
'default_user' => 'root',
'requires_custom_image_addon' => false,
'automated' => true,
],
],
'fallback_images' => [
[
'value' => 'afecbb85-e2fc-46f0-9684-b46b1faf00bb',
'label' => 'Ubuntu 22.04',
'description' => 'Fallback Ubuntu image',
'os_family' => 'linux',
'monthly_usd' => 0.00,
'default_user' => 'root',
'requires_custom_image_addon' => false,
'automated' => true,
],
],
'managed_stack_supported_images' => [
[
'value' => 'afecbb85-e2fc-46f0-9684-b46b1faf00bb',
'label' => 'Ubuntu 22.04 LTS',
'match' => ['ubuntu 22.04'],
'os_family' => 'linux',
],
[
'label' => 'Ubuntu 24.04 LTS',
'match' => ['ubuntu 24.04'],
'os_family' => 'linux',
],
[
'label' => 'Debian 12',
'match' => ['debian 12', 'bookworm'],
'os_family' => 'linux',
],
[
'label' => 'AlmaLinux',
'match' => ['almalinux', 'alma linux', 'alma'],
'os_family' => 'linux',
],
[
'label' => 'Rocky Linux',
'match' => ['rocky linux', 'rocky'],
'os_family' => 'linux',
],
[
'label' => 'Fedora',
'match' => ['fedora'],
'os_family' => 'linux',
],
[
'label' => 'openSUSE Leap',
'match' => ['opensuse leap', 'open suse leap', 'opensuse', 'leap'],
'os_family' => 'linux',
],
[
'label' => 'CentOS',
'match' => ['centos'],
'os_family' => 'linux',
],
],
'licenses' => [
'none' => [
'label' => 'Remote Login Only',
'description' => 'No hosting panel or commercial control-panel license.',
'monthly_usd' => 0.00,
'license' => null,
'panel' => null,
'automated' => true,
],
'ladill_panel' => [
'label' => 'Ladill Server Manager',
'description' => 'Manage power, status, and server details from the Ladill server manager.',
'monthly_usd' => 0.00,
'license' => null,
'panel' => 'ladill',
'compatible_os_families' => ['linux'],
'requires_image' => true,
'requires_managed_stack_image' => true,
'automated' => true,
],
'plesk_host' => [
'label' => 'Plesk + Linux',
'description' => 'Plesk host edition on Linux.',
'monthly_usd' => 15.00,
'license' => 'PleskHost',
'compatible_os_families' => ['linux'],
'requires_image' => true,
'automated' => true,
],
'plesk_windows' => [
'label' => 'Plesk + Windows',
'description' => 'Plesk on Windows Server.',
'monthly_usd' => 22.70,
'license' => 'PleskHost',
'compatible_os_families' => ['windows'],
'requires_image' => true,
'automated' => true,
],
'cpanel_5' => [
'label' => 'cPanel 5',
'description' => 'cPanel license for up to 5 accounts.',
'monthly_usd' => 35.99,
'license' => 'cPanel5',
'compatible_os_families' => ['linux'],
'requires_image' => true,
'automated' => true,
],
'cpanel_30' => [
'label' => 'cPanel 30',
'description' => 'cPanel license for up to 30 accounts.',
'monthly_usd' => 53.99,
'license' => 'cPanel30',
'compatible_os_families' => ['linux'],
'requires_image' => true,
'automated' => true,
],
'cpanel_50' => [
'label' => 'cPanel 50',
'description' => 'cPanel license for up to 50 accounts.',
'monthly_usd' => 53.99 + (0.49 * 20),
'license' => 'cPanel50',
'compatible_os_families' => ['linux'],
'requires_image' => true,
'automated' => true,
],
'cpanel_100' => [
'label' => 'cPanel 100',
'description' => 'cPanel license for up to 100 accounts.',
'monthly_usd' => 69.99,
'license' => 'cPanel100',
'compatible_os_families' => ['linux'],
'requires_image' => true,
'automated' => true,
],
'cpanel_150' => [
'label' => 'cPanel 150',
'description' => 'cPanel license for up to 150 accounts.',
'monthly_usd' => 69.99 + (0.49 * 50),
'license' => 'cPanel150',
'compatible_os_families' => ['linux'],
'requires_image' => true,
'automated' => true,
],
'cpanel_200' => [
'label' => 'cPanel 200',
'description' => 'cPanel license for up to 200 accounts.',
'monthly_usd' => 69.99 + (0.49 * 100),
'license' => 'cPanel200',
'compatible_os_families' => ['linux'],
'requires_image' => true,
'automated' => true,
],
'cpanel_250' => [
'label' => 'cPanel 250',
'description' => 'cPanel license for up to 250 accounts.',
'monthly_usd' => 69.99 + (0.49 * 150),
'license' => 'cPanel250',
'compatible_os_families' => ['linux'],
'requires_image' => true,
'automated' => true,
],
'cpanel_300' => [
'label' => 'cPanel 300',
'description' => 'cPanel license for up to 300 accounts.',
'monthly_usd' => 69.99 + (0.49 * 200),
'license' => 'cPanel300',
'compatible_os_families' => ['linux'],
'requires_image' => true,
'automated' => true,
],
'cpanel_350' => [
'label' => 'cPanel 350',
'description' => 'cPanel license for up to 350 accounts.',
'monthly_usd' => 69.99 + (0.49 * 250),
'license' => 'cPanel350',
'compatible_os_families' => ['linux'],
'requires_image' => true,
'automated' => true,
],
'cpanel_400' => [
'label' => 'cPanel 400',
'description' => 'cPanel license for up to 400 accounts.',
'monthly_usd' => 69.99 + (0.49 * 300),
'license' => 'cPanel400',
'compatible_os_families' => ['linux'],
'requires_image' => true,
'automated' => true,
],
'cpanel_450' => [
'label' => 'cPanel 450',
'description' => 'cPanel license for up to 450 accounts.',
'monthly_usd' => 69.99 + (0.49 * 350),
'license' => 'cPanel450',
'compatible_os_families' => ['linux'],
'requires_image' => true,
'automated' => true,
],
'cpanel_500' => [
'label' => 'cPanel 500',
'description' => 'cPanel license for up to 500 accounts.',
'monthly_usd' => 69.99 + (0.49 * 400),
'license' => 'cPanel500',
'compatible_os_families' => ['linux'],
'requires_image' => true,
'automated' => true,
],
'cpanel_550' => [
'label' => 'cPanel 550',
'description' => 'cPanel license for up to 550 accounts.',
'monthly_usd' => 69.99 + (0.49 * 450),
'license' => 'cPanel550',
'compatible_os_families' => ['linux'],
'requires_image' => true,
'automated' => true,
],
'cpanel_600' => [
'label' => 'cPanel 600',
'description' => 'cPanel license for up to 600 accounts.',
'monthly_usd' => 69.99 + (0.49 * 500),
'license' => 'cPanel600',
'compatible_os_families' => ['linux'],
'requires_image' => true,
'automated' => true,
],
'cpanel_650' => [
'label' => 'cPanel 650',
'description' => 'cPanel license for up to 650 accounts.',
'monthly_usd' => 69.99 + (0.49 * 550),
'license' => 'cPanel650',
'compatible_os_families' => ['linux'],
'requires_image' => true,
'automated' => true,
],
'cpanel_700' => [
'label' => 'cPanel 700',
'description' => 'cPanel license for up to 700 accounts.',
'monthly_usd' => 69.99 + (0.49 * 600),
'license' => 'cPanel700',
'compatible_os_families' => ['linux'],
'requires_image' => true,
'automated' => true,
],
'cpanel_750' => [
'label' => 'cPanel 750',
'description' => 'cPanel license for up to 750 accounts.',
'monthly_usd' => 69.99 + (0.49 * 650),
'license' => 'cPanel750',
'compatible_os_families' => ['linux'],
'requires_image' => true,
'automated' => true,
],
'cpanel_800' => [
'label' => 'cPanel 800',
'description' => 'cPanel license for up to 800 accounts.',
'monthly_usd' => 69.99 + (0.49 * 700),
'license' => 'cPanel800',
'compatible_os_families' => ['linux'],
'requires_image' => true,
'automated' => true,
],
'cpanel_850' => [
'label' => 'cPanel 850',
'description' => 'cPanel license for up to 850 accounts.',
'monthly_usd' => 69.99 + (0.49 * 750),
'license' => 'cPanel850',
'compatible_os_families' => ['linux'],
'requires_image' => true,
'automated' => true,
],
'cpanel_900' => [
'label' => 'cPanel 900',
'description' => 'cPanel license for up to 900 accounts.',
'monthly_usd' => 69.99 + (0.49 * 800),
'license' => 'cPanel900',
'compatible_os_families' => ['linux'],
'requires_image' => true,
'automated' => true,
],
'cpanel_950' => [
'label' => 'cPanel 950',
'description' => 'cPanel license for up to 950 accounts.',
'monthly_usd' => 69.99 + (0.49 * 850),
'license' => 'cPanel950',
'compatible_os_families' => ['linux'],
'requires_image' => true,
'automated' => true,
],
'cpanel_1000' => [
'label' => 'cPanel 1000',
'description' => 'cPanel license for up to 1000 accounts.',
'monthly_usd' => 69.99 + (0.49 * 900),
'license' => 'cPanel1000',
'compatible_os_families' => ['linux'],
'requires_image' => true,
'automated' => true,
],
],
'applications' => [
'none' => [
'label' => 'No Preinstalled App',
'description' => 'Provision the server without an extra preinstalled application.',
'monthly_usd' => 0.00,
'automated' => true,
],
'webmin' => [
'label' => 'Webmin',
'description' => 'Free Webmin server panel installed automatically on Linux.',
'monthly_usd' => 0.00,
'cloud_init_preset' => 'webmin',
'compatible_os_families' => ['linux'],
'requires_image' => true,
'automated' => true,
],
'webmin_lamp' => [
'label' => 'Webmin + LAMP',
'description' => 'Free Webmin plus Apache, MariaDB, and PHP on Linux.',
'monthly_usd' => 0.00,
'cloud_init_preset' => 'webmin_lamp',
'compatible_os_families' => ['linux'],
'requires_image' => true,
'automated' => true,
],
'ipfs_node' => [
'label' => 'IPFS Node',
'description' => 'Contabo application profile for IPFS nodes.',
'monthly_usd' => 0.00,
'application_id' => env('CONTABO_APP_ID_IPFS_NODE'),
'compatible_os_families' => ['linux'],
'requires_image' => true,
'automated' => true,
],
'flux_node' => [
'label' => 'Flux Node',
'description' => 'Contabo application profile for Flux nodes.',
'monthly_usd' => 0.00,
'application_id' => env('CONTABO_APP_ID_FLUX_NODE'),
'compatible_os_families' => ['linux'],
'requires_image' => true,
'automated' => true,
],
'horizon_node' => [
'label' => 'Horizen Node',
'description' => 'Contabo application profile for Horizen nodes.',
'monthly_usd' => 0.00,
'application_id' => env('CONTABO_APP_ID_HORIZON_NODE'),
'compatible_os_families' => ['linux'],
'requires_image' => true,
'automated' => true,
],
'ethereum_node' => [
'label' => 'Ethereum Node',
'description' => 'Contabo application profile for Ethereum 2.0 nodes.',
'monthly_usd' => 0.00,
'application_id' => null,
'compatible_os_families' => ['linux'],
'requires_image' => true,
'automated' => true,
],
'bitcoin_node' => [
'label' => 'Bitcoin Full Node',
'description' => 'Contabo application profile for Bitcoin full nodes.',
'monthly_usd' => 0.00,
'application_id' => null,
'compatible_os_families' => ['linux'],
'requires_image' => true,
'automated' => true,
],
],
'additional_ip' => [
'none' => [
'label' => '1 IP Address',
'description' => 'Default primary IP only.',
'monthly_usd' => 0.00,
'add_on' => null,
'automated' => true,
],
'one_extra' => [
'label' => '1 Additional IP',
'description' => 'Adds one extra IPv4 address.',
'monthly_usd' => 4.50,
'add_on' => 'additionalIps',
'automated' => true,
],
],
'private_networking' => [
'disabled' => [
'label' => 'No Private Networking',
'description' => 'Do not enable the private networking add-on.',
'monthly_usd' => 0.00,
'add_on' => null,
'automated' => true,
],
'enabled' => [
'label' => 'Private Networking Enabled',
'description' => 'Purchases the private networking add-on.',
'monthly_usd' => 2.99,
'add_on' => 'privateNetworking',
'automated' => true,
],
],
'storage_types' => [
'included' => [
'label' => 'Included Storage',
'description' => 'Use the plan default storage.',
'monthly_usd' => 0.00,
'add_on' => null,
'automated' => true,
],
'ssd_300' => [
'label' => '300 GB SSD',
'description' => 'Higher SSD storage tier.',
'monthly_usd' => 1.95,
'add_on' => 'extraStorage',
'automated' => false,
],
'nvme_150' => [
'label' => '150 GB NVMe',
'description' => 'Higher NVMe storage tier.',
'monthly_usd' => 2.30,
'add_on' => 'extraStorage',
'automated' => false,
],
],
'object_storage' => [
'none' => [
'label' => 'No Object Storage',
'description' => 'Do not order object storage with this server.',
'monthly_usd' => 0.00,
'automated' => false,
],
'eu_250' => [
'label' => '250 GB Object Storage (EU)',
'description' => 'S3-compatible object storage in the European Union.',
'monthly_usd' => 2.99,
'automated' => false,
],
'eu_500' => [
'label' => '500 GB Object Storage (EU)',
'description' => 'S3-compatible object storage in the European Union.',
'monthly_usd' => 5.98,
'automated' => false,
],
'eu_750' => [
'label' => '750 GB Object Storage (EU)',
'description' => 'S3-compatible object storage in the European Union.',
'monthly_usd' => 8.97,
'automated' => false,
],
'eu_1024' => [
'label' => '1 TB Object Storage (EU)',
'description' => 'S3-compatible object storage in the European Union.',
'monthly_usd' => 11.96,
'automated' => false,
],
],
'linux_default_users' => [
'root' => ['label' => 'root'],
'admin' => ['label' => 'admin'],
],
'windows_default_users' => [
'admin' => ['label' => 'admin'],
'administrator' => ['label' => 'administrator'],
],
],
'server_agent' => [
'release_version' => env('SERVER_AGENT_RELEASE_VERSION', '0.2.0'),
'signed_release_ttl_minutes' => (int) env('SERVER_AGENT_SIGNED_RELEASE_TTL_MINUTES', 10080),
'heartbeat_interval_seconds' => 15,
],
/*
|--------------------------------------------------------------------------
| Shared Hosting Configuration
|--------------------------------------------------------------------------
|
| Settings for the shared hosting nodes.
|
*/
'shared' => [
'default_php_version' => '8.2',
'available_php_versions' => ['8.0', '8.1', '8.2', '8.3'],
'default_document_root' => 'public_html',
'max_upload_size_mb' => 64,
'max_execution_time' => 300,
'memory_limit_mb' => 256,
'phpmyadmin_url' => env('HOSTING_PHPMYADMIN_URL', ''),
'phpmyadmin_sso_secret' => env('HOSTING_PHPMYADMIN_SSO_SECRET', ''),
],
/*
|--------------------------------------------------------------------------
| VPS Configuration
|--------------------------------------------------------------------------
|
| Default settings for VPS instances.
|
*/
'vps' => [
'default_region' => 'EU',
'default_image' => 'afecbb85-e2fc-46f0-9684-b46b1faf00bb', // Ubuntu 22.04
'available_regions' => ['EU', 'US-central', 'US-east', 'US-west', 'SIN', 'UK', 'AUS', 'JPN'],
],
/*
|--------------------------------------------------------------------------
| App Installer Configuration
|--------------------------------------------------------------------------
|
| Settings for the one-click app installer.
|
*/
'apps' => [
'enabled' => ['wordpress', 'joomla', 'drupal', 'opencart'],
'magento_enabled' => false, // Requires higher resource plans
'wordpress' => [
'default_version' => '6.4',
'wp_cli_path' => '/usr/local/bin/wp',
],
],
/*
|--------------------------------------------------------------------------
| Provisioning Settings
|--------------------------------------------------------------------------
|
| General provisioning configuration.
|
*/
'provisioning' => [
'max_retries' => 3,
'retry_delay_minutes' => 5,
'timeout_minutes' => 30,
],
/*
|--------------------------------------------------------------------------
| Legacy ResellerClub Integration
|--------------------------------------------------------------------------
|
| Keep RC integration active for existing customers.
|
*/
'legacy' => [
// Keep RC data/API available for customers with existing ResellerClub services.
'rc_enabled' => (bool) env('LADILL_RC_LEGACY_ENABLED', true),
// New sales and automated fulfillment use Ladill (Dynadot domains, native hosting).
'rc_new_orders_enabled' => (bool) env('LADILL_RC_NEW_ORDERS_ENABLED', false),
// Renew existing ResellerClub services (hosting, domains, VPS, etc.).
'rc_renewals_enabled' => (bool) env('LADILL_RC_RENEWALS_ENABLED', true),
],
];