Link Afia now resolves provider, model, and API keys from ladilldb.platform_settings like the monolith, with .env fallbacks for local dev. Co-authored-by: Cursor <cursoragent@cursor.com>
1.5 KiB
Ladill Link — deployment
Ladill Link is the platform URL shortener. Public short URLs live on ladl.link; the management app runs at link.ladill.com.
Domains
| Host | Purpose |
|---|---|
ladl.link |
Public short-link resolution (/{slug}) |
link.ladill.com |
SSO management UI (create/edit links) |
Both vhosts point at the same Laravel app. Set LINK_PUBLIC_DOMAIN=ladl.link in .env.
Pricing
GHS 0.05 per link created (LINK_PRICE_PER_LINK_GHS). Debited from the central UserWallet via the Billing API.
Platform onboarding
From the monolith:
php artisan ladill:onboard-app link --run-dns
php artisan ladill:launcher:sync --propagate --push
Register the Passport OIDC client:
php artisan passport:client \
--name="Ladill Link" \
--redirect_uri="https://link.ladill.com/sso/callback"
Set BILLING_API_KEY_LINK and IDENTITY_API_KEY_LINK on both monolith and this app.
Grant read access to platform AI settings:
sudo mysql -e "GRANT SELECT ON ladilldb.platform_settings TO 'ladill_link'@'127.0.0.1'; FLUSH PRIVILEGES;"
Afia reads ai_* keys from platform_settings (same as ladill.com admin). Optional AFIA_API_KEY in .env overrides for local dev.
Legacy URLs
https://ladill.com/q/{code} continues to work for existing QR and storefront codes. New links use https://ladl.link/{code}. Unknown slugs on ladl.link fall back to the legacy resolver.
Database
php artisan migrate --force
Database name: ladill_link.