[ 'key' => env('POSTMARK_API_KEY'), ], 'resend' => [ 'key' => env('RESEND_API_KEY'), ], 'ses' => [ 'key' => env('AWS_ACCESS_KEY_ID'), 'secret' => env('AWS_SECRET_ACCESS_KEY'), 'region' => env('AWS_DEFAULT_REGION', 'us-east-1'), ], 'slack' => [ 'notifications' => [ 'bot_user_oauth_token' => env('SLACK_BOT_USER_OAUTH_TOKEN'), 'channel' => env('SLACK_BOT_USER_DEFAULT_CHANNEL'), ], ], /* |-------------------------------------------------------------------------- | Content Management |-------------------------------------------------------------------------- | | Content source configuration. Native mode uses Host Hub Content Editor | as the source of truth. WordPress mode is deprecated but kept for import. | */ 'content' => [ // Content source: 'native' (default) or 'wordpress' (deprecated) 'source' => env('CONTENT_SOURCE', 'native'), // Enable WordPress legacy routes (webhooks, sync) 'wordpress_enabled' => env('CONTENT_WORDPRESS_ENABLED', false), ], /* |-------------------------------------------------------------------------- | WordPress (Legacy) |-------------------------------------------------------------------------- | | @deprecated WordPress integration is deprecated. Use native Content Editor. | Kept for future import functionality (TASK-004). | Set CONTENT_WORDPRESS_ENABLED=true to enable legacy routes. | */ 'wordpress' => [ 'url' => env('WORDPRESS_URL'), 'username' => env('WORDPRESS_JWT_USER'), 'password' => env('WORDPRESS_JWT_PASS'), 'webhook_secret' => env('WORDPRESS_WEBHOOK_SECRET'), // Multisite type: 'subdirectory' (hestia.host.uk.com/bio) or 'subdomain' (bio.hestia.host.uk.com) 'multisite_type' => env('WORDPRESS_MULTISITE_TYPE', 'subdomain'), ], 'bunnycdn' => [ 'api_key' => env('BUNNYCDN_API_KEY'), 'pull_zone_id' => env('BUNNYCDN_PULL_ZONE_ID'), 'storage_api_key' => env('BUNNYCDN_STORAGE_API_KEY'), 'storage_zone' => env('BUNNYCDN_STORAGE_ZONE'), ], /* |-------------------------------------------------------------------------- | Social Media Providers |-------------------------------------------------------------------------- */ 'twitter' => [ 'client_id' => env('TWITTER_CLIENT_ID'), 'client_secret' => env('TWITTER_CLIENT_SECRET'), 'redirect' => env('TWITTER_REDIRECT_URI', env('APP_URL').'/callback/twitter'), ], 'farcaster' => [ 'api_key' => env('FARCASTER_API_KEY'), ], 'nostr' => [ 'default_relays' => [ 'wss://relay.damus.io', 'wss://nos.lol', 'wss://relay.nostr.band', 'wss://relay.snort.social', 'wss://nostr.wine', ], ], /* |-------------------------------------------------------------------------- | Media Integrations |-------------------------------------------------------------------------- */ 'unsplash' => [ 'client_id' => env('UNSPLASH_CLIENT_ID'), ], /* |-------------------------------------------------------------------------- | AI Providers |-------------------------------------------------------------------------- */ 'anthropic' => [ 'api_key' => env('ANTHROPIC_API_KEY'), 'model' => env('ANTHROPIC_MODEL', 'claude-sonnet-4-20250514'), ], 'google' => [ 'ai_api_key' => env('GOOGLE_AI_API_KEY'), 'ai_model' => env('GOOGLE_AI_MODEL', 'gemini-2.0-flash'), ], 'eaas' => [ 'url' => env('EAAS_URL', 'https://api.lthn.ai'), 'key' => env('EAAS_API_KEY', ''), ], 'ollama' => [ 'url' => env('OLLAMA_URL', 'https://ollama.lthn.sh'), ], 'influx' => [ 'url' => env('INFLUX_URL', 'https://influx.infra.lthn.sh'), 'db' => env('INFLUX_DB', 'training'), 'token' => env('INFLUX_TOKEN', ''), ], /* |-------------------------------------------------------------------------- | Commerce Provisioning API (Internal) |-------------------------------------------------------------------------- | | Configuration for the internal Commerce Provisioning API. | Used for service-to-service entitlement management. | */ 'commerce' => [ 'api_secret' => env('COMMERCE_API_SECRET'), ], /* |-------------------------------------------------------------------------- | Blesta Billing Integration (External - Future) |-------------------------------------------------------------------------- | | Configuration for external Blesta billing integration. | Currently disabled - using native Commerce module. | */ /* |-------------------------------------------------------------------------- | AltumCode Engine Products (Internal) |-------------------------------------------------------------------------- | | API credentials for the 4 AltumCode products running as backend engines. | These are internal services on de1 — customers never access them directly. | The Laravel app calls their APIs to provision, manage, and display data. | */ 'altum' => [ 'analytics' => [ 'url' => env('ALTUM_ANALYTICS_URL', 'https://analytics.host.uk.com'), 'admin_key' => env('ALTUM_ANALYTICS_ADMIN_KEY'), ], 'biolinks' => [ 'url' => env('ALTUM_BIOLINKS_URL', 'https://link.host.uk.com'), 'admin_key' => env('ALTUM_BIOLINKS_ADMIN_KEY'), ], 'pusher' => [ 'url' => env('ALTUM_PUSHER_URL', 'https://notify.host.uk.com'), 'admin_key' => env('ALTUM_PUSHER_ADMIN_KEY'), ], 'socialproof' => [ 'url' => env('ALTUM_SOCIALPROOF_URL', 'https://trust.host.uk.com'), 'admin_key' => env('ALTUM_SOCIALPROOF_ADMIN_KEY'), ], ], 'blesta' => [ 'url' => env('BLESTA_URL', 'https://billing.host.uk.com'), 'api_key' => env('BLESTA_API_KEY'), 'webhook_secret' => env('BLESTA_WEBHOOK_SECRET'), // Map Blesta package IDs to our package codes 'package_mapping' => [ // 'blesta_pkg_creator' => 'creator', // 'blesta_pkg_agency' => 'agency', // 'blesta_pkg_enterprise' => 'enterprise', ], // Map Blesta addon IDs to boost configurations 'addon_mapping' => [ // 'blesta_addon_ai_100' => [ // 'feature_code' => 'ai.credits', // 'boost_type' => 'add_limit', // 'limit_value' => 100, // 'duration_type' => 'cycle_bound', // ], ], ], ];