feat(cdn): custom domain mapping per organization #563
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
Allow organizations to map custom domains to their CDN endpoints, so release assets are served from branded URLs like
cdn.acme.cominstead ofcdn.mokoconsulting.tech/acme/....Motivation
Enterprise customers want branded asset delivery URLs for their software distribution. Custom domains are a standard premium feature in CDN products and a natural upsell for commercial licensing.
Feature Scope
Org Settings > CDN > Custom Domains
cdn.acme.com,downloads.acme.com)URL Routing
cdn.acme.com/:repo/releases/:tag/:filename/:owner/in the path)Database
cdn_custom_domaintable:id,org_id,domain,verified(bool),tls_enabled(bool),dns_txt_token(verification token),created_unix,updated_unixAccess Control
Commercial Licensing
cdn.mokoconsulting.techdomain onlyDependencies
Branch created:
feature/563-feat-cdn-custom-domain-mapping-per-organClarification: Custom Domain = White-Label Org Portal
This is bigger than just CDN. When a custom domain CNAME is pointed at the MokoGitea instance:
Scoped UI
HostheaderCustom Branding
custom_logo,custom_favicon,custom_site_title,brand_colorHow It Works
git.acme.comas a custom domain in org settingsgit.acme.com -> git.mokoconsulting.techgit.acme.comloads MokoGitea scoped to that org with their brandinggit.acme.com/:repo/releases/:tag/:filenameThis makes MokoGitea a true multi-tenant SaaS platform