feat(cdn): integrate CDN Manager into the application
quality / commitlint (push) Skipped
quality / changes (push) Successful in 5s
quality / docker-check (push) Skipped
quality / web (push) Successful in 57s
quality / api (push) Failing after 30s
CD / quality (push) Failing after 1m36s
CD / publish (push) Skipped

- Updated environment configurations to include CDN Manager in the RETURN_TO_ALLOWLIST.
- Enhanced target app resolution to recognize CDN-related hosts.
- Added CDN Manager to the application switcher and updated relevant documentation.
- Included tests to verify the correct mapping of CDN hosts.

Co-authored-by: Cursor <[email protected]>
This commit is contained in:
Denozordec
2026-09-04 14:11:34 +07:00
co-authored by Cursor
parent a591d12c69
commit 0f1f89776b
15 changed files with 191 additions and 9 deletions
+7
View File
@@ -51,6 +51,13 @@ export function targetAppFromReturnTo(
) {
return 'dns'
}
if (
/\bcdn\b/.test(hay) ||
host.includes('cdnmanager') ||
host.includes('cdn-manager')
) {
return 'cdn'
}
return 'portal'
}
+6
View File
@@ -21,4 +21,10 @@ describe('targetAppFromReturnTo', () => {
targetAppFromReturnTo('https://auth.shnt.top/oauth/authorize'),
).toBe('portal')
})
it('maps cdn host', () => {
expect(targetAppFromReturnTo('https://cdn.shnt.top/auth/callback')).toBe(
'cdn',
)
})
})
@@ -28,6 +28,7 @@ const APP_ICONS: Record<
bgp: NetworkIcon,
fw: ShieldIcon,
dns: GlobeIcon,
cdn: CloudIcon,
}
export function AppsMenu() {
@@ -43,6 +43,7 @@ export const SOURCE_APP_OPTIONS: {
{ value: 'bgp', label: 'EvoBGP' },
{ value: 'fw', label: 'EvoFirewall' },
{ value: 'dns', label: 'Technitium DNS' },
{ value: 'cdn', label: 'CDN Manager' },
]
export const severityVariant: Record<AuditSeverity, BadgeProps['variant']> = {
+1
View File
@@ -30,6 +30,7 @@ const APP_ICONS: Record<AppId, typeof CloudIcon> = {
bgp: GlobeIcon,
fw: ShieldIcon,
dns: GlobeIcon,
cdn: CloudIcon,
}
async function openApp(