|
3 | 3 | <head> |
4 | 4 | <meta charset="utf-8"> |
5 | 5 | <meta name="viewport" content="width=device-width, initial-scale=1"> |
6 | | -<title>Cloudfall — own your stack, keep the autopilot</title> |
7 | | -<meta name="description" content="For founders whose cloud bill crossed $1,000/mo: Cloudfall moves your apps and databases onto one or two servers you own, and an always-on AI operator runs them there with a receipt for every action. Open source, no Kubernetes."> |
| 6 | +<title>Cloudfall — the record behind your AI operator</title> |
| 7 | +<meta name="description" content="Cloudfall is the operator's record for a small fleet run by an AI agent: it moves your apps and databases onto servers you own, an always-on operator runs them, and every decision leaves evidence that answers why. Open source, no Kubernetes."> |
8 | 8 | <link rel="canonical" href="https://cloudfall.dev/"> |
9 | | -<meta property="og:title" content="Cloudfall — own your stack, keep the autopilot"> |
10 | | -<meta property="og:description" content="Open-source control plane that moves your apps and databases onto servers you own, plus an always-on AI operator that can't fake success. No Kubernetes."> |
| 9 | +<meta property="og:title" content="Cloudfall — the record behind your AI operator"> |
| 10 | +<meta property="og:description" content="The operator's record for a small fleet run by an AI agent: servers you own, an always-on operator, and evidence for every decision. Open source. No Kubernetes."> |
11 | 11 | <meta property="og:url" content="https://cloudfall.dev/"> |
12 | 12 | <meta property="og:type" content="website"> |
13 | 13 | <meta property="og:site_name" content="Cloudfall"> |
14 | 14 | <meta property="og:locale" content="en_US"> |
15 | 15 | <meta property="og:image" content="https://cloudfall.dev/og.png"> |
16 | 16 | <meta property="og:image:width" content="1200"> |
17 | 17 | <meta property="og:image:height" content="630"> |
18 | | -<meta property="og:image:alt" content="Cloudfall — own your stack, keep the autopilot"> |
| 18 | +<meta property="og:image:alt" content="Cloudfall — the record behind your AI operator"> |
19 | 19 | <meta name="twitter:card" content="summary_large_image"> |
20 | | -<meta name="twitter:title" content="Cloudfall — own your stack, keep the autopilot"> |
21 | | -<meta name="twitter:description" content="Open-source control plane that moves your apps and databases onto servers you own, plus an always-on AI operator that can't fake success. No Kubernetes."> |
| 20 | +<meta name="twitter:title" content="Cloudfall — the record behind your AI operator"> |
| 21 | +<meta name="twitter:description" content="The operator's record for a small fleet run by an AI agent: servers you own, an always-on operator, and evidence for every decision. Open source. No Kubernetes."> |
22 | 22 | <meta name="twitter:image" content="https://cloudfall.dev/og.png"> |
23 | 23 | <meta name="theme-color" content="#0b1017"> |
24 | 24 | <link rel="apple-touch-icon" href="/apple-touch-icon.png"> |
|
216 | 216 | "@type": "SoftwareApplication", |
217 | 217 | "name": "Cloudfall", |
218 | 218 | "url": "https://cloudfall.dev/", |
219 | | - "description": "Open-source control plane that moves a SaaS's applications and databases off cloud PaaS onto one or two Debian servers you own, plus an always-on AI operator that runs them there with a receipt for every action. No Kubernetes.", |
| 219 | + "description": "The operator's record for a small fleet run by an AI agent. Cloudfall moves a SaaS's applications and databases onto one or two Debian servers you own, an always-on operator runs them, and every decision leaves evidence that answers why. No Kubernetes.", |
220 | 220 | "applicationCategory": "DeveloperApplication", |
221 | 221 | "operatingSystem": "Linux", |
222 | 222 | "license": "https://www.gnu.org/licenses/agpl-3.0.html", |
|
251 | 251 | <div class="hero"> |
252 | 252 | <div class="wrap"> |
253 | 253 | <div class="badge"><span class="dot"></span>Migration and operator proven live · open source · AGPL-3.0</div> |
254 | | - <h1>Own your stack.<br>Keep the <span class="accent">autopilot</span>.</h1> |
| 254 | + <h1>Your servers, run by an agent.<br>With a <span class="accent">record</span> that answers why.</h1> |
255 | 255 | <p class="sub"> |
256 | | - Your cloud bill crossed $1,000 a month: that is $12,000 a year for |
257 | | - compute and managed databases that fit on one or two servers you own. |
258 | | - Cloudfall moves your applications and data there — hardened baseline, |
259 | | - monitoring, health-gated deploys with rollback, a real DNS cutover — |
260 | | - and an always-on operator runs them with a receipt for every action. |
261 | | - Plain systemd and nginx. No Kubernetes. |
| 256 | + Cloudfall is the operator's record for a small fleet run by an AI |
| 257 | + agent. It moves your applications and data onto one or two servers |
| 258 | + you own — hardened baseline, monitoring, health-gated deploys with |
| 259 | + rollback, a real DNS cutover — and an always-on operator runs them |
| 260 | + there. Every operation is verified, every decision leaves evidence: |
| 261 | + what the fleet looked like, what was proposed, who approved, what |
| 262 | + happened. Plain systemd and nginx. No Kubernetes. |
262 | 263 | </p> |
263 | 264 | <div class="cta"> |
264 | 265 | <a class="btn btn-primary" href="https://github.com/romamo/cloudfall">View on GitHub</a> |
@@ -312,23 +313,22 @@ <h1>Own your stack.<br>Keep the <span class="accent">autopilot</span>.</h1> |
312 | 313 | <div class="kicker">Why Cloudfall</div> |
313 | 314 | <h2>An operator that can't fake success</h2> |
314 | 315 | <p class="section-sub"> |
315 | | - Leaving the cloud is a money decision blocked by a trust problem. |
316 | | - Cloudfall answers both: every dollar stops buying margins, and every |
317 | | - claim about your servers is backed by evidence collected from the |
318 | | - servers themselves. |
| 316 | + Agents can already run your servers. What they lack is a record: |
| 317 | + what they may do, whether it worked, and why they did it. Cloudfall |
| 318 | + is that record, and it happens to make leaving the cloud safe too. |
319 | 319 | </p> |
320 | 320 | <div class="grid"> |
321 | 321 | <div class="card"> |
322 | | - <h3>The bill buys computers, not margins</h3> |
| 322 | + <h3>A record that answers why</h3> |
323 | 323 | <p> |
324 | | - A steady cloud bill is mostly margin on commodity compute and |
325 | | - managed databases. The same workload runs on one or two |
326 | | - Hetzner-class servers for a tenth of the price, and the |
327 | | - difference is runway, every year. |
| 324 | + An agent's own log says a tool was called. Cloudfall's record |
| 325 | + says what the fleet looked like when it was, what was proposed, |
| 326 | + who approved, and what verify reported. After an incident, that |
| 327 | + is the page you open. |
328 | 328 | </p> |
329 | 329 | </div> |
330 | 330 | <div class="card"> |
331 | | - <h3>Evidence over inference</h3> |
| 331 | + <h3>Verified, not just ran</h3> |
332 | 332 | <p> |
333 | 333 | Deployments produce receipts. Status is derived from validated |
334 | 334 | observations, and <code>cloudfall audit</code> reports drift between |
@@ -356,12 +356,12 @@ <h3>Autonomy earned, never assumed</h3> |
356 | 356 | </p> |
357 | 357 | </div> |
358 | 358 | <div class="card"> |
359 | | - <h3>Typed state you own</h3> |
| 359 | + <h3>The bill buys computers, not margins</h3> |
360 | 360 | <p> |
361 | | - Servers, applications, and domains are declared in YAML validated |
362 | | - against JSON Schemas: versionable, diffable, agent-readable. The |
363 | | - config is the whole interface; no imperative dashboard holds your |
364 | | - infrastructure hostage. |
| 361 | + A steady cloud bill is mostly margin on commodity compute and |
| 362 | + managed databases. The same workload runs on one or two |
| 363 | + Hetzner-class servers for a tenth of the price, and the |
| 364 | + difference is runway, every year. |
365 | 365 | </p> |
366 | 366 | </div> |
367 | 367 | <div class="card"> |
@@ -410,8 +410,8 @@ <h3>Operate</h3> |
410 | 410 | <p> |
411 | 411 | Cut DNS and the bill starts buying computers. The always-on |
412 | 412 | operator watches declared alerts and audited drift, remediates |
413 | | - what its receipts prove reversible, and delivers a receipt for |
414 | | - every action; you approve only what can't be undone. |
| 413 | + what its record proves reversible, and writes an audit entry for |
| 414 | + every decision; you approve only what can't be undone. |
415 | 415 | </p> |
416 | 416 | </div> |
417 | 417 | </div> |
@@ -448,6 +448,7 @@ <h3>Not there yet</h3> |
448 | 448 | <li>Broader service catalog: MySQL, Elasticsearch, RabbitMQ, Node runtimes</li> |
449 | 449 | <li>Enforced per-component resource limits for shared nodes</li> |
450 | 450 | <li>Importers beyond Render</li> |
| 451 | + <li>Your existing Ansible inventory and playbooks as the config and the agent's tool list: <a href="https://github.com/romamo/cloudfall/blob/main/docs/brownfield-design.md">design written</a>, nothing built</li> |
451 | 452 | </ul> |
452 | 453 | </div> |
453 | 454 | </div> |
|
0 commit comments