A site is a source tree with no server build. Ordinary files are published to
the edge CDN; files whose first line is a #! shebang become
handlers at the same hostname. This page covers file routing
and static delivery; the handlers guide covers executable routes. HTML or
Markdown files with data bindings become
server-rendered HTML applications on the same site.
routes from paths
index.html -> /
about.html -> /about
guide.md -> /guide
logo.png -> /logo.png
api/visit.sh -> /api/visit (handler)
blog/[...].py -> /blog/* (handler catch-all)
.html and handler extensions are stripped. index is the directory index,
so about/index.html serves /about/. A bracket catch-all owns its subtree and
receives the remaining path as PATH_INFO. Two files claiming one route fail
the deploy.
The deploy output prints the resolved route table.
Markdown and public files
Markdown renders to HTML at publish time. index.md, _index.md, or
README.md can be a directory index, making a documentation tree a static site
with no build step.
A public/ directory is copied to the site root verbatim. Its files are served
as-is rather than Markdown-rendered.
fallback routes
For a site with no services, a Kedge Compose extension can set an SPA fallback:
x-kedge:
static:
fallback: /index.html
An unmatched path then serves that static file. Without a fallback, the edge answers 404 without waking compute.
If repository scripts contain shebangs but are not web handlers, exclude their directories explicitly:
x-kedge:
static:
handler-excludes: [scripts, tools]
publishing a tree
kedge up deploys a local directory through Git. For a one-off upload, scp
the tree to the SSH endpoint; a trailing remote directory names the app. A
single piped page is the smallest case in the quickstart.
See deploy workflows for Git history, previews, and other
source paths.
Static responses carry validators and edge-cache headers. Deploying updates the route manifest and purges stale objects automatically; there is no cache configuration step. Network & domains describes the global serving path.