Free beta · 33 of 50 seats left

Push a repo. Get your whole stack running.

Avalon reads your repository, works out what it actually needs — the database, the cache, the queue — provisions every piece on our managed Kubernetes clusters, and ships each service with TLS and its connection strings already wired in. You watch the whole thing happen, line by line. Right now it costs nothing.

Deploys from GitHub·2 vCPU and 4 GB RAM per account·No credit card, no trial clock
acme/orders-api · main · 8f3c9d1
1 · Analysis
2 · Provisioning
3 · Deploying
4 · Live
PG postgres-16 Waiting
detected · internal/db
RD redis-7 Waiting
detected · internal/cache
GO orders-api Waiting
800m · 1Gi · 1 replica
CPU 1850m / 2000m
Memory 3.5Gi / 4Gi
Detected and provisioned automatically
PostgreSQL Redis MongoDB RabbitMQ Kafka MySQL Elasticsearch MinIO
How it works

Three steps, and then it keeps doing it on every push.

No Helm charts to write, no Terraform to maintain, no YAML to copy between environments — and for the free beta, no cloud account either. Connect a repo and Avalon handles the rest.

STEP 01

Connect a repository

Connect your GitHub account, then pick a repo and a branch. No cloud account to link, no cluster to stand up, nothing to install.

repositoryacme/orders-api branchmain clusteravalon-use1-b quota2000m cpu · 4Gi memory
STEP 02

Avalon works out what you need

It clones, reads the stack, and finds every backing service your code talks to — then provisions each one and injects the connection strings as environment variables.

tech_stackGo 1.23 · Dockerfile detectedpostgres:16, redis:7 injectedDATABASE_URL injectedREDIS_URL
STEP 03

Ship it, and watch it ship

Split your quota across services however you like, pick public or private, then deploy. Every event streams back live. Turn on auto-deploy and each push to the branch does it again.

cpu800m of 2000m memory1Gi of 4Gi replicas1 on_pushredeploy · 30s debounce
Live environment acme / orders-api 1850m / 2000m cpu|3.5Gi / 4Gi
TLSorders-api.acme.avalon.app
publiccert active
GOorders-api
800m1Gi1/1 up
PGpostgres-16
500m1.5Gi10Gi disk
RDredis-7
250m512Micache
WKnotifier-worker
300m512Mi1/1 up
The free beta

100 cores and 200 GB of RAM. We're giving it away.

We put a pool of our own cluster capacity aside to find out what people actually build on Avalon. Every account gets a slice of it — free, no card, no trial countdown in the corner of the screen. It runs on our managed clusters, so there is nothing for you to provision.

Shared beta pool Live
CPU 66 of 100 cores free
34 cores claimed
Memory 132 of 200 GB free
68 GB claimed
Seats

33 left

At 2 vCPU and 4 GB each, the pool fits exactly 50 accounts. 17 are taken.

Take one
2 vCPU

2000 millicores, yours to split across as many services as your app needs.

4 GB RAM

Enough for an API, a worker, a Postgres and a Redis with room left over.

Everything on

Provisioned dependencies, TLS, live logs, auto-deploy on push. No feature gates.

Your data

Export or delete it whenever you want. Nothing is held hostage to a plan.

What happens when the pool runs out. This is a few days of free capacity while we learn what people deploy — not a permanent free tier we're pretending to fund. You'll hear from us well before anything is switched off, and nothing gets deleted without warning. Pricing comes later, once we know what we're actually worth to you.

  Avalon Frontend hosts Rolling your own
Deploys your appYesYesAfter you build the pipeline
Provisions databases & queuesDetected and provisionedBring your ownYou write the Terraform
Runs your backend servicesAny containerFunctions onlyYes
Kubernetes to maintainNoneNot applicableAll of it
Cost to startNothingFree tier, then usageA cloud bill on day one
Time to first deployMinutesMinutesWeeks
Why we built this

The platform gets audited. The workload doesn't.

We spent our careers breaking into environments like the ones these platforms produce: flat pod networking, unsigned images, containers running as root. The control plane holds up to the audit; the thing it deployed never gets looked at. Closing that gap is why Avalon exists — and since we run the clusters, it's ours to close, not yours.

Where we actually are today. Automated deployment is live and running real beta workloads. The hardened defaults below are rolling out over the coming weeks — we'd rather show you the order we're shipping in than imply it's all done.

Available now

Automated deployment

Stack detection, dependency provisioning, managed rollouts, live event streaming, auto-deploy on push, per-service resource limits.

Available now

Account security

TOTP and email multi-factor auth, recovery codes, scoped API tokens, and TLS on every deployed service.

Available now

Secrets and env vars

Per-environment variables with masked values, bulk .env import, and connection strings injected without ever passing through a commit.

Shipping next

Hardened node images

CIS-benchmarked base images for every node we run, rebuilt and re-scanned on a schedule rather than at install time.

Shipping next

Default-deny networking

Pod-to-pod traffic denied unless declared, so a compromised service can't walk sideways through your environment.

Shipping next

Admission control

Unsigned images rejected, root containers rejected, privileged pods rejected — enforced at the cluster, not left to the developer.

Shipping next

Edge protection

WAF, DDoS mitigation and bot filtering in front of every public service, on by default instead of as an upsell.

Shipping next

Automated scanning

Image and dependency scanning wired into the deploy path, with findings attached to the service that introduced them.

Shipping next

Compliance evidence

The posture report your prospects keep asking for, generated from what's actually enforced around your workloads.

Get started

Your next deploy could take four minutes.

Create an account, connect a repository, and watch Avalon work out the rest.

  • 2 vCPU and 4 GB RAM on our clusters, free
  • No credit card, and no trial clock
  • 33 of 50 seats still open in the pool