What's new: logs and traces, free static sites and Sign in with Basable
The previous post covered up to 17 October. This one covers the two weeks after it. Everything below is live on basable.com.
Logs, metrics, traces and alerts
The biggest piece, and Tuesday’s post goes
through it in full. In short: every container’s logs, every container’s CPU,
memory and restarts, and every request through the gateway, collected from the
first deploy with nothing to install. An OpenTelemetry SDK finds the platform
by itself and continues each request’s trace into your app. The editor has
Logs, Metrics and Alerts panels per environment, Grafana at grafana.basable.com
signs you in with your Basable account, and live environments mail you when a
container keeps crashing, runs out of memory, a route mostly fails or a volume
fills up, once you turn that on. Rules of your own are a few lines of PromQL in
.basable/config.yaml.
Static sites, with no cluster at all
An environment can now be declared static: {}: no container, no Kubernetes,
nothing to size and nothing that sleeps. Its files are served straight from
its bucket, on its own address and your custom domains. For a plain site, put
the files in a site/ directory and push: there is no workflow and no CI run,
and the site is live within seconds. A site with a build step uploads its
output from CI instead.
A static environment reserves no compute, so it pays only for its bucket, and every environment gets 1 GiB stored, a million reads and a hundred thousand writes free every month, for good. Inside that a site costs nothing and needs no payment method, and a project that is only a static site is never deleted for lack of one. The help page has the details, and next Tuesday’s post more.
Sign in with Basable
Every environment with a cluster now carries an OpenID Connect client of Basable’s own login, in a Secret the platform keeps in its cluster. An app that signs people in can offer “Sign in with Basable” from its first deploy: no setup, no mail server, and one sign-in shared by every app on Basable. The app learns an id that is only valid for that project and an email address, and only an address Basable has seen proven. It keeps its own users beside it. The assistant wires it into Ory Kratos when it builds a login, and projects from Rust plan mode have it switched on.
Your own agent
An agent connected over MCP gained eight tools. Six read the
project’s observability: get_logs, query_metrics, list_metrics,
search_traces, get_trace and list_alerts, each answer ending in a link
that opens the same query in Grafana. The other two are about secrets.
request_secrets answers with a link to the editor that opens the
environment’s Secrets with a box for each key the app needs; you type the
values in your own browser, and the agent never sees them. list_secrets gives
the agent the names of the keys that are set, and nothing else.
Accounts and organisations
- Invitations are accepted, not imposed. Inviting someone to an organisation used to make them a member on the spot. Now they get a mail with a link, and they accept or decline; an invitation lasts fourteen days, and the organisation can withdraw it. An address is matched whatever its capitals.
- Sessions last a month. A sign-in to basable.com now lasts thirty days from the last time you used it, instead of a day from when you signed in.
- Passkeys, offered. After a sign-in with an emailed code, Basable offers to set up a passkey, so the next sign-in is a fingerprint or a face instead of a code. “Not now” asks again next time; “Don’t ask again” means it.
- Support knows the project. The Support button in the editor now writes to an address that names the project, so the mail arrives already saying what it is about.
Smaller things
- The smallest environment is the free one. An environment with a cluster now reserves at least 2 vCPU and 4 GiB of memory, exactly the free allowance. A smaller one left too little beside the environment’s own control plane and sandbox. A config below it is refused at deploy with the minimum named, and a running environment keeps its size until its next deploy.
- Rust builds match the image they ship in. GitHub moved its default Ubuntu runner ahead of Debian, so a binary linked there could need a newer C library than the image it runs in and fail at start. New projects from Rust plan mode build in a Debian 13 container, the same release as the image’s base.
- The servers’ own API stays private. On the bare-metal servers the alpha runs on, the Kubernetes API of the clusters underneath your environments now accepts connections from the platform alone. Before, it accepted them from anywhere and relied on its own authentication. Your environment’s own API is unaffected.
Tell us
If something here does not work as described, write to support@basable.com. That is still what the alpha is for.