lthn.io/config/services.php
Claude 77cc45dd83
feat: lthn.io CorePHP app — TLD website + blockchain services
Modules:
- Chain: daemon RPC client (DaemonRpc singleton, cached queries)
- Explorer: block browser, tx viewer, alias directory, search, stats API
- Names: .lthn TLD registrar portal (availability check, lookup, directory)
- Trade: scaffold (DEX frontend + API)
- Pool: scaffold (mining pool dashboard)

Replaces 5 Node.js containers (5.9GB) with one FrankenPHP app.
Built on CorePHP framework pattern from host.uk.com.

Co-Authored-By: Charon <charon@lethean.io>
2026-04-03 16:13:55 +01:00

227 lines
7.3 KiB
PHP

<?php
return [
/*
|--------------------------------------------------------------------------
| Third Party Services
|--------------------------------------------------------------------------
|
| This file is for storing the credentials for third party services such
| as Mailgun, Postmark, AWS and more. This file provides the de facto
| location for this type of information, allowing packages to have
| a conventional file to locate the various service credentials.
|
*/
'postmark' => [
'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',
// ],
],
],
];