Lagoon
Open-source CDN · v3

From git tag to every edge in three steps.

Lagoon delivers your JavaScript, CSS, fonts and WASM from immutable, versioned URLs with subresource integrity built in. Publish a release and it is cached worldwide before your CI job exits.

How a release flows

One command in, one stable URL out. Nothing to purge, nothing to configure.

  1. 01
    Publish

    Push a built directory

    Run lagoon publish against your dist/ folder with a package name and semver. Files are hashed, signed and stored once.

  2. 02
    Propagate

    Fan out to the edge

    The release is replicated to every point of presence and pre-warmed. The first request in any region is already a cache hit.

  3. 03
    Serve

    Link with integrity

    Reference /v/<pkg>/<semver>/<file> with the printed sha384 digest. Browsers verify, caches keep it for a year.

Built for frontend teams

The boring parts of asset delivery, handled and out of your way.

Immutable versioned paths

Every release lives under its own /v/ prefix. A shipped link never changes underneath your users.

Subresource integrity

Each file has a published sha384 digest, ready for the integrity attribute and enforced by the browser.

Cache-Control: immutable

Versioned files are served with a one-year immutable lifetime. Revalidation requests simply stop happening.

HTTP/3 and Brotli

QUIC with 0-RTT where clients support it, Brotli-11 precompressed at publish time instead of per request.

Automatic TLS

Certificates are issued and rotated for you. TLS 1.3 only, with OCSP stapling at every edge.

Channel aliases

Need latest or 2.x? Short-TTL aliases redirect to the current immutable path.

24edge locations
16 msmedian time to first byte
99.99%request availability
<4 spublish to global

Drop it in

An ES module import, straight from the nearest edge:

<script type="module">
  import { mount } from
    "https://cdnlagoon.com/v/tidegrid/2.4.1/tidegrid.min.js";
  mount("#app");
</script>

Publishing flow, integrity hashes and cache behaviour →