Carloku Dashboard

Get started.

This is the head half; the heart half is that you'll be live before it feels like work. Four steps, one small tool.

1 ยท Install the CLI

brew install carlosframework/tap/carlos

Not on Homebrew? Prebuilt binaries live at github.com/carlosframework/releases. It's one static binary: put it on your PATH and you're done.

2 ยท Sign in

Create your account at console.carloku.com โ€” you sign in with a passkey through Keymail, so there's no password to invent. Then connect your terminal:

carlos auth login -console https://console.carloku.com

The CLI prints a short code; you approve it in the browser you're already signed in to. That's the whole ceremony. (Forget this step and nothing breaks: the first command that needs a login offers to run it for you, right there in the terminal.)

3 ยท Create and deploy

carlos apps create -app hello
carlos deploy ./hello-linux-arm64

Every app starts with one channel, edge, and carlos deploy ships straight to it โ€” no promotion step in between. It waits until your URL is provably serving the new build; when it prints live, it is. Version strings are yours to choose; a git short SHA is the house convention. Notice there's no -app on the deploy: with one app in your account, the CLI knows which one you mean โ€” flags are for the day you have several.

Shipping a static site instead? Same shape:

carlos deploy -kind static ./public

Run it from your project once and it offers to remember the artifact in .carlos/config; say yes, and from then on the whole release is just carlos deploy, no arguments at all. The session on the homepage is a real capture of exactly that, and the app it deployed is really running.

4 ยท Add a pipeline, if you want one

One channel is enough for most apps: deploy, and it's live. When a team wants a staged rollout instead โ€” a bake window before a wider audience sees it, a passkey on the way up, sign-off from teammates โ€” opt into a pipeline:

carlos pipeline init -template edge-production

That adds a production channel behind edge, with a 24-hour bake, a passkey requirement, and an approval on any change to that protection, so nobody can quietly strip it later either. carlos promote <version> production moves the exact same bytes forward once the bake has run. There's also a full-ladder template matching the classic edge โ†’ beta โ†’ stable shape, and custom channels if neither fits.

Carloku is young and moving quickly. If anything on this page surprises you, the console is the source of truth, and the platform underneath is open source.

Under the hood

For the technically curious, this is the part we keep off the front page:

  • A release is an immutable, content-addressed artifact. Promotion moves a signed pointer; nothing is ever rebuilt between preview and production, and every box verifies the signature before running a release.
  • Canary channels always let you try a build on a live URL without touching what's deployed. Opt into a pipeline and its later channels carry releases through a bake stage too, so a wider channel only adopts what already served traffic upstream.
  • Idle apps hibernate: the process stops, the route stays, and the first request wakes it.
  • Custom domains get per-host certificates minted and renewed automatically.

The whole design is public โ€” read it at carlosframework.com.