Skip to content

chapeaux/chapeaux-delivery

Repository files navigation

Chapeaux Delivery

Hybrid-Edge Asset Delivery (HEAD) Server

Process Flow

  • User --{requests}--> Web Site/Asset
  • DNS --{routes to}--> Nearest, most-performant CDN
  • CDN --{responds with}--> Local Cache OR Loads from System of Record

Features:

  • Locally relevant responses
  • Multiple DNS servers
  • Load Balancing between CDNs
  • Performance monitoring of CDNs
  • Performance monitoring of Local Cache and Persistent Storage
  • Ability to pull from system of record (Git, NPM, etc.) and cache response
  • Flexibility to adjust scope
  • Compatibility with Service Worker API

Use case

Financial institution branch teller web interface. Deployed as an app on a remote cluster at each branch. Developer references assets like:

Request is made by teller workstation, DNS checks performance tables and sees that the local cluster includes a Chapeaux HEAD Server, routes to the files hosted at the local branch cluster, and serves from there. Logo file was not cached, so HEAD server routes to the global file and caches it. Instead of routing out to the global URL for every asset, the request is handled locally, to improve performance.

Architecture Diagram

Feature Requests:

  • User notifications - ability for people/teams to subscribe and publish notices (deprecation, security, etc.)
  • Dependency agnosticism/resolution - (aka Module Spec transforms) [email protected] will have correctly versioned dependencies
  • Import Map generation
  • Vendor bundling
  • Minified Builds + sourcemaps
  • "Default" files (ala JSDelivr)
  • Custom querystring flags (ala ESM.sh; e.g. )
  • Custom Headers (e.g. - Deno's X-TypeScript-Types)

About

Chapeaux Asset Delivery Server

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published