initial commit
This commit is contained in:
115
config/hosting.php
Normal file
115
config/hosting.php
Normal file
@@ -0,0 +1,115 @@
|
||||
<?php
|
||||
|
||||
return [
|
||||
|
||||
'panel' => [
|
||||
'url' => env('APP_URL', 'https://panel.hexahost.de'),
|
||||
],
|
||||
|
||||
'proxmox' => [
|
||||
'url' => env('PROXMOX_URL', 'https://proxmox.example.com:8006'),
|
||||
'token' => env('PROXMOX_TOKEN'),
|
||||
'node' => env('PROXMOX_NODE', 'hyperion'),
|
||||
'storage' => env('PROXMOX_STORAGE', 'vmdata'),
|
||||
'bridge' => env('PROXMOX_BRIDGE', 'vmbr0'),
|
||||
'public_bridge' => env('PROXMOX_PUBLIC_BRIDGE', 'vmbr1'),
|
||||
'template_vmid' => env('PROXMOX_TEMPLATE_VMID'),
|
||||
'timeout' => (int) env('PROXMOX_TIMEOUT', 120),
|
||||
'verify_ssl' => env('PROXMOX_VERIFY_SSL', true),
|
||||
'iso_storage' => env('PROXMOX_ISO_STORAGE', 'ISO'),
|
||||
'iso_device' => env('PROXMOX_ISO_DEVICE', 'ide2'),
|
||||
'console_ws_url' => env('PROXMOX_CONSOLE_WS_URL'),
|
||||
'backup_storage' => env('PROXMOX_BACKUP_STORAGE', 'inett-PBS'),
|
||||
],
|
||||
|
||||
'vmid' => [
|
||||
'range_start' => (int) env('VMID_RANGE_START', 2000),
|
||||
'range_end' => (int) env('VMID_RANGE_END', 2999),
|
||||
'release_after_hours' => (int) env('VMID_RELEASE_AFTER_HOURS', 48),
|
||||
],
|
||||
|
||||
'snapshots' => [
|
||||
'retention_hours' => (int) env('SNAPSHOT_RETENTION_HOURS', 48),
|
||||
'auto_before_destructive' => env('SNAPSHOT_AUTO_BEFORE_DESTRUCTIVE', true),
|
||||
],
|
||||
|
||||
'backups' => [
|
||||
'max_per_customer' => (int) env('MAX_BACKUPS_PER_CUSTOMER', 4),
|
||||
'pbs_storage' => env('PROXMOX_BACKUP_STORAGE', 'inett-PBS'),
|
||||
'enabled' => env('BACKUPS_ENABLED', false),
|
||||
],
|
||||
|
||||
'iso_upload' => [
|
||||
'enabled' => env('ISO_UPLOAD_ENABLED', true),
|
||||
'max_per_customer' => (int) env('ISO_UPLOAD_MAX_PER_CUSTOMER', 1),
|
||||
'max_size_mb' => (int) env('ISO_UPLOAD_MAX_SIZE_MB', 10240),
|
||||
'retention_hours' => (int) env('ISO_UPLOAD_RETENTION_HOURS', 48),
|
||||
],
|
||||
|
||||
'vm_power' => [
|
||||
'rate_limit_per_minute' => (int) env('VM_POWER_RATE_LIMIT', 20),
|
||||
],
|
||||
|
||||
'traefik' => [
|
||||
'dynamic_config_path' => env('TRAEFIK_DYNAMIC_CONFIG_PATH', storage_path('traefik/dynamic/customers.yaml')),
|
||||
'entrypoint' => env('TRAEFIK_ENTRYPOINT', 'websecure'),
|
||||
'cert_resolver' => env('TRAEFIK_CERT_RESOLVER', 'letsencrypt'),
|
||||
'backend_port' => (int) env('TRAEFIK_BACKEND_PORT', 80),
|
||||
'public_ip' => env('TRAEFIK_PUBLIC_IP'),
|
||||
'reload_command' => env('TRAEFIK_RELOAD_COMMAND'),
|
||||
],
|
||||
|
||||
'plesk' => [
|
||||
'url' => env('PLESK_URL', 'https://plesk.example.com:8443'),
|
||||
'user' => env('PLESK_USER'),
|
||||
'password' => env('PLESK_PASS'),
|
||||
'base_domain' => env('PLESK_BASE_DOMAIN', 'hexahost.de'),
|
||||
'timeout' => (int) env('PLESK_TIMEOUT', 30),
|
||||
'verify_ssl' => env('PLESK_VERIFY_SSL', true),
|
||||
'mail_enabled' => env('PLESK_MAIL_ENABLED', true),
|
||||
],
|
||||
|
||||
'network' => [
|
||||
'gateway' => env('HOSTING_GATEWAY', '10.32.0.1'),
|
||||
'cidr' => (int) env('HOSTING_NETWORK_CIDR', 24),
|
||||
'ip_pool_start' => env('HOSTING_IP_POOL_START', '10.32.0.10'),
|
||||
'ip_pool_end' => env('HOSTING_IP_POOL_END', '10.32.0.254'),
|
||||
],
|
||||
|
||||
'public_network' => [
|
||||
'gateway' => env('HOSTING_PUBLIC_GATEWAY', '185.45.149.241'),
|
||||
'cidr' => (int) env('HOSTING_PUBLIC_CIDR', 28),
|
||||
'ip_pool_start' => env('HOSTING_PUBLIC_POOL_START', '185.45.149.246'),
|
||||
'ip_pool_end' => env('HOSTING_PUBLIC_POOL_END', '185.45.149.252'),
|
||||
],
|
||||
|
||||
'whmcs' => [
|
||||
'enabled' => env('WHMCS_ENABLED', true),
|
||||
'api_secret' => env('WHMCS_API_SECRET'),
|
||||
'allowed_ips' => array_filter(array_map('trim', explode(',', env('WHMCS_ALLOWED_IPS', '')))),
|
||||
'replay_window_seconds' => (int) env('WHMCS_REPLAY_WINDOW', 300),
|
||||
],
|
||||
|
||||
'defaults' => [
|
||||
'cpu' => (int) env('HOSTING_DEFAULT_CPU', 2),
|
||||
'ram' => (int) env('HOSTING_DEFAULT_RAM', 2048),
|
||||
'disk' => (int) env('HOSTING_DEFAULT_DISK', 32),
|
||||
],
|
||||
|
||||
'security' => [
|
||||
'admin_2fa_required' => env('ADMIN_2FA_REQUIRED', true),
|
||||
'login_max_attempts' => (int) env('LOGIN_MAX_ATTEMPTS', 5),
|
||||
],
|
||||
|
||||
'console' => [
|
||||
'proxy_enabled' => env('CONSOLE_PROXY_ENABLED', false),
|
||||
'proxy_ws_url' => env('CONSOLE_PROXY_WS_URL'),
|
||||
'proxy_secret' => env('CONSOLE_PROXY_SECRET'),
|
||||
'proxy_validate_url' => env('CONSOLE_PROXY_VALIDATE_URL'),
|
||||
],
|
||||
|
||||
'notifications' => [
|
||||
'webhook_url' => env('HOSTING_WEBHOOK_URL'),
|
||||
],
|
||||
|
||||
];
|
||||
Reference in New Issue
Block a user