CI: install Go to HOME dir instead of /usr/local (no sudo needed)

This commit is contained in:
2026-03-01 16:45:03 +00:00
parent 45a0237163
commit 7db364716c
18 changed files with 39 additions and 39 deletions

View File

@@ -17,20 +17,20 @@ jobs:
- name: Install Go - name: Install Go
run: | run: |
if ! command -v go &>/dev/null; then if ! command -v go &>/dev/null; then
curl -sL https://go.dev/dl/go1.22.12.linux-amd64.tar.gz | tar -C /usr/local -xzf - 2>/dev/null || \ mkdir -p $HOME/go-sdk
curl -sL https://go.dev/dl/go1.22.12.linux-amd64.tar.gz | sudo tar -C /usr/local -xzf - curl -sL https://go.dev/dl/go1.22.12.linux-amd64.tar.gz | tar -C $HOME/go-sdk --strip-components=1 -xzf -
export PATH="/usr/local/go/bin:$PATH"
fi fi
export PATH="$HOME/go-sdk/bin:$PATH"
go version go version
- name: Test agent - name: Test agent
run: | run: |
export PATH="/usr/local/go/bin:$HOME/go/bin:$PATH" export PATH="$HOME/go-sdk/bin:$HOME/go/bin:$PATH"
cd $GITHUB_WORKSPACE/products/02-iac-drift-detection/agent && go mod download && go mod tidy && go test ./... cd $GITHUB_WORKSPACE/products/02-iac-drift-detection/agent && go mod download && go mod tidy && go test ./...
- name: Vet - name: Vet
run: | run: |
export PATH="/usr/local/go/bin:$HOME/go/bin:$PATH" export PATH="$HOME/go-sdk/bin:$HOME/go/bin:$PATH"
cd $GITHUB_WORKSPACE/products/02-iac-drift-detection/agent && go vet ./... cd $GITHUB_WORKSPACE/products/02-iac-drift-detection/agent && go vet ./...
saas: saas:

View File

@@ -1,8 +1,8 @@
<!DOCTYPE html><html lang="en" class="dark"> <head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="description" content="Correlate alerts from PagerDuty, Datadog, OpsGenie, and Grafana into incidents. Reduce alert fatigue by 80%. BigPanda alternative for small teams. HMAC-verified webhooks."><meta name="theme-color" content="#0a0a0f"><meta name="keywords" content="DevOps tools, platform engineering, LLM cost router, Terraform drift detection, alert correlation, service catalog, AWS cost anomaly, runbook automation, Backstage alternative, Rundeck alternative, Driftctl alternative, FinOps, SRE toolchain"><link rel="icon" type="image/svg+xml" href="/favicon.svg"><link rel="preconnect" href="https://fonts.googleapis.com"><link rel="preconnect" href="https://fonts.gstatic.com" crossorigin><link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap" rel="stylesheet"><!-- OG --><meta property="og:title" content="dd0c/alert — Alert Intelligence &#38; Correlation"><meta property="og:description" content="Correlate alerts from PagerDuty, Datadog, OpsGenie, and Grafana into incidents. Reduce alert fatigue by 80%. BigPanda alternative for small teams. HMAC-verified webhooks."><meta property="og:type" content="website"><meta property="og:url" content="https://dd0c.dev"><meta name="twitter:card" content="summary_large_image"><title>dd0c/alert — Alert Intelligence &amp; Correlation</title><link rel="stylesheet" href="/_astro/alert.BAN0u9re.css"></head> <body class="bg-dd0c-bg text-dd0c-text font-sans antialiased"> <nav class="fixed top-0 w-full z-50 border-b border-dd0c-border bg-dd0c-bg/80 backdrop-blur-xl"> <div class="max-w-6xl mx-auto px-6 h-16 flex items-center justify-between"> <a href="/" class="flex items-center gap-2"> <span class="font-mono font-bold text-xl text-dd0c-primary">dd0c</span> <span class="text-dd0c-muted text-sm hidden sm:inline">/devops</span> </a> <div class="hidden md:flex items-center gap-8 text-sm text-dd0c-muted"> <a href="#products" class="hover:text-dd0c-text transition">Products</a> <a href="#pricing" class="hover:text-dd0c-text transition">Pricing</a> <a href="https://docs.dd0c.dev" class="hover:text-dd0c-text transition">Docs</a> </div> <div class="flex items-center gap-4"> <a href="https://app.dd0c.dev/login" class="text-sm text-dd0c-muted hover:text-dd0c-text transition">Log in</a> <a href="https://app.dd0c.dev/signup" class="text-sm px-4 py-2 rounded-lg bg-dd0c-primary hover:bg-dd0c-primary-light text-white transition font-medium">Start free</a> </div> </div> </nav> <main> <section class="pt-32 pb-20 px-6"> <div class="max-w-4xl mx-auto"> <div class="mb-8"> <span class="font-mono text-sm text-dd0c-primary">dd0c/alert</span> <h1 class="text-4xl sm:text-5xl font-bold mt-2">Alert fatigue is a bug, not a feature</h1> <p class="mt-6 text-lg text-dd0c-muted leading-relaxed max-w-2xl"> <!DOCTYPE html><html lang="en" class="dark"> <head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="description" content="Correlate alerts from PagerDuty, Datadog, OpsGenie, and Grafana into incidents. Reduce alert fatigue by 80%. BigPanda alternative for small teams. HMAC-verified webhooks."><meta name="theme-color" content="#0a0a0f"><meta name="keywords" content="DevOps tools, platform engineering, LLM cost router, Terraform drift detection, alert correlation, service catalog, AWS cost anomaly, runbook automation, Backstage alternative, Rundeck alternative, Driftctl alternative, FinOps, SRE toolchain"><link rel="icon" type="image/svg+xml" href="/favicon.svg"><link rel="preconnect" href="https://fonts.googleapis.com"><link rel="preconnect" href="https://fonts.gstatic.com" crossorigin><link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap" rel="stylesheet"><!-- OG --><meta property="og:title" content="dd0c/alert — Alert Intelligence &#38; Correlation"><meta property="og:description" content="Correlate alerts from PagerDuty, Datadog, OpsGenie, and Grafana into incidents. Reduce alert fatigue by 80%. BigPanda alternative for small teams. HMAC-verified webhooks."><meta property="og:type" content="website"><meta property="og:url" content="https://dd0c.dev"><meta name="twitter:card" content="summary_large_image"><title>dd0c/alert — Alert Intelligence &amp; Correlation</title><link rel="stylesheet" href="/_astro/alert.BAN0u9re.css"></head> <body class="bg-dd0c-bg text-dd0c-text font-sans antialiased"> <nav class="fixed top-0 w-full z-50 border-b border-dd0c-border bg-dd0c-bg/80 backdrop-blur-xl"> <div class="max-w-6xl mx-auto px-6 h-16 flex items-center justify-between"> <a href="/" class="flex items-center gap-2"> <span class="font-mono font-bold text-xl text-dd0c-primary">dd0c</span> <span class="text-dd0c-muted text-sm hidden sm:inline">/devops</span> </a> <div class="hidden md:flex items-center gap-8 text-sm text-dd0c-muted"> <a href="#products" class="hover:text-dd0c-text transition">Products</a> <a href="#pricing" class="hover:text-dd0c-text transition">Pricing</a> <a href="https://docs.dd0c.dev" class="hover:text-dd0c-text transition">Docs</a> </div> <div class="flex items-center gap-4"> <a href="#waitlist" class="text-sm text-dd0c-muted hover:text-dd0c-text transition">Log in</a> <a href="#waitlist" class="text-sm px-4 py-2 rounded-lg bg-dd0c-primary hover:bg-dd0c-primary-light text-white transition font-medium">Start free</a> </div> </div> </nav> <main> <section class="pt-32 pb-20 px-6"> <div class="max-w-4xl mx-auto"> <div class="mb-8"> <span class="font-mono text-sm text-dd0c-primary">dd0c/alert</span> <h1 class="text-4xl sm:text-5xl font-bold mt-2">Alert fatigue is a bug, not a feature</h1> <p class="mt-6 text-lg text-dd0c-muted leading-relaxed max-w-2xl">
Ingest webhooks from PagerDuty, Datadog, OpsGenie, and Grafana. Group related alerts into incidents using time-window correlation. Stop waking up three times for the same outage. Ingest webhooks from PagerDuty, Datadog, OpsGenie, and Grafana. Group related alerts into incidents using time-window correlation. Stop waking up three times for the same outage.
</p> </div> <div class="mt-10 flex gap-4"> <a href="https://app.dd0c.dev/signup" class="px-6 py-3 rounded-lg bg-dd0c-primary hover:bg-dd0c-primary-light text-white font-medium transition">Start free →</a> <a href="https://docs.dd0c.dev/alert" class="px-6 py-3 rounded-lg border border-dd0c-border hover:border-dd0c-muted text-dd0c-muted hover:text-dd0c-text transition">Read docs</a> </div> <div class="mt-16 grid md:grid-cols-2 gap-6"> <div class="rounded-xl border border-dd0c-border bg-dd0c-surface p-6"> <div class="text-2xl mb-3">🔗</div> <h3 class="font-semibold mb-2">Multi-source correlation</h3> <p class="text-sm text-dd0c-muted">HMAC-verified webhooks from 4 providers. Canonical alert schema normalizes everything into one format.</p> </div> <div class="rounded-xl border border-dd0c-border bg-dd0c-surface p-6"> <div class="text-2xl mb-3">⏱️</div> <h3 class="font-semibold mb-2">Time-window grouping</h3> <p class="text-sm text-dd0c-muted">5-minute correlation windows. Late alerts attach to existing incidents. Very late alerts create new ones.</p> </div> <div class="rounded-xl border border-dd0c-border bg-dd0c-surface p-6"> <div class="text-2xl mb-3">📉</div> <h3 class="font-semibold mb-2">80% noise reduction</h3> <p class="text-sm text-dd0c-muted">20 alerts from the same root cause become 1 incident. Your on-call engineer sees one notification, not twenty.</p> </div> <div class="rounded-xl border border-dd0c-border bg-dd0c-surface p-6"> <div class="text-2xl mb-3">📧</div> <h3 class="font-semibold mb-2">Slack, email, webhook</h3> <p class="text-sm text-dd0c-muted">Severity-gated notifications. Critical goes to Slack + email. Low goes to a dashboard. You decide.</p> </div> </div> </div> </section> <section class="py-20 px-6 border-t border-dd0c-border"> <div class="max-w-3xl mx-auto text-center"> <h2 class="text-3xl sm:text-4xl font-bold">Stop paying enterprise prices<br>for tools you half-use</h2> <p class="mt-6 text-dd0c-muted text-lg leading-relaxed"> </p> </div> <div class="mt-10 flex gap-4"> <a href="#waitlist" class="px-6 py-3 rounded-lg bg-dd0c-primary hover:bg-dd0c-primary-light text-white font-medium transition">Start free →</a> <a href="https://docs.dd0c.dev/alert" class="px-6 py-3 rounded-lg border border-dd0c-border hover:border-dd0c-muted text-dd0c-muted hover:text-dd0c-text transition">Read docs</a> </div> <div class="mt-16 grid md:grid-cols-2 gap-6"> <div class="rounded-xl border border-dd0c-border bg-dd0c-surface p-6"> <div class="text-2xl mb-3">🔗</div> <h3 class="font-semibold mb-2">Multi-source correlation</h3> <p class="text-sm text-dd0c-muted">HMAC-verified webhooks from 4 providers. Canonical alert schema normalizes everything into one format.</p> </div> <div class="rounded-xl border border-dd0c-border bg-dd0c-surface p-6"> <div class="text-2xl mb-3">⏱️</div> <h3 class="font-semibold mb-2">Time-window grouping</h3> <p class="text-sm text-dd0c-muted">5-minute correlation windows. Late alerts attach to existing incidents. Very late alerts create new ones.</p> </div> <div class="rounded-xl border border-dd0c-border bg-dd0c-surface p-6"> <div class="text-2xl mb-3">📉</div> <h3 class="font-semibold mb-2">80% noise reduction</h3> <p class="text-sm text-dd0c-muted">20 alerts from the same root cause become 1 incident. Your on-call engineer sees one notification, not twenty.</p> </div> <div class="rounded-xl border border-dd0c-border bg-dd0c-surface p-6"> <div class="text-2xl mb-3">📧</div> <h3 class="font-semibold mb-2">Slack, email, webhook</h3> <p class="text-sm text-dd0c-muted">Severity-gated notifications. Critical goes to Slack + email. Low goes to a dashboard. You decide.</p> </div> </div> </div> </section> <section class="py-20 px-6 border-t border-dd0c-border"> <div class="max-w-3xl mx-auto text-center"> <h2 class="text-3xl sm:text-4xl font-bold">Stop paying enterprise prices<br>for tools you half-use</h2> <p class="mt-6 text-dd0c-muted text-lg leading-relaxed">
dd0c is built by a solo engineer who got tired of $50K/year DevOps platforms dd0c is built by a solo engineer who got tired of $50K/year DevOps platforms
that take 3 months to set up. Each tool does one thing well. Start free. Pay when it saves you money. that take 3 months to set up. Each tool does one thing well. Start free. Pay when it saves you money.
</p> <div class="mt-10"> <a href="https://app.dd0c.dev/signup" class="inline-flex px-8 py-3 rounded-lg bg-dd0c-primary hover:bg-dd0c-primary-light text-white font-medium transition"> </p> <div class="mt-10"> <a href="#waitlist" class="inline-flex px-8 py-3 rounded-lg bg-dd0c-primary hover:bg-dd0c-primary-light text-white font-medium transition">
Get started — it's free → Get started — it's free →
</a> </div> </div> </section> <footer class="py-12 px-6 border-t border-dd0c-border"> <div class="max-w-6xl mx-auto"> <div class="grid md:grid-cols-4 gap-8"> <div> <span class="font-mono font-bold text-lg text-dd0c-primary">dd0c</span> <p class="mt-2 text-sm text-dd0c-muted">DevOps tools that don't waste your time.</p> </div> <div> <h4 class="font-semibold text-sm mb-3">Products</h4> <ul class="space-y-2 text-sm text-dd0c-muted"> <li><a href="/route" class="hover:text-dd0c-text transition">dd0c/route</a></li> <li><a href="/drift" class="hover:text-dd0c-text transition">dd0c/drift</a></li> <li><a href="/alert" class="hover:text-dd0c-text transition">dd0c/alert</a></li> <li><a href="/portal" class="hover:text-dd0c-text transition">dd0c/portal</a></li> <li><a href="/cost" class="hover:text-dd0c-text transition">dd0c/cost</a></li> <li><a href="/run" class="hover:text-dd0c-text transition">dd0c/run</a></li> </ul> </div> <div> <h4 class="font-semibold text-sm mb-3">Resources</h4> <ul class="space-y-2 text-sm text-dd0c-muted"> <li><a href="https://docs.dd0c.dev" class="hover:text-dd0c-text transition">Documentation</a></li> <li><a href="https://docs.dd0c.dev/self-hosted" class="hover:text-dd0c-text transition">Self-hosted guide</a></li> <li><a href="https://docs.dd0c.dev/api" class="hover:text-dd0c-text transition">API reference</a></li> <li><a href="/changelog" class="hover:text-dd0c-text transition">Changelog</a></li> </ul> </div> <div> <h4 class="font-semibold text-sm mb-3">Company</h4> <ul class="space-y-2 text-sm text-dd0c-muted"> <li><a href="https://github.com/dd0c" class="hover:text-dd0c-text transition">GitHub</a></li> <li><a href="https://twitter.com/dd0cdev" class="hover:text-dd0c-text transition">Twitter</a></li> <li><a href="/privacy" class="hover:text-dd0c-text transition">Privacy</a></li> <li><a href="/terms" class="hover:text-dd0c-text transition">Terms</a></li> </ul> </div> </div> <div class="mt-12 pt-8 border-t border-dd0c-border flex flex-col sm:flex-row items-center justify-between gap-4"> <p class="text-xs text-dd0c-muted">© 2026 dd0c. All rights reserved.</p> <p class="text-xs text-dd0c-muted">Built with ☕ by a solo founder who ships.</p> </div> </div> </footer> </main> </body></html> </a> </div> </div> </section> <footer class="py-12 px-6 border-t border-dd0c-border"> <div class="max-w-6xl mx-auto"> <div class="grid md:grid-cols-4 gap-8"> <div> <span class="font-mono font-bold text-lg text-dd0c-primary">dd0c</span> <p class="mt-2 text-sm text-dd0c-muted">DevOps tools that don't waste your time.</p> </div> <div> <h4 class="font-semibold text-sm mb-3">Products</h4> <ul class="space-y-2 text-sm text-dd0c-muted"> <li><a href="/route" class="hover:text-dd0c-text transition">dd0c/route</a></li> <li><a href="/drift" class="hover:text-dd0c-text transition">dd0c/drift</a></li> <li><a href="/alert" class="hover:text-dd0c-text transition">dd0c/alert</a></li> <li><a href="/portal" class="hover:text-dd0c-text transition">dd0c/portal</a></li> <li><a href="/cost" class="hover:text-dd0c-text transition">dd0c/cost</a></li> <li><a href="/run" class="hover:text-dd0c-text transition">dd0c/run</a></li> </ul> </div> <div> <h4 class="font-semibold text-sm mb-3">Resources</h4> <ul class="space-y-2 text-sm text-dd0c-muted"> <li><a href="https://docs.dd0c.dev" class="hover:text-dd0c-text transition">Documentation</a></li> <li><a href="https://docs.dd0c.dev/self-hosted" class="hover:text-dd0c-text transition">Self-hosted guide</a></li> <li><a href="https://docs.dd0c.dev/api" class="hover:text-dd0c-text transition">API reference</a></li> <li><a href="/changelog" class="hover:text-dd0c-text transition">Changelog</a></li> </ul> </div> <div> <h4 class="font-semibold text-sm mb-3">Company</h4> <ul class="space-y-2 text-sm text-dd0c-muted"> <li><a href="https://github.com/dd0c" class="hover:text-dd0c-text transition">GitHub</a></li> <li><a href="https://twitter.com/dd0cdev" class="hover:text-dd0c-text transition">Twitter</a></li> <li><a href="/privacy" class="hover:text-dd0c-text transition">Privacy</a></li> <li><a href="/terms" class="hover:text-dd0c-text transition">Terms</a></li> </ul> </div> </div> <div class="mt-12 pt-8 border-t border-dd0c-border flex flex-col sm:flex-row items-center justify-between gap-4"> <p class="text-xs text-dd0c-muted">© 2026 dd0c. All rights reserved.</p> <p class="text-xs text-dd0c-muted">Built with ☕ by a solo founder who ships.</p> </div> </div> </footer> </main> </body></html>

View File

@@ -1,8 +1,8 @@
<!DOCTYPE html><html lang="en" class="dark"> <head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="description" content="Detect AWS billing anomalies with Welford statistical baselines and z-score alerts. Slack notifications, snooze controls, and governance rules. AWS Cost Anomaly Detection alternative for small teams."><meta name="theme-color" content="#0a0a0f"><meta name="keywords" content="DevOps tools, platform engineering, LLM cost router, Terraform drift detection, alert correlation, service catalog, AWS cost anomaly, runbook automation, Backstage alternative, Rundeck alternative, Driftctl alternative, FinOps, SRE toolchain"><link rel="icon" type="image/svg+xml" href="/favicon.svg"><link rel="preconnect" href="https://fonts.googleapis.com"><link rel="preconnect" href="https://fonts.gstatic.com" crossorigin><link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap" rel="stylesheet"><!-- OG --><meta property="og:title" content="dd0c/cost — AWS Cost Anomaly Detection"><meta property="og:description" content="Detect AWS billing anomalies with Welford statistical baselines and z-score alerts. Slack notifications, snooze controls, and governance rules. AWS Cost Anomaly Detection alternative for small teams."><meta property="og:type" content="website"><meta property="og:url" content="https://dd0c.dev"><meta name="twitter:card" content="summary_large_image"><title>dd0c/cost — AWS Cost Anomaly Detection</title><link rel="stylesheet" href="/_astro/alert.BAN0u9re.css"></head> <body class="bg-dd0c-bg text-dd0c-text font-sans antialiased"> <nav class="fixed top-0 w-full z-50 border-b border-dd0c-border bg-dd0c-bg/80 backdrop-blur-xl"> <div class="max-w-6xl mx-auto px-6 h-16 flex items-center justify-between"> <a href="/" class="flex items-center gap-2"> <span class="font-mono font-bold text-xl text-dd0c-primary">dd0c</span> <span class="text-dd0c-muted text-sm hidden sm:inline">/devops</span> </a> <div class="hidden md:flex items-center gap-8 text-sm text-dd0c-muted"> <a href="#products" class="hover:text-dd0c-text transition">Products</a> <a href="#pricing" class="hover:text-dd0c-text transition">Pricing</a> <a href="https://docs.dd0c.dev" class="hover:text-dd0c-text transition">Docs</a> </div> <div class="flex items-center gap-4"> <a href="https://app.dd0c.dev/login" class="text-sm text-dd0c-muted hover:text-dd0c-text transition">Log in</a> <a href="https://app.dd0c.dev/signup" class="text-sm px-4 py-2 rounded-lg bg-dd0c-primary hover:bg-dd0c-primary-light text-white transition font-medium">Start free</a> </div> </div> </nav> <main> <section class="pt-32 pb-20 px-6"> <div class="max-w-4xl mx-auto"> <div class="mb-8"> <span class="font-mono text-sm text-dd0c-primary">dd0c/cost</span> <h1 class="text-4xl sm:text-5xl font-bold mt-2">Know about cost spikes before the bill arrives</h1> <p class="mt-6 text-lg text-dd0c-muted leading-relaxed max-w-2xl"> <!DOCTYPE html><html lang="en" class="dark"> <head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="description" content="Detect AWS billing anomalies with Welford statistical baselines and z-score alerts. Slack notifications, snooze controls, and governance rules. AWS Cost Anomaly Detection alternative for small teams."><meta name="theme-color" content="#0a0a0f"><meta name="keywords" content="DevOps tools, platform engineering, LLM cost router, Terraform drift detection, alert correlation, service catalog, AWS cost anomaly, runbook automation, Backstage alternative, Rundeck alternative, Driftctl alternative, FinOps, SRE toolchain"><link rel="icon" type="image/svg+xml" href="/favicon.svg"><link rel="preconnect" href="https://fonts.googleapis.com"><link rel="preconnect" href="https://fonts.gstatic.com" crossorigin><link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap" rel="stylesheet"><!-- OG --><meta property="og:title" content="dd0c/cost — AWS Cost Anomaly Detection"><meta property="og:description" content="Detect AWS billing anomalies with Welford statistical baselines and z-score alerts. Slack notifications, snooze controls, and governance rules. AWS Cost Anomaly Detection alternative for small teams."><meta property="og:type" content="website"><meta property="og:url" content="https://dd0c.dev"><meta name="twitter:card" content="summary_large_image"><title>dd0c/cost — AWS Cost Anomaly Detection</title><link rel="stylesheet" href="/_astro/alert.BAN0u9re.css"></head> <body class="bg-dd0c-bg text-dd0c-text font-sans antialiased"> <nav class="fixed top-0 w-full z-50 border-b border-dd0c-border bg-dd0c-bg/80 backdrop-blur-xl"> <div class="max-w-6xl mx-auto px-6 h-16 flex items-center justify-between"> <a href="/" class="flex items-center gap-2"> <span class="font-mono font-bold text-xl text-dd0c-primary">dd0c</span> <span class="text-dd0c-muted text-sm hidden sm:inline">/devops</span> </a> <div class="hidden md:flex items-center gap-8 text-sm text-dd0c-muted"> <a href="#products" class="hover:text-dd0c-text transition">Products</a> <a href="#pricing" class="hover:text-dd0c-text transition">Pricing</a> <a href="https://docs.dd0c.dev" class="hover:text-dd0c-text transition">Docs</a> </div> <div class="flex items-center gap-4"> <a href="#waitlist" class="text-sm text-dd0c-muted hover:text-dd0c-text transition">Log in</a> <a href="#waitlist" class="text-sm px-4 py-2 rounded-lg bg-dd0c-primary hover:bg-dd0c-primary-light text-white transition font-medium">Start free</a> </div> </div> </nav> <main> <section class="pt-32 pb-20 px-6"> <div class="max-w-4xl mx-auto"> <div class="mb-8"> <span class="font-mono text-sm text-dd0c-primary">dd0c/cost</span> <h1 class="text-4xl sm:text-5xl font-bold mt-2">Know about cost spikes before the bill arrives</h1> <p class="mt-6 text-lg text-dd0c-muted leading-relaxed max-w-2xl">
Welford's algorithm builds running baselines per resource type. Z-score anomaly detection catches spikes in real time. Slack alerts with one-click snooze for expected costs. Governance engine auto-promotes from shadow to enforce. Welford's algorithm builds running baselines per resource type. Z-score anomaly detection catches spikes in real time. Slack alerts with one-click snooze for expected costs. Governance engine auto-promotes from shadow to enforce.
</p> </div> <div class="mt-10 flex gap-4"> <a href="https://app.dd0c.dev/signup" class="px-6 py-3 rounded-lg bg-dd0c-primary hover:bg-dd0c-primary-light text-white font-medium transition">Start free →</a> <a href="https://docs.dd0c.dev/cost" class="px-6 py-3 rounded-lg border border-dd0c-border hover:border-dd0c-muted text-dd0c-muted hover:text-dd0c-text transition">Read docs</a> </div> <div class="mt-16 grid md:grid-cols-2 gap-6"> <div class="rounded-xl border border-dd0c-border bg-dd0c-surface p-6"> <div class="text-2xl mb-3">📈</div> <h3 class="font-semibold mb-2">Statistical baselines</h3> <p class="text-sm text-dd0c-muted">Welford's online algorithm. No batch jobs. Baselines update with every data point. Optimistic locking prevents corruption.</p> </div> <div class="rounded-xl border border-dd0c-border bg-dd0c-surface p-6"> <div class="text-2xl mb-3">🎯</div> <h3 class="font-semibold mb-2">0-100 anomaly score</h3> <p class="text-sm text-dd0c-muted">Z-score mapped to a simple 0-100 scale. Set your threshold. Default 50 (2σ). Tune per resource type.</p> </div> <div class="rounded-xl border border-dd0c-border bg-dd0c-surface p-6"> <div class="text-2xl mb-3">🛡️</div> <h3 class="font-semibold mb-2">Governance engine</h3> <p class="text-sm text-dd0c-muted">Shadow → audit → enforce. Auto-promotes after 14 days with &lt;10% false positive rate. Safe by default.</p> </div> <div class="rounded-xl border border-dd0c-border bg-dd0c-surface p-6"> <div class="text-2xl mb-3">💤</div> <h3 class="font-semibold mb-2">Snooze & mark expected</h3> <p class="text-sm text-dd0c-muted">Known cost spike? Snooze for 1-168 hours or mark as expected. Reduces false positive rate over time.</p> </div> </div> </div> </section> <section class="py-20 px-6 border-t border-dd0c-border"> <div class="max-w-3xl mx-auto text-center"> <h2 class="text-3xl sm:text-4xl font-bold">Stop paying enterprise prices<br>for tools you half-use</h2> <p class="mt-6 text-dd0c-muted text-lg leading-relaxed"> </p> </div> <div class="mt-10 flex gap-4"> <a href="#waitlist" class="px-6 py-3 rounded-lg bg-dd0c-primary hover:bg-dd0c-primary-light text-white font-medium transition">Start free →</a> <a href="https://docs.dd0c.dev/cost" class="px-6 py-3 rounded-lg border border-dd0c-border hover:border-dd0c-muted text-dd0c-muted hover:text-dd0c-text transition">Read docs</a> </div> <div class="mt-16 grid md:grid-cols-2 gap-6"> <div class="rounded-xl border border-dd0c-border bg-dd0c-surface p-6"> <div class="text-2xl mb-3">📈</div> <h3 class="font-semibold mb-2">Statistical baselines</h3> <p class="text-sm text-dd0c-muted">Welford's online algorithm. No batch jobs. Baselines update with every data point. Optimistic locking prevents corruption.</p> </div> <div class="rounded-xl border border-dd0c-border bg-dd0c-surface p-6"> <div class="text-2xl mb-3">🎯</div> <h3 class="font-semibold mb-2">0-100 anomaly score</h3> <p class="text-sm text-dd0c-muted">Z-score mapped to a simple 0-100 scale. Set your threshold. Default 50 (2σ). Tune per resource type.</p> </div> <div class="rounded-xl border border-dd0c-border bg-dd0c-surface p-6"> <div class="text-2xl mb-3">🛡️</div> <h3 class="font-semibold mb-2">Governance engine</h3> <p class="text-sm text-dd0c-muted">Shadow → audit → enforce. Auto-promotes after 14 days with &lt;10% false positive rate. Safe by default.</p> </div> <div class="rounded-xl border border-dd0c-border bg-dd0c-surface p-6"> <div class="text-2xl mb-3">💤</div> <h3 class="font-semibold mb-2">Snooze & mark expected</h3> <p class="text-sm text-dd0c-muted">Known cost spike? Snooze for 1-168 hours or mark as expected. Reduces false positive rate over time.</p> </div> </div> </div> </section> <section class="py-20 px-6 border-t border-dd0c-border"> <div class="max-w-3xl mx-auto text-center"> <h2 class="text-3xl sm:text-4xl font-bold">Stop paying enterprise prices<br>for tools you half-use</h2> <p class="mt-6 text-dd0c-muted text-lg leading-relaxed">
dd0c is built by a solo engineer who got tired of $50K/year DevOps platforms dd0c is built by a solo engineer who got tired of $50K/year DevOps platforms
that take 3 months to set up. Each tool does one thing well. Start free. Pay when it saves you money. that take 3 months to set up. Each tool does one thing well. Start free. Pay when it saves you money.
</p> <div class="mt-10"> <a href="https://app.dd0c.dev/signup" class="inline-flex px-8 py-3 rounded-lg bg-dd0c-primary hover:bg-dd0c-primary-light text-white font-medium transition"> </p> <div class="mt-10"> <a href="#waitlist" class="inline-flex px-8 py-3 rounded-lg bg-dd0c-primary hover:bg-dd0c-primary-light text-white font-medium transition">
Get started — it's free → Get started — it's free →
</a> </div> </div> </section> <footer class="py-12 px-6 border-t border-dd0c-border"> <div class="max-w-6xl mx-auto"> <div class="grid md:grid-cols-4 gap-8"> <div> <span class="font-mono font-bold text-lg text-dd0c-primary">dd0c</span> <p class="mt-2 text-sm text-dd0c-muted">DevOps tools that don't waste your time.</p> </div> <div> <h4 class="font-semibold text-sm mb-3">Products</h4> <ul class="space-y-2 text-sm text-dd0c-muted"> <li><a href="/route" class="hover:text-dd0c-text transition">dd0c/route</a></li> <li><a href="/drift" class="hover:text-dd0c-text transition">dd0c/drift</a></li> <li><a href="/alert" class="hover:text-dd0c-text transition">dd0c/alert</a></li> <li><a href="/portal" class="hover:text-dd0c-text transition">dd0c/portal</a></li> <li><a href="/cost" class="hover:text-dd0c-text transition">dd0c/cost</a></li> <li><a href="/run" class="hover:text-dd0c-text transition">dd0c/run</a></li> </ul> </div> <div> <h4 class="font-semibold text-sm mb-3">Resources</h4> <ul class="space-y-2 text-sm text-dd0c-muted"> <li><a href="https://docs.dd0c.dev" class="hover:text-dd0c-text transition">Documentation</a></li> <li><a href="https://docs.dd0c.dev/self-hosted" class="hover:text-dd0c-text transition">Self-hosted guide</a></li> <li><a href="https://docs.dd0c.dev/api" class="hover:text-dd0c-text transition">API reference</a></li> <li><a href="/changelog" class="hover:text-dd0c-text transition">Changelog</a></li> </ul> </div> <div> <h4 class="font-semibold text-sm mb-3">Company</h4> <ul class="space-y-2 text-sm text-dd0c-muted"> <li><a href="https://github.com/dd0c" class="hover:text-dd0c-text transition">GitHub</a></li> <li><a href="https://twitter.com/dd0cdev" class="hover:text-dd0c-text transition">Twitter</a></li> <li><a href="/privacy" class="hover:text-dd0c-text transition">Privacy</a></li> <li><a href="/terms" class="hover:text-dd0c-text transition">Terms</a></li> </ul> </div> </div> <div class="mt-12 pt-8 border-t border-dd0c-border flex flex-col sm:flex-row items-center justify-between gap-4"> <p class="text-xs text-dd0c-muted">© 2026 dd0c. All rights reserved.</p> <p class="text-xs text-dd0c-muted">Built with ☕ by a solo founder who ships.</p> </div> </div> </footer> </main> </body></html> </a> </div> </div> </section> <footer class="py-12 px-6 border-t border-dd0c-border"> <div class="max-w-6xl mx-auto"> <div class="grid md:grid-cols-4 gap-8"> <div> <span class="font-mono font-bold text-lg text-dd0c-primary">dd0c</span> <p class="mt-2 text-sm text-dd0c-muted">DevOps tools that don't waste your time.</p> </div> <div> <h4 class="font-semibold text-sm mb-3">Products</h4> <ul class="space-y-2 text-sm text-dd0c-muted"> <li><a href="/route" class="hover:text-dd0c-text transition">dd0c/route</a></li> <li><a href="/drift" class="hover:text-dd0c-text transition">dd0c/drift</a></li> <li><a href="/alert" class="hover:text-dd0c-text transition">dd0c/alert</a></li> <li><a href="/portal" class="hover:text-dd0c-text transition">dd0c/portal</a></li> <li><a href="/cost" class="hover:text-dd0c-text transition">dd0c/cost</a></li> <li><a href="/run" class="hover:text-dd0c-text transition">dd0c/run</a></li> </ul> </div> <div> <h4 class="font-semibold text-sm mb-3">Resources</h4> <ul class="space-y-2 text-sm text-dd0c-muted"> <li><a href="https://docs.dd0c.dev" class="hover:text-dd0c-text transition">Documentation</a></li> <li><a href="https://docs.dd0c.dev/self-hosted" class="hover:text-dd0c-text transition">Self-hosted guide</a></li> <li><a href="https://docs.dd0c.dev/api" class="hover:text-dd0c-text transition">API reference</a></li> <li><a href="/changelog" class="hover:text-dd0c-text transition">Changelog</a></li> </ul> </div> <div> <h4 class="font-semibold text-sm mb-3">Company</h4> <ul class="space-y-2 text-sm text-dd0c-muted"> <li><a href="https://github.com/dd0c" class="hover:text-dd0c-text transition">GitHub</a></li> <li><a href="https://twitter.com/dd0cdev" class="hover:text-dd0c-text transition">Twitter</a></li> <li><a href="/privacy" class="hover:text-dd0c-text transition">Privacy</a></li> <li><a href="/terms" class="hover:text-dd0c-text transition">Terms</a></li> </ul> </div> </div> <div class="mt-12 pt-8 border-t border-dd0c-border flex flex-col sm:flex-row items-center justify-between gap-4"> <p class="text-xs text-dd0c-muted">© 2026 dd0c. All rights reserved.</p> <p class="text-xs text-dd0c-muted">Built with ☕ by a solo founder who ships.</p> </div> </div> </footer> </main> </body></html>

View File

@@ -1,11 +1,11 @@
<!DOCTYPE html><html lang="en" class="dark"> <head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="description" content="Lightweight Go agent detects Terraform state drift, scrubs secrets from reports, and alerts on Slack. Driftctl alternative for IaC drift management. Self-hosted or SaaS."><meta name="theme-color" content="#0a0a0f"><meta name="keywords" content="DevOps tools, platform engineering, LLM cost router, Terraform drift detection, alert correlation, service catalog, AWS cost anomaly, runbook automation, Backstage alternative, Rundeck alternative, Driftctl alternative, FinOps, SRE toolchain"><link rel="icon" type="image/svg+xml" href="/favicon.svg"><link rel="preconnect" href="https://fonts.googleapis.com"><link rel="preconnect" href="https://fonts.gstatic.com" crossorigin><link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap" rel="stylesheet"><!-- OG --><meta property="og:title" content="dd0c/drift — Terraform Drift Detection"><meta property="og:description" content="Lightweight Go agent detects Terraform state drift, scrubs secrets from reports, and alerts on Slack. Driftctl alternative for IaC drift management. Self-hosted or SaaS."><meta property="og:type" content="website"><meta property="og:url" content="https://dd0c.dev"><meta name="twitter:card" content="summary_large_image"><title>dd0c/drift — Terraform Drift Detection</title><link rel="stylesheet" href="/_astro/alert.BAN0u9re.css"></head> <body class="bg-dd0c-bg text-dd0c-text font-sans antialiased"> <nav class="fixed top-0 w-full z-50 border-b border-dd0c-border bg-dd0c-bg/80 backdrop-blur-xl"> <div class="max-w-6xl mx-auto px-6 h-16 flex items-center justify-between"> <a href="/" class="flex items-center gap-2"> <span class="font-mono font-bold text-xl text-dd0c-primary">dd0c</span> <span class="text-dd0c-muted text-sm hidden sm:inline">/devops</span> </a> <div class="hidden md:flex items-center gap-8 text-sm text-dd0c-muted"> <a href="#products" class="hover:text-dd0c-text transition">Products</a> <a href="#pricing" class="hover:text-dd0c-text transition">Pricing</a> <a href="https://docs.dd0c.dev" class="hover:text-dd0c-text transition">Docs</a> </div> <div class="flex items-center gap-4"> <a href="https://app.dd0c.dev/login" class="text-sm text-dd0c-muted hover:text-dd0c-text transition">Log in</a> <a href="https://app.dd0c.dev/signup" class="text-sm px-4 py-2 rounded-lg bg-dd0c-primary hover:bg-dd0c-primary-light text-white transition font-medium">Start free</a> </div> </div> </nav> <main> <section class="pt-32 pb-20 px-6"> <div class="max-w-4xl mx-auto"> <div class="mb-8"> <span class="font-mono text-sm text-dd0c-primary">dd0c/drift</span> <h1 class="text-4xl sm:text-5xl font-bold mt-2">Catch Terraform drift before it catches you</h1> <p class="mt-6 text-lg text-dd0c-muted leading-relaxed max-w-2xl"> <!DOCTYPE html><html lang="en" class="dark"> <head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="description" content="Lightweight Go agent detects Terraform state drift, scrubs secrets from reports, and alerts on Slack. Driftctl alternative for IaC drift management. Self-hosted or SaaS."><meta name="theme-color" content="#0a0a0f"><meta name="keywords" content="DevOps tools, platform engineering, LLM cost router, Terraform drift detection, alert correlation, service catalog, AWS cost anomaly, runbook automation, Backstage alternative, Rundeck alternative, Driftctl alternative, FinOps, SRE toolchain"><link rel="icon" type="image/svg+xml" href="/favicon.svg"><link rel="preconnect" href="https://fonts.googleapis.com"><link rel="preconnect" href="https://fonts.gstatic.com" crossorigin><link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap" rel="stylesheet"><!-- OG --><meta property="og:title" content="dd0c/drift — Terraform Drift Detection"><meta property="og:description" content="Lightweight Go agent detects Terraform state drift, scrubs secrets from reports, and alerts on Slack. Driftctl alternative for IaC drift management. Self-hosted or SaaS."><meta property="og:type" content="website"><meta property="og:url" content="https://dd0c.dev"><meta name="twitter:card" content="summary_large_image"><title>dd0c/drift — Terraform Drift Detection</title><link rel="stylesheet" href="/_astro/alert.BAN0u9re.css"></head> <body class="bg-dd0c-bg text-dd0c-text font-sans antialiased"> <nav class="fixed top-0 w-full z-50 border-b border-dd0c-border bg-dd0c-bg/80 backdrop-blur-xl"> <div class="max-w-6xl mx-auto px-6 h-16 flex items-center justify-between"> <a href="/" class="flex items-center gap-2"> <span class="font-mono font-bold text-xl text-dd0c-primary">dd0c</span> <span class="text-dd0c-muted text-sm hidden sm:inline">/devops</span> </a> <div class="hidden md:flex items-center gap-8 text-sm text-dd0c-muted"> <a href="#products" class="hover:text-dd0c-text transition">Products</a> <a href="#pricing" class="hover:text-dd0c-text transition">Pricing</a> <a href="https://docs.dd0c.dev" class="hover:text-dd0c-text transition">Docs</a> </div> <div class="flex items-center gap-4"> <a href="#waitlist" class="text-sm text-dd0c-muted hover:text-dd0c-text transition">Log in</a> <a href="#waitlist" class="text-sm px-4 py-2 rounded-lg bg-dd0c-primary hover:bg-dd0c-primary-light text-white transition font-medium">Start free</a> </div> </div> </nav> <main> <section class="pt-32 pb-20 px-6"> <div class="max-w-4xl mx-auto"> <div class="mb-8"> <span class="font-mono text-sm text-dd0c-primary">dd0c/drift</span> <h1 class="text-4xl sm:text-5xl font-bold mt-2">Catch Terraform drift before it catches you</h1> <p class="mt-6 text-lg text-dd0c-muted leading-relaxed max-w-2xl">
Lightweight Go agent scans your Terraform state files, compares against live infrastructure, scrubs secrets from reports, and alerts your team on Slack. Know when someone ClickOps'd your production VPC. Lightweight Go agent scans your Terraform state files, compares against live infrastructure, scrubs secrets from reports, and alerts your team on Slack. Know when someone ClickOps'd your production VPC.
</p> </div> <div class="mt-10 flex gap-4"> <a href="https://app.dd0c.dev/signup" class="px-6 py-3 rounded-lg bg-dd0c-primary hover:bg-dd0c-primary-light text-white font-medium transition">Start free →</a> <a href="https://docs.dd0c.dev/drift" class="px-6 py-3 rounded-lg border border-dd0c-border hover:border-dd0c-muted text-dd0c-muted hover:text-dd0c-text transition">Read docs</a> </div> <div class="mt-16 grid md:grid-cols-3 gap-6"> <div class="rounded-xl border border-dd0c-border bg-dd0c-surface p-6"> <div class="text-2xl mb-3">🔍</div> <h3 class="font-semibold mb-2">State scanning</h3> <p class="text-sm text-dd0c-muted">Parses Terraform v4 state files. Detects resource changes, attribute drift, and deleted resources.</p> </div> <div class="rounded-xl border border-dd0c-border bg-dd0c-surface p-6"> <div class="text-2xl mb-3">🔒</div> <h3 class="font-semibold mb-2">Secret scrubbing</h3> <p class="text-sm text-dd0c-muted">Regex + Shannon entropy detection. AWS keys, RSA keys, PEM certs — scrubbed before reports leave your network.</p> </div> <div class="rounded-xl border border-dd0c-border bg-dd0c-surface p-6"> <div class="text-2xl mb-3">🔔</div> <h3 class="font-semibold mb-2">Slack alerts</h3> <p class="text-sm text-dd0c-muted">Block Kit messages with severity, affected resources, and one-click remediate/accept buttons.</p> </div> </div> <div class="mt-16 rounded-xl border border-dd0c-border bg-dd0c-surface p-6"> <h3 class="font-semibold mb-4">Install the agent</h3> <pre class="font-mono text-sm text-dd0c-muted overflow-x-auto"><code><span class="text-dd0c-accent">$</span> curl -sSL https://install.dd0c.dev/drift | bash </p> </div> <div class="mt-10 flex gap-4"> <a href="#waitlist" class="px-6 py-3 rounded-lg bg-dd0c-primary hover:bg-dd0c-primary-light text-white font-medium transition">Start free →</a> <a href="https://docs.dd0c.dev/drift" class="px-6 py-3 rounded-lg border border-dd0c-border hover:border-dd0c-muted text-dd0c-muted hover:text-dd0c-text transition">Read docs</a> </div> <div class="mt-16 grid md:grid-cols-3 gap-6"> <div class="rounded-xl border border-dd0c-border bg-dd0c-surface p-6"> <div class="text-2xl mb-3">🔍</div> <h3 class="font-semibold mb-2">State scanning</h3> <p class="text-sm text-dd0c-muted">Parses Terraform v4 state files. Detects resource changes, attribute drift, and deleted resources.</p> </div> <div class="rounded-xl border border-dd0c-border bg-dd0c-surface p-6"> <div class="text-2xl mb-3">🔒</div> <h3 class="font-semibold mb-2">Secret scrubbing</h3> <p class="text-sm text-dd0c-muted">Regex + Shannon entropy detection. AWS keys, RSA keys, PEM certs — scrubbed before reports leave your network.</p> </div> <div class="rounded-xl border border-dd0c-border bg-dd0c-surface p-6"> <div class="text-2xl mb-3">🔔</div> <h3 class="font-semibold mb-2">Slack alerts</h3> <p class="text-sm text-dd0c-muted">Block Kit messages with severity, affected resources, and one-click remediate/accept buttons.</p> </div> </div> <div class="mt-16 rounded-xl border border-dd0c-border bg-dd0c-surface p-6"> <h3 class="font-semibold mb-4">Install the agent</h3> <pre class="font-mono text-sm text-dd0c-muted overflow-x-auto"><code><span class="text-dd0c-accent">$</span> curl -sSL https://install.dd0c.dev/drift | bash
<span class="text-dd0c-accent">$</span> dd0c-drift check --state terraform.tfstate --endpoint https://drift.dd0c.dev <span class="text-dd0c-accent">$</span> dd0c-drift check --state terraform.tfstate --endpoint https://drift.dd0c.dev
<span class="text-emerald-400"></span> Scanned 47 resources in 1.2s <span class="text-emerald-400"></span> Scanned 47 resources in 1.2s
<span class="text-amber-400"></span> 3 drifted resources detected (1 critical, 2 medium)</code></pre> </div> </div> </section> <section class="py-20 px-6 border-t border-dd0c-border"> <div class="max-w-3xl mx-auto text-center"> <h2 class="text-3xl sm:text-4xl font-bold">Stop paying enterprise prices<br>for tools you half-use</h2> <p class="mt-6 text-dd0c-muted text-lg leading-relaxed"> <span class="text-amber-400"></span> 3 drifted resources detected (1 critical, 2 medium)</code></pre> </div> </div> </section> <section class="py-20 px-6 border-t border-dd0c-border"> <div class="max-w-3xl mx-auto text-center"> <h2 class="text-3xl sm:text-4xl font-bold">Stop paying enterprise prices<br>for tools you half-use</h2> <p class="mt-6 text-dd0c-muted text-lg leading-relaxed">
dd0c is built by a solo engineer who got tired of $50K/year DevOps platforms dd0c is built by a solo engineer who got tired of $50K/year DevOps platforms
that take 3 months to set up. Each tool does one thing well. Start free. Pay when it saves you money. that take 3 months to set up. Each tool does one thing well. Start free. Pay when it saves you money.
</p> <div class="mt-10"> <a href="https://app.dd0c.dev/signup" class="inline-flex px-8 py-3 rounded-lg bg-dd0c-primary hover:bg-dd0c-primary-light text-white font-medium transition"> </p> <div class="mt-10"> <a href="#waitlist" class="inline-flex px-8 py-3 rounded-lg bg-dd0c-primary hover:bg-dd0c-primary-light text-white font-medium transition">
Get started — it's free → Get started — it's free →
</a> </div> </div> </section> <footer class="py-12 px-6 border-t border-dd0c-border"> <div class="max-w-6xl mx-auto"> <div class="grid md:grid-cols-4 gap-8"> <div> <span class="font-mono font-bold text-lg text-dd0c-primary">dd0c</span> <p class="mt-2 text-sm text-dd0c-muted">DevOps tools that don't waste your time.</p> </div> <div> <h4 class="font-semibold text-sm mb-3">Products</h4> <ul class="space-y-2 text-sm text-dd0c-muted"> <li><a href="/route" class="hover:text-dd0c-text transition">dd0c/route</a></li> <li><a href="/drift" class="hover:text-dd0c-text transition">dd0c/drift</a></li> <li><a href="/alert" class="hover:text-dd0c-text transition">dd0c/alert</a></li> <li><a href="/portal" class="hover:text-dd0c-text transition">dd0c/portal</a></li> <li><a href="/cost" class="hover:text-dd0c-text transition">dd0c/cost</a></li> <li><a href="/run" class="hover:text-dd0c-text transition">dd0c/run</a></li> </ul> </div> <div> <h4 class="font-semibold text-sm mb-3">Resources</h4> <ul class="space-y-2 text-sm text-dd0c-muted"> <li><a href="https://docs.dd0c.dev" class="hover:text-dd0c-text transition">Documentation</a></li> <li><a href="https://docs.dd0c.dev/self-hosted" class="hover:text-dd0c-text transition">Self-hosted guide</a></li> <li><a href="https://docs.dd0c.dev/api" class="hover:text-dd0c-text transition">API reference</a></li> <li><a href="/changelog" class="hover:text-dd0c-text transition">Changelog</a></li> </ul> </div> <div> <h4 class="font-semibold text-sm mb-3">Company</h4> <ul class="space-y-2 text-sm text-dd0c-muted"> <li><a href="https://github.com/dd0c" class="hover:text-dd0c-text transition">GitHub</a></li> <li><a href="https://twitter.com/dd0cdev" class="hover:text-dd0c-text transition">Twitter</a></li> <li><a href="/privacy" class="hover:text-dd0c-text transition">Privacy</a></li> <li><a href="/terms" class="hover:text-dd0c-text transition">Terms</a></li> </ul> </div> </div> <div class="mt-12 pt-8 border-t border-dd0c-border flex flex-col sm:flex-row items-center justify-between gap-4"> <p class="text-xs text-dd0c-muted">© 2026 dd0c. All rights reserved.</p> <p class="text-xs text-dd0c-muted">Built with ☕ by a solo founder who ships.</p> </div> </div> </footer> </main> </body></html> </a> </div> </div> </section> <footer class="py-12 px-6 border-t border-dd0c-border"> <div class="max-w-6xl mx-auto"> <div class="grid md:grid-cols-4 gap-8"> <div> <span class="font-mono font-bold text-lg text-dd0c-primary">dd0c</span> <p class="mt-2 text-sm text-dd0c-muted">DevOps tools that don't waste your time.</p> </div> <div> <h4 class="font-semibold text-sm mb-3">Products</h4> <ul class="space-y-2 text-sm text-dd0c-muted"> <li><a href="/route" class="hover:text-dd0c-text transition">dd0c/route</a></li> <li><a href="/drift" class="hover:text-dd0c-text transition">dd0c/drift</a></li> <li><a href="/alert" class="hover:text-dd0c-text transition">dd0c/alert</a></li> <li><a href="/portal" class="hover:text-dd0c-text transition">dd0c/portal</a></li> <li><a href="/cost" class="hover:text-dd0c-text transition">dd0c/cost</a></li> <li><a href="/run" class="hover:text-dd0c-text transition">dd0c/run</a></li> </ul> </div> <div> <h4 class="font-semibold text-sm mb-3">Resources</h4> <ul class="space-y-2 text-sm text-dd0c-muted"> <li><a href="https://docs.dd0c.dev" class="hover:text-dd0c-text transition">Documentation</a></li> <li><a href="https://docs.dd0c.dev/self-hosted" class="hover:text-dd0c-text transition">Self-hosted guide</a></li> <li><a href="https://docs.dd0c.dev/api" class="hover:text-dd0c-text transition">API reference</a></li> <li><a href="/changelog" class="hover:text-dd0c-text transition">Changelog</a></li> </ul> </div> <div> <h4 class="font-semibold text-sm mb-3">Company</h4> <ul class="space-y-2 text-sm text-dd0c-muted"> <li><a href="https://github.com/dd0c" class="hover:text-dd0c-text transition">GitHub</a></li> <li><a href="https://twitter.com/dd0cdev" class="hover:text-dd0c-text transition">Twitter</a></li> <li><a href="/privacy" class="hover:text-dd0c-text transition">Privacy</a></li> <li><a href="/terms" class="hover:text-dd0c-text transition">Terms</a></li> </ul> </div> </div> <div class="mt-12 pt-8 border-t border-dd0c-border flex flex-col sm:flex-row items-center justify-between gap-4"> <p class="text-xs text-dd0c-muted">© 2026 dd0c. All rights reserved.</p> <p class="text-xs text-dd0c-muted">Built with ☕ by a solo founder who ships.</p> </div> </div> </footer> </main> </body></html>

File diff suppressed because one or more lines are too long

View File

@@ -1,8 +1,8 @@
<!DOCTYPE html><html lang="en" class="dark"> <head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="description" content="Auto-discover services from AWS and GitHub. Ownership resolution via CODEOWNERS and tags. Meilisearch-powered search. Backstage alternative you can set up before lunch."><meta name="theme-color" content="#0a0a0f"><meta name="keywords" content="DevOps tools, platform engineering, LLM cost router, Terraform drift detection, alert correlation, service catalog, AWS cost anomaly, runbook automation, Backstage alternative, Rundeck alternative, Driftctl alternative, FinOps, SRE toolchain"><link rel="icon" type="image/svg+xml" href="/favicon.svg"><link rel="preconnect" href="https://fonts.googleapis.com"><link rel="preconnect" href="https://fonts.gstatic.com" crossorigin><link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap" rel="stylesheet"><!-- OG --><meta property="og:title" content="dd0c/portal — Lightweight Service Catalog &#38; Developer Portal"><meta property="og:description" content="Auto-discover services from AWS and GitHub. Ownership resolution via CODEOWNERS and tags. Meilisearch-powered search. Backstage alternative you can set up before lunch."><meta property="og:type" content="website"><meta property="og:url" content="https://dd0c.dev"><meta name="twitter:card" content="summary_large_image"><title>dd0c/portal — Lightweight Service Catalog &amp; Developer Portal</title><link rel="stylesheet" href="/_astro/alert.BAN0u9re.css"></head> <body class="bg-dd0c-bg text-dd0c-text font-sans antialiased"> <nav class="fixed top-0 w-full z-50 border-b border-dd0c-border bg-dd0c-bg/80 backdrop-blur-xl"> <div class="max-w-6xl mx-auto px-6 h-16 flex items-center justify-between"> <a href="/" class="flex items-center gap-2"> <span class="font-mono font-bold text-xl text-dd0c-primary">dd0c</span> <span class="text-dd0c-muted text-sm hidden sm:inline">/devops</span> </a> <div class="hidden md:flex items-center gap-8 text-sm text-dd0c-muted"> <a href="#products" class="hover:text-dd0c-text transition">Products</a> <a href="#pricing" class="hover:text-dd0c-text transition">Pricing</a> <a href="https://docs.dd0c.dev" class="hover:text-dd0c-text transition">Docs</a> </div> <div class="flex items-center gap-4"> <a href="https://app.dd0c.dev/login" class="text-sm text-dd0c-muted hover:text-dd0c-text transition">Log in</a> <a href="https://app.dd0c.dev/signup" class="text-sm px-4 py-2 rounded-lg bg-dd0c-primary hover:bg-dd0c-primary-light text-white transition font-medium">Start free</a> </div> </div> </nav> <main> <section class="pt-32 pb-20 px-6"> <div class="max-w-4xl mx-auto"> <div class="mb-8"> <span class="font-mono text-sm text-dd0c-primary">dd0c/portal</span> <h1 class="text-4xl sm:text-5xl font-bold mt-2">"Who owns this service?"<br>answered in 2 seconds</h1> <p class="mt-6 text-lg text-dd0c-muted leading-relaxed max-w-2xl"> <!DOCTYPE html><html lang="en" class="dark"> <head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="description" content="Auto-discover services from AWS and GitHub. Ownership resolution via CODEOWNERS and tags. Meilisearch-powered search. Backstage alternative you can set up before lunch."><meta name="theme-color" content="#0a0a0f"><meta name="keywords" content="DevOps tools, platform engineering, LLM cost router, Terraform drift detection, alert correlation, service catalog, AWS cost anomaly, runbook automation, Backstage alternative, Rundeck alternative, Driftctl alternative, FinOps, SRE toolchain"><link rel="icon" type="image/svg+xml" href="/favicon.svg"><link rel="preconnect" href="https://fonts.googleapis.com"><link rel="preconnect" href="https://fonts.gstatic.com" crossorigin><link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap" rel="stylesheet"><!-- OG --><meta property="og:title" content="dd0c/portal — Lightweight Service Catalog &#38; Developer Portal"><meta property="og:description" content="Auto-discover services from AWS and GitHub. Ownership resolution via CODEOWNERS and tags. Meilisearch-powered search. Backstage alternative you can set up before lunch."><meta property="og:type" content="website"><meta property="og:url" content="https://dd0c.dev"><meta name="twitter:card" content="summary_large_image"><title>dd0c/portal — Lightweight Service Catalog &amp; Developer Portal</title><link rel="stylesheet" href="/_astro/alert.BAN0u9re.css"></head> <body class="bg-dd0c-bg text-dd0c-text font-sans antialiased"> <nav class="fixed top-0 w-full z-50 border-b border-dd0c-border bg-dd0c-bg/80 backdrop-blur-xl"> <div class="max-w-6xl mx-auto px-6 h-16 flex items-center justify-between"> <a href="/" class="flex items-center gap-2"> <span class="font-mono font-bold text-xl text-dd0c-primary">dd0c</span> <span class="text-dd0c-muted text-sm hidden sm:inline">/devops</span> </a> <div class="hidden md:flex items-center gap-8 text-sm text-dd0c-muted"> <a href="#products" class="hover:text-dd0c-text transition">Products</a> <a href="#pricing" class="hover:text-dd0c-text transition">Pricing</a> <a href="https://docs.dd0c.dev" class="hover:text-dd0c-text transition">Docs</a> </div> <div class="flex items-center gap-4"> <a href="#waitlist" class="text-sm text-dd0c-muted hover:text-dd0c-text transition">Log in</a> <a href="#waitlist" class="text-sm px-4 py-2 rounded-lg bg-dd0c-primary hover:bg-dd0c-primary-light text-white transition font-medium">Start free</a> </div> </div> </nav> <main> <section class="pt-32 pb-20 px-6"> <div class="max-w-4xl mx-auto"> <div class="mb-8"> <span class="font-mono text-sm text-dd0c-primary">dd0c/portal</span> <h1 class="text-4xl sm:text-5xl font-bold mt-2">"Who owns this service?"<br>answered in 2 seconds</h1> <p class="mt-6 text-lg text-dd0c-muted leading-relaxed max-w-2xl">
Auto-discovers ECS services, Lambda functions, and RDS instances from AWS. Reads CODEOWNERS from GitHub. Full-text search across your entire service catalog. Like Backstage, but you can set it up before lunch. Auto-discovers ECS services, Lambda functions, and RDS instances from AWS. Reads CODEOWNERS from GitHub. Full-text search across your entire service catalog. Like Backstage, but you can set it up before lunch.
</p> </div> <div class="mt-10 flex gap-4"> <a href="https://app.dd0c.dev/signup" class="px-6 py-3 rounded-lg bg-dd0c-primary hover:bg-dd0c-primary-light text-white font-medium transition">Start free →</a> <a href="https://docs.dd0c.dev/portal" class="px-6 py-3 rounded-lg border border-dd0c-border hover:border-dd0c-muted text-dd0c-muted hover:text-dd0c-text transition">Read docs</a> </div> <div class="mt-16 grid md:grid-cols-3 gap-6"> <div class="rounded-xl border border-dd0c-border bg-dd0c-surface p-6"> <div class="text-2xl mb-3">🔎</div> <h3 class="font-semibold mb-2">Auto-discovery</h3> <p class="text-sm text-dd0c-muted">Scans AWS (ECS, Lambda, RDS) and GitHub orgs. Partial scan failures stage results — never corrupts your catalog.</p> </div> <div class="rounded-xl border border-dd0c-border bg-dd0c-surface p-6"> <div class="text-2xl mb-3">👤</div> <h3 class="font-semibold mb-2">Ownership resolution</h3> <p class="text-sm text-dd0c-muted">Config > CODEOWNERS > AWS tags > heuristic. Explicit always wins. No more guessing.</p> </div> <div class="rounded-xl border border-dd0c-border bg-dd0c-surface p-6"> <div class="text-2xl mb-3"></div> <h3 class="font-semibold mb-2">Instant search</h3> <p class="text-sm text-dd0c-muted">Meilisearch-powered full-text search. Falls back to PostgreSQL if Meili is down. Always available.</p> </div> </div> </div> </section> <section class="py-20 px-6 border-t border-dd0c-border"> <div class="max-w-3xl mx-auto text-center"> <h2 class="text-3xl sm:text-4xl font-bold">Stop paying enterprise prices<br>for tools you half-use</h2> <p class="mt-6 text-dd0c-muted text-lg leading-relaxed"> </p> </div> <div class="mt-10 flex gap-4"> <a href="#waitlist" class="px-6 py-3 rounded-lg bg-dd0c-primary hover:bg-dd0c-primary-light text-white font-medium transition">Start free →</a> <a href="https://docs.dd0c.dev/portal" class="px-6 py-3 rounded-lg border border-dd0c-border hover:border-dd0c-muted text-dd0c-muted hover:text-dd0c-text transition">Read docs</a> </div> <div class="mt-16 grid md:grid-cols-3 gap-6"> <div class="rounded-xl border border-dd0c-border bg-dd0c-surface p-6"> <div class="text-2xl mb-3">🔎</div> <h3 class="font-semibold mb-2">Auto-discovery</h3> <p class="text-sm text-dd0c-muted">Scans AWS (ECS, Lambda, RDS) and GitHub orgs. Partial scan failures stage results — never corrupts your catalog.</p> </div> <div class="rounded-xl border border-dd0c-border bg-dd0c-surface p-6"> <div class="text-2xl mb-3">👤</div> <h3 class="font-semibold mb-2">Ownership resolution</h3> <p class="text-sm text-dd0c-muted">Config > CODEOWNERS > AWS tags > heuristic. Explicit always wins. No more guessing.</p> </div> <div class="rounded-xl border border-dd0c-border bg-dd0c-surface p-6"> <div class="text-2xl mb-3"></div> <h3 class="font-semibold mb-2">Instant search</h3> <p class="text-sm text-dd0c-muted">Meilisearch-powered full-text search. Falls back to PostgreSQL if Meili is down. Always available.</p> </div> </div> </div> </section> <section class="py-20 px-6 border-t border-dd0c-border"> <div class="max-w-3xl mx-auto text-center"> <h2 class="text-3xl sm:text-4xl font-bold">Stop paying enterprise prices<br>for tools you half-use</h2> <p class="mt-6 text-dd0c-muted text-lg leading-relaxed">
dd0c is built by a solo engineer who got tired of $50K/year DevOps platforms dd0c is built by a solo engineer who got tired of $50K/year DevOps platforms
that take 3 months to set up. Each tool does one thing well. Start free. Pay when it saves you money. that take 3 months to set up. Each tool does one thing well. Start free. Pay when it saves you money.
</p> <div class="mt-10"> <a href="https://app.dd0c.dev/signup" class="inline-flex px-8 py-3 rounded-lg bg-dd0c-primary hover:bg-dd0c-primary-light text-white font-medium transition"> </p> <div class="mt-10"> <a href="#waitlist" class="inline-flex px-8 py-3 rounded-lg bg-dd0c-primary hover:bg-dd0c-primary-light text-white font-medium transition">
Get started — it's free → Get started — it's free →
</a> </div> </div> </section> <footer class="py-12 px-6 border-t border-dd0c-border"> <div class="max-w-6xl mx-auto"> <div class="grid md:grid-cols-4 gap-8"> <div> <span class="font-mono font-bold text-lg text-dd0c-primary">dd0c</span> <p class="mt-2 text-sm text-dd0c-muted">DevOps tools that don't waste your time.</p> </div> <div> <h4 class="font-semibold text-sm mb-3">Products</h4> <ul class="space-y-2 text-sm text-dd0c-muted"> <li><a href="/route" class="hover:text-dd0c-text transition">dd0c/route</a></li> <li><a href="/drift" class="hover:text-dd0c-text transition">dd0c/drift</a></li> <li><a href="/alert" class="hover:text-dd0c-text transition">dd0c/alert</a></li> <li><a href="/portal" class="hover:text-dd0c-text transition">dd0c/portal</a></li> <li><a href="/cost" class="hover:text-dd0c-text transition">dd0c/cost</a></li> <li><a href="/run" class="hover:text-dd0c-text transition">dd0c/run</a></li> </ul> </div> <div> <h4 class="font-semibold text-sm mb-3">Resources</h4> <ul class="space-y-2 text-sm text-dd0c-muted"> <li><a href="https://docs.dd0c.dev" class="hover:text-dd0c-text transition">Documentation</a></li> <li><a href="https://docs.dd0c.dev/self-hosted" class="hover:text-dd0c-text transition">Self-hosted guide</a></li> <li><a href="https://docs.dd0c.dev/api" class="hover:text-dd0c-text transition">API reference</a></li> <li><a href="/changelog" class="hover:text-dd0c-text transition">Changelog</a></li> </ul> </div> <div> <h4 class="font-semibold text-sm mb-3">Company</h4> <ul class="space-y-2 text-sm text-dd0c-muted"> <li><a href="https://github.com/dd0c" class="hover:text-dd0c-text transition">GitHub</a></li> <li><a href="https://twitter.com/dd0cdev" class="hover:text-dd0c-text transition">Twitter</a></li> <li><a href="/privacy" class="hover:text-dd0c-text transition">Privacy</a></li> <li><a href="/terms" class="hover:text-dd0c-text transition">Terms</a></li> </ul> </div> </div> <div class="mt-12 pt-8 border-t border-dd0c-border flex flex-col sm:flex-row items-center justify-between gap-4"> <p class="text-xs text-dd0c-muted">© 2026 dd0c. All rights reserved.</p> <p class="text-xs text-dd0c-muted">Built with ☕ by a solo founder who ships.</p> </div> </div> </footer> </main> </body></html> </a> </div> </div> </section> <footer class="py-12 px-6 border-t border-dd0c-border"> <div class="max-w-6xl mx-auto"> <div class="grid md:grid-cols-4 gap-8"> <div> <span class="font-mono font-bold text-lg text-dd0c-primary">dd0c</span> <p class="mt-2 text-sm text-dd0c-muted">DevOps tools that don't waste your time.</p> </div> <div> <h4 class="font-semibold text-sm mb-3">Products</h4> <ul class="space-y-2 text-sm text-dd0c-muted"> <li><a href="/route" class="hover:text-dd0c-text transition">dd0c/route</a></li> <li><a href="/drift" class="hover:text-dd0c-text transition">dd0c/drift</a></li> <li><a href="/alert" class="hover:text-dd0c-text transition">dd0c/alert</a></li> <li><a href="/portal" class="hover:text-dd0c-text transition">dd0c/portal</a></li> <li><a href="/cost" class="hover:text-dd0c-text transition">dd0c/cost</a></li> <li><a href="/run" class="hover:text-dd0c-text transition">dd0c/run</a></li> </ul> </div> <div> <h4 class="font-semibold text-sm mb-3">Resources</h4> <ul class="space-y-2 text-sm text-dd0c-muted"> <li><a href="https://docs.dd0c.dev" class="hover:text-dd0c-text transition">Documentation</a></li> <li><a href="https://docs.dd0c.dev/self-hosted" class="hover:text-dd0c-text transition">Self-hosted guide</a></li> <li><a href="https://docs.dd0c.dev/api" class="hover:text-dd0c-text transition">API reference</a></li> <li><a href="/changelog" class="hover:text-dd0c-text transition">Changelog</a></li> </ul> </div> <div> <h4 class="font-semibold text-sm mb-3">Company</h4> <ul class="space-y-2 text-sm text-dd0c-muted"> <li><a href="https://github.com/dd0c" class="hover:text-dd0c-text transition">GitHub</a></li> <li><a href="https://twitter.com/dd0cdev" class="hover:text-dd0c-text transition">Twitter</a></li> <li><a href="/privacy" class="hover:text-dd0c-text transition">Privacy</a></li> <li><a href="/terms" class="hover:text-dd0c-text transition">Terms</a></li> </ul> </div> </div> <div class="mt-12 pt-8 border-t border-dd0c-border flex flex-col sm:flex-row items-center justify-between gap-4"> <p class="text-xs text-dd0c-muted">© 2026 dd0c. All rights reserved.</p> <p class="text-xs text-dd0c-muted">Built with ☕ by a solo founder who ships.</p> </div> </div> </footer> </main> </body></html>

View File

@@ -1,12 +1,12 @@
<!DOCTYPE html><html lang="en" class="dark"> <head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="description" content="Route AI API calls to the cheapest provider. Drop-in OpenAI proxy with cost-based routing, real-time dashboards, and budget alerts. LiteLLM alternative with sub-ms Rust latency."><meta name="theme-color" content="#0a0a0f"><meta name="keywords" content="DevOps tools, platform engineering, LLM cost router, Terraform drift detection, alert correlation, service catalog, AWS cost anomaly, runbook automation, Backstage alternative, Rundeck alternative, Driftctl alternative, FinOps, SRE toolchain"><link rel="icon" type="image/svg+xml" href="/favicon.svg"><link rel="preconnect" href="https://fonts.googleapis.com"><link rel="preconnect" href="https://fonts.gstatic.com" crossorigin><link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap" rel="stylesheet"><!-- OG --><meta property="og:title" content="dd0c/route — LLM Cost Router &#38; Dashboard"><meta property="og:description" content="Route AI API calls to the cheapest provider. Drop-in OpenAI proxy with cost-based routing, real-time dashboards, and budget alerts. LiteLLM alternative with sub-ms Rust latency."><meta property="og:type" content="website"><meta property="og:url" content="https://dd0c.dev"><meta name="twitter:card" content="summary_large_image"><title>dd0c/route — LLM Cost Router &amp; Dashboard</title><link rel="stylesheet" href="/_astro/alert.BAN0u9re.css"></head> <body class="bg-dd0c-bg text-dd0c-text font-sans antialiased"> <nav class="fixed top-0 w-full z-50 border-b border-dd0c-border bg-dd0c-bg/80 backdrop-blur-xl"> <div class="max-w-6xl mx-auto px-6 h-16 flex items-center justify-between"> <a href="/" class="flex items-center gap-2"> <span class="font-mono font-bold text-xl text-dd0c-primary">dd0c</span> <span class="text-dd0c-muted text-sm hidden sm:inline">/devops</span> </a> <div class="hidden md:flex items-center gap-8 text-sm text-dd0c-muted"> <a href="#products" class="hover:text-dd0c-text transition">Products</a> <a href="#pricing" class="hover:text-dd0c-text transition">Pricing</a> <a href="https://docs.dd0c.dev" class="hover:text-dd0c-text transition">Docs</a> </div> <div class="flex items-center gap-4"> <a href="https://app.dd0c.dev/login" class="text-sm text-dd0c-muted hover:text-dd0c-text transition">Log in</a> <a href="https://app.dd0c.dev/signup" class="text-sm px-4 py-2 rounded-lg bg-dd0c-primary hover:bg-dd0c-primary-light text-white transition font-medium">Start free</a> </div> </div> </nav> <main> <section class="pt-32 pb-20 px-6"> <div class="max-w-4xl mx-auto"> <div class="mb-8"> <span class="font-mono text-sm text-dd0c-primary">dd0c/route</span> <h1 class="text-4xl sm:text-5xl font-bold mt-2">Stop burning money on LLM APIs</h1> <p class="mt-6 text-lg text-dd0c-muted leading-relaxed max-w-2xl"> <!DOCTYPE html><html lang="en" class="dark"> <head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="description" content="Route AI API calls to the cheapest provider. Drop-in OpenAI proxy with cost-based routing, real-time dashboards, and budget alerts. LiteLLM alternative with sub-ms Rust latency."><meta name="theme-color" content="#0a0a0f"><meta name="keywords" content="DevOps tools, platform engineering, LLM cost router, Terraform drift detection, alert correlation, service catalog, AWS cost anomaly, runbook automation, Backstage alternative, Rundeck alternative, Driftctl alternative, FinOps, SRE toolchain"><link rel="icon" type="image/svg+xml" href="/favicon.svg"><link rel="preconnect" href="https://fonts.googleapis.com"><link rel="preconnect" href="https://fonts.gstatic.com" crossorigin><link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap" rel="stylesheet"><!-- OG --><meta property="og:title" content="dd0c/route — LLM Cost Router &#38; Dashboard"><meta property="og:description" content="Route AI API calls to the cheapest provider. Drop-in OpenAI proxy with cost-based routing, real-time dashboards, and budget alerts. LiteLLM alternative with sub-ms Rust latency."><meta property="og:type" content="website"><meta property="og:url" content="https://dd0c.dev"><meta name="twitter:card" content="summary_large_image"><title>dd0c/route — LLM Cost Router &amp; Dashboard</title><link rel="stylesheet" href="/_astro/alert.BAN0u9re.css"></head> <body class="bg-dd0c-bg text-dd0c-text font-sans antialiased"> <nav class="fixed top-0 w-full z-50 border-b border-dd0c-border bg-dd0c-bg/80 backdrop-blur-xl"> <div class="max-w-6xl mx-auto px-6 h-16 flex items-center justify-between"> <a href="/" class="flex items-center gap-2"> <span class="font-mono font-bold text-xl text-dd0c-primary">dd0c</span> <span class="text-dd0c-muted text-sm hidden sm:inline">/devops</span> </a> <div class="hidden md:flex items-center gap-8 text-sm text-dd0c-muted"> <a href="#products" class="hover:text-dd0c-text transition">Products</a> <a href="#pricing" class="hover:text-dd0c-text transition">Pricing</a> <a href="https://docs.dd0c.dev" class="hover:text-dd0c-text transition">Docs</a> </div> <div class="flex items-center gap-4"> <a href="#waitlist" class="text-sm text-dd0c-muted hover:text-dd0c-text transition">Log in</a> <a href="#waitlist" class="text-sm px-4 py-2 rounded-lg bg-dd0c-primary hover:bg-dd0c-primary-light text-white transition font-medium">Start free</a> </div> </div> </nav> <main> <section class="pt-32 pb-20 px-6"> <div class="max-w-4xl mx-auto"> <div class="mb-8"> <span class="font-mono text-sm text-dd0c-primary">dd0c/route</span> <h1 class="text-4xl sm:text-5xl font-bold mt-2">Stop burning money on LLM APIs</h1> <p class="mt-6 text-lg text-dd0c-muted leading-relaxed max-w-2xl">
Drop-in proxy that sits between your app and OpenAI/Anthropic/Google. Routes each request to the cheapest provider that meets your quality threshold. Real-time cost dashboards. Budget alerts before you blow through $10K. Drop-in proxy that sits between your app and OpenAI/Anthropic/Google. Routes each request to the cheapest provider that meets your quality threshold. Real-time cost dashboards. Budget alerts before you blow through $10K.
</p> </div> <div class="mt-10 flex gap-4"> <a href="https://app.dd0c.dev/signup" class="px-6 py-3 rounded-lg bg-dd0c-primary hover:bg-dd0c-primary-light text-white font-medium transition">Start free →</a> <a href="https://docs.dd0c.dev/route" class="px-6 py-3 rounded-lg border border-dd0c-border hover:border-dd0c-muted text-dd0c-muted hover:text-dd0c-text transition">Read docs</a> </div> <div class="mt-16 grid md:grid-cols-3 gap-6"> <div class="rounded-xl border border-dd0c-border bg-dd0c-surface p-6"> <div class="text-2xl mb-3">💸</div> <h3 class="font-semibold mb-2">Cost-based routing</h3> <p class="text-sm text-dd0c-muted">Classify prompt complexity. Route simple queries to cheap models, complex ones to GPT-4. Save 40-60% on average.</p> </div> <div class="rounded-xl border border-dd0c-border bg-dd0c-surface p-6"> <div class="text-2xl mb-3">📊</div> <h3 class="font-semibold mb-2">Real-time dashboard</h3> <p class="text-sm text-dd0c-muted">Cost per model, per team, per endpoint. Token usage breakdowns. Anomaly detection when spend spikes.</p> </div> <div class="rounded-xl border border-dd0c-border bg-dd0c-surface p-6"> <div class="text-2xl mb-3">🔑</div> <h3 class="font-semibold mb-2">API key management</h3> <p class="text-sm text-dd0c-muted">Issue scoped keys per team. Set budget caps. Rotate without downtime. Full audit trail.</p> </div> </div> <div class="mt-16 rounded-xl border border-dd0c-border bg-dd0c-surface p-6"> <h3 class="font-semibold mb-4">Integration is one line</h3> <pre class="font-mono text-sm text-dd0c-muted overflow-x-auto"><code><span class="text-dd0c-muted"># Before</span> </p> </div> <div class="mt-10 flex gap-4"> <a href="#waitlist" class="px-6 py-3 rounded-lg bg-dd0c-primary hover:bg-dd0c-primary-light text-white font-medium transition">Start free →</a> <a href="https://docs.dd0c.dev/route" class="px-6 py-3 rounded-lg border border-dd0c-border hover:border-dd0c-muted text-dd0c-muted hover:text-dd0c-text transition">Read docs</a> </div> <div class="mt-16 grid md:grid-cols-3 gap-6"> <div class="rounded-xl border border-dd0c-border bg-dd0c-surface p-6"> <div class="text-2xl mb-3">💸</div> <h3 class="font-semibold mb-2">Cost-based routing</h3> <p class="text-sm text-dd0c-muted">Classify prompt complexity. Route simple queries to cheap models, complex ones to GPT-4. Save 40-60% on average.</p> </div> <div class="rounded-xl border border-dd0c-border bg-dd0c-surface p-6"> <div class="text-2xl mb-3">📊</div> <h3 class="font-semibold mb-2">Real-time dashboard</h3> <p class="text-sm text-dd0c-muted">Cost per model, per team, per endpoint. Token usage breakdowns. Anomaly detection when spend spikes.</p> </div> <div class="rounded-xl border border-dd0c-border bg-dd0c-surface p-6"> <div class="text-2xl mb-3">🔑</div> <h3 class="font-semibold mb-2">API key management</h3> <p class="text-sm text-dd0c-muted">Issue scoped keys per team. Set budget caps. Rotate without downtime. Full audit trail.</p> </div> </div> <div class="mt-16 rounded-xl border border-dd0c-border bg-dd0c-surface p-6"> <h3 class="font-semibold mb-4">Integration is one line</h3> <pre class="font-mono text-sm text-dd0c-muted overflow-x-auto"><code><span class="text-dd0c-muted"># Before</span>
<span class="text-dd0c-accent">OPENAI_BASE_URL</span>=https://api.openai.com/v1 <span class="text-dd0c-accent">OPENAI_BASE_URL</span>=https://api.openai.com/v1
<span class="text-dd0c-muted"># After</span> <span class="text-dd0c-muted"># After</span>
<span class="text-dd0c-accent">OPENAI_BASE_URL</span>=https://route.dd0c.dev/v1</code></pre> </div> <div class="mt-16"> <h3 class="text-xl font-semibold mb-6">Compared to alternatives</h3> <div class="overflow-x-auto"> <table class="w-full text-sm"> <thead> <tr class="border-b border-dd0c-border text-left text-dd0c-muted"> <th class="py-3 pr-4">Feature</th> <th class="py-3 px-4">dd0c/route</th> <th class="py-3 px-4">LiteLLM</th> <th class="py-3 px-4">Helicone</th> </tr> </thead> <tbody class="text-dd0c-muted"> <tr class="border-b border-dd0c-border/50"> <td class="py-3 pr-4">Cost-based routing</td> <td class="py-3 px-4 text-emerald-400"></td> <td class="py-3 px-4">Partial</td> <td class="py-3 px-4 text-red-400"></td> </tr> <tr class="border-b border-dd0c-border/50"> <td class="py-3 pr-4">Self-hosted option</td> <td class="py-3 px-4 text-emerald-400"></td> <td class="py-3 px-4 text-emerald-400"></td> <td class="py-3 px-4 text-red-400"></td> </tr> <tr class="border-b border-dd0c-border/50"> <td class="py-3 pr-4">Sub-ms latency overhead</td> <td class="py-3 px-4 text-emerald-400">✓ (Rust)</td> <td class="py-3 px-4">~5ms (Python)</td> <td class="py-3 px-4">~10ms</td> </tr> <tr> <td class="py-3 pr-4">Starting price</td> <td class="py-3 px-4 text-emerald-400">$49/mo</td> <td class="py-3 px-4">Free (OSS)</td> <td class="py-3 px-4">$20/mo</td> </tr> </tbody> </table> </div> </div> </div> </section> <section class="py-20 px-6 border-t border-dd0c-border"> <div class="max-w-3xl mx-auto text-center"> <h2 class="text-3xl sm:text-4xl font-bold">Stop paying enterprise prices<br>for tools you half-use</h2> <p class="mt-6 text-dd0c-muted text-lg leading-relaxed"> <span class="text-dd0c-accent">OPENAI_BASE_URL</span>=https://route.dd0c.dev/v1</code></pre> </div> <div class="mt-16"> <h3 class="text-xl font-semibold mb-6">Compared to alternatives</h3> <div class="overflow-x-auto"> <table class="w-full text-sm"> <thead> <tr class="border-b border-dd0c-border text-left text-dd0c-muted"> <th class="py-3 pr-4">Feature</th> <th class="py-3 px-4">dd0c/route</th> <th class="py-3 px-4">LiteLLM</th> <th class="py-3 px-4">Helicone</th> </tr> </thead> <tbody class="text-dd0c-muted"> <tr class="border-b border-dd0c-border/50"> <td class="py-3 pr-4">Cost-based routing</td> <td class="py-3 px-4 text-emerald-400"></td> <td class="py-3 px-4">Partial</td> <td class="py-3 px-4 text-red-400"></td> </tr> <tr class="border-b border-dd0c-border/50"> <td class="py-3 pr-4">Self-hosted option</td> <td class="py-3 px-4 text-emerald-400"></td> <td class="py-3 px-4 text-emerald-400"></td> <td class="py-3 px-4 text-red-400"></td> </tr> <tr class="border-b border-dd0c-border/50"> <td class="py-3 pr-4">Sub-ms latency overhead</td> <td class="py-3 px-4 text-emerald-400">✓ (Rust)</td> <td class="py-3 px-4">~5ms (Python)</td> <td class="py-3 px-4">~10ms</td> </tr> <tr> <td class="py-3 pr-4">Starting price</td> <td class="py-3 px-4 text-emerald-400">$49/mo</td> <td class="py-3 px-4">Free (OSS)</td> <td class="py-3 px-4">$20/mo</td> </tr> </tbody> </table> </div> </div> </div> </section> <section class="py-20 px-6 border-t border-dd0c-border"> <div class="max-w-3xl mx-auto text-center"> <h2 class="text-3xl sm:text-4xl font-bold">Stop paying enterprise prices<br>for tools you half-use</h2> <p class="mt-6 text-dd0c-muted text-lg leading-relaxed">
dd0c is built by a solo engineer who got tired of $50K/year DevOps platforms dd0c is built by a solo engineer who got tired of $50K/year DevOps platforms
that take 3 months to set up. Each tool does one thing well. Start free. Pay when it saves you money. that take 3 months to set up. Each tool does one thing well. Start free. Pay when it saves you money.
</p> <div class="mt-10"> <a href="https://app.dd0c.dev/signup" class="inline-flex px-8 py-3 rounded-lg bg-dd0c-primary hover:bg-dd0c-primary-light text-white font-medium transition"> </p> <div class="mt-10"> <a href="#waitlist" class="inline-flex px-8 py-3 rounded-lg bg-dd0c-primary hover:bg-dd0c-primary-light text-white font-medium transition">
Get started — it's free → Get started — it's free →
</a> </div> </div> </section> <footer class="py-12 px-6 border-t border-dd0c-border"> <div class="max-w-6xl mx-auto"> <div class="grid md:grid-cols-4 gap-8"> <div> <span class="font-mono font-bold text-lg text-dd0c-primary">dd0c</span> <p class="mt-2 text-sm text-dd0c-muted">DevOps tools that don't waste your time.</p> </div> <div> <h4 class="font-semibold text-sm mb-3">Products</h4> <ul class="space-y-2 text-sm text-dd0c-muted"> <li><a href="/route" class="hover:text-dd0c-text transition">dd0c/route</a></li> <li><a href="/drift" class="hover:text-dd0c-text transition">dd0c/drift</a></li> <li><a href="/alert" class="hover:text-dd0c-text transition">dd0c/alert</a></li> <li><a href="/portal" class="hover:text-dd0c-text transition">dd0c/portal</a></li> <li><a href="/cost" class="hover:text-dd0c-text transition">dd0c/cost</a></li> <li><a href="/run" class="hover:text-dd0c-text transition">dd0c/run</a></li> </ul> </div> <div> <h4 class="font-semibold text-sm mb-3">Resources</h4> <ul class="space-y-2 text-sm text-dd0c-muted"> <li><a href="https://docs.dd0c.dev" class="hover:text-dd0c-text transition">Documentation</a></li> <li><a href="https://docs.dd0c.dev/self-hosted" class="hover:text-dd0c-text transition">Self-hosted guide</a></li> <li><a href="https://docs.dd0c.dev/api" class="hover:text-dd0c-text transition">API reference</a></li> <li><a href="/changelog" class="hover:text-dd0c-text transition">Changelog</a></li> </ul> </div> <div> <h4 class="font-semibold text-sm mb-3">Company</h4> <ul class="space-y-2 text-sm text-dd0c-muted"> <li><a href="https://github.com/dd0c" class="hover:text-dd0c-text transition">GitHub</a></li> <li><a href="https://twitter.com/dd0cdev" class="hover:text-dd0c-text transition">Twitter</a></li> <li><a href="/privacy" class="hover:text-dd0c-text transition">Privacy</a></li> <li><a href="/terms" class="hover:text-dd0c-text transition">Terms</a></li> </ul> </div> </div> <div class="mt-12 pt-8 border-t border-dd0c-border flex flex-col sm:flex-row items-center justify-between gap-4"> <p class="text-xs text-dd0c-muted">© 2026 dd0c. All rights reserved.</p> <p class="text-xs text-dd0c-muted">Built with ☕ by a solo founder who ships.</p> </div> </div> </footer> </main> </body></html> </a> </div> </div> </section> <footer class="py-12 px-6 border-t border-dd0c-border"> <div class="max-w-6xl mx-auto"> <div class="grid md:grid-cols-4 gap-8"> <div> <span class="font-mono font-bold text-lg text-dd0c-primary">dd0c</span> <p class="mt-2 text-sm text-dd0c-muted">DevOps tools that don't waste your time.</p> </div> <div> <h4 class="font-semibold text-sm mb-3">Products</h4> <ul class="space-y-2 text-sm text-dd0c-muted"> <li><a href="/route" class="hover:text-dd0c-text transition">dd0c/route</a></li> <li><a href="/drift" class="hover:text-dd0c-text transition">dd0c/drift</a></li> <li><a href="/alert" class="hover:text-dd0c-text transition">dd0c/alert</a></li> <li><a href="/portal" class="hover:text-dd0c-text transition">dd0c/portal</a></li> <li><a href="/cost" class="hover:text-dd0c-text transition">dd0c/cost</a></li> <li><a href="/run" class="hover:text-dd0c-text transition">dd0c/run</a></li> </ul> </div> <div> <h4 class="font-semibold text-sm mb-3">Resources</h4> <ul class="space-y-2 text-sm text-dd0c-muted"> <li><a href="https://docs.dd0c.dev" class="hover:text-dd0c-text transition">Documentation</a></li> <li><a href="https://docs.dd0c.dev/self-hosted" class="hover:text-dd0c-text transition">Self-hosted guide</a></li> <li><a href="https://docs.dd0c.dev/api" class="hover:text-dd0c-text transition">API reference</a></li> <li><a href="/changelog" class="hover:text-dd0c-text transition">Changelog</a></li> </ul> </div> <div> <h4 class="font-semibold text-sm mb-3">Company</h4> <ul class="space-y-2 text-sm text-dd0c-muted"> <li><a href="https://github.com/dd0c" class="hover:text-dd0c-text transition">GitHub</a></li> <li><a href="https://twitter.com/dd0cdev" class="hover:text-dd0c-text transition">Twitter</a></li> <li><a href="/privacy" class="hover:text-dd0c-text transition">Privacy</a></li> <li><a href="/terms" class="hover:text-dd0c-text transition">Terms</a></li> </ul> </div> </div> <div class="mt-12 pt-8 border-t border-dd0c-border flex flex-col sm:flex-row items-center justify-between gap-4"> <p class="text-xs text-dd0c-muted">© 2026 dd0c. All rights reserved.</p> <p class="text-xs text-dd0c-muted">Built with ☕ by a solo founder who ships.</p> </div> </div> </footer> </main> </body></html>

View File

@@ -1,6 +1,6 @@
<!DOCTYPE html><html lang="en" class="dark"> <head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="description" content="YAML runbooks with automatic safety classification. Destructive commands require Slack approval. Full audit trail, Redis pub/sub agent bridge. Rundeck alternative for DevOps teams."><meta name="theme-color" content="#0a0a0f"><meta name="keywords" content="DevOps tools, platform engineering, LLM cost router, Terraform drift detection, alert correlation, service catalog, AWS cost anomaly, runbook automation, Backstage alternative, Rundeck alternative, Driftctl alternative, FinOps, SRE toolchain"><link rel="icon" type="image/svg+xml" href="/favicon.svg"><link rel="preconnect" href="https://fonts.googleapis.com"><link rel="preconnect" href="https://fonts.gstatic.com" crossorigin><link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap" rel="stylesheet"><!-- OG --><meta property="og:title" content="dd0c/run — Runbook Automation with Approval Gates"><meta property="og:description" content="YAML runbooks with automatic safety classification. Destructive commands require Slack approval. Full audit trail, Redis pub/sub agent bridge. Rundeck alternative for DevOps teams."><meta property="og:type" content="website"><meta property="og:url" content="https://dd0c.dev"><meta name="twitter:card" content="summary_large_image"><title>dd0c/run — Runbook Automation with Approval Gates</title><link rel="stylesheet" href="/_astro/alert.BAN0u9re.css"></head> <body class="bg-dd0c-bg text-dd0c-text font-sans antialiased"> <nav class="fixed top-0 w-full z-50 border-b border-dd0c-border bg-dd0c-bg/80 backdrop-blur-xl"> <div class="max-w-6xl mx-auto px-6 h-16 flex items-center justify-between"> <a href="/" class="flex items-center gap-2"> <span class="font-mono font-bold text-xl text-dd0c-primary">dd0c</span> <span class="text-dd0c-muted text-sm hidden sm:inline">/devops</span> </a> <div class="hidden md:flex items-center gap-8 text-sm text-dd0c-muted"> <a href="#products" class="hover:text-dd0c-text transition">Products</a> <a href="#pricing" class="hover:text-dd0c-text transition">Pricing</a> <a href="https://docs.dd0c.dev" class="hover:text-dd0c-text transition">Docs</a> </div> <div class="flex items-center gap-4"> <a href="https://app.dd0c.dev/login" class="text-sm text-dd0c-muted hover:text-dd0c-text transition">Log in</a> <a href="https://app.dd0c.dev/signup" class="text-sm px-4 py-2 rounded-lg bg-dd0c-primary hover:bg-dd0c-primary-light text-white transition font-medium">Start free</a> </div> </div> </nav> <main> <section class="pt-32 pb-20 px-6"> <div class="max-w-4xl mx-auto"> <div class="mb-8"> <span class="font-mono text-sm text-dd0c-primary">dd0c/run</span> <h1 class="text-4xl sm:text-5xl font-bold mt-2">Runbooks that run themselves<br>(with your permission)</h1> <p class="mt-6 text-lg text-dd0c-muted leading-relaxed max-w-2xl"> <!DOCTYPE html><html lang="en" class="dark"> <head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="description" content="YAML runbooks with automatic safety classification. Destructive commands require Slack approval. Full audit trail, Redis pub/sub agent bridge. Rundeck alternative for DevOps teams."><meta name="theme-color" content="#0a0a0f"><meta name="keywords" content="DevOps tools, platform engineering, LLM cost router, Terraform drift detection, alert correlation, service catalog, AWS cost anomaly, runbook automation, Backstage alternative, Rundeck alternative, Driftctl alternative, FinOps, SRE toolchain"><link rel="icon" type="image/svg+xml" href="/favicon.svg"><link rel="preconnect" href="https://fonts.googleapis.com"><link rel="preconnect" href="https://fonts.gstatic.com" crossorigin><link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap" rel="stylesheet"><!-- OG --><meta property="og:title" content="dd0c/run — Runbook Automation with Approval Gates"><meta property="og:description" content="YAML runbooks with automatic safety classification. Destructive commands require Slack approval. Full audit trail, Redis pub/sub agent bridge. Rundeck alternative for DevOps teams."><meta property="og:type" content="website"><meta property="og:url" content="https://dd0c.dev"><meta name="twitter:card" content="summary_large_image"><title>dd0c/run — Runbook Automation with Approval Gates</title><link rel="stylesheet" href="/_astro/alert.BAN0u9re.css"></head> <body class="bg-dd0c-bg text-dd0c-text font-sans antialiased"> <nav class="fixed top-0 w-full z-50 border-b border-dd0c-border bg-dd0c-bg/80 backdrop-blur-xl"> <div class="max-w-6xl mx-auto px-6 h-16 flex items-center justify-between"> <a href="/" class="flex items-center gap-2"> <span class="font-mono font-bold text-xl text-dd0c-primary">dd0c</span> <span class="text-dd0c-muted text-sm hidden sm:inline">/devops</span> </a> <div class="hidden md:flex items-center gap-8 text-sm text-dd0c-muted"> <a href="#products" class="hover:text-dd0c-text transition">Products</a> <a href="#pricing" class="hover:text-dd0c-text transition">Pricing</a> <a href="https://docs.dd0c.dev" class="hover:text-dd0c-text transition">Docs</a> </div> <div class="flex items-center gap-4"> <a href="#waitlist" class="text-sm text-dd0c-muted hover:text-dd0c-text transition">Log in</a> <a href="#waitlist" class="text-sm px-4 py-2 rounded-lg bg-dd0c-primary hover:bg-dd0c-primary-light text-white transition font-medium">Start free</a> </div> </div> </nav> <main> <section class="pt-32 pb-20 px-6"> <div class="max-w-4xl mx-auto"> <div class="mb-8"> <span class="font-mono text-sm text-dd0c-primary">dd0c/run</span> <h1 class="text-4xl sm:text-5xl font-bold mt-2">Runbooks that run themselves<br>(with your permission)</h1> <p class="mt-6 text-lg text-dd0c-muted leading-relaxed max-w-2xl">
Write runbooks in YAML. The Rust agent classifies every command as read-only, modifying, or destructive. Read-only runs automatically. Destructive commands pause and ask for Slack approval. Full audit trail. No YOLO. Write runbooks in YAML. The Rust agent classifies every command as read-only, modifying, or destructive. Read-only runs automatically. Destructive commands pause and ask for Slack approval. Full audit trail. No YOLO.
</p> </div> <div class="mt-10 flex gap-4"> <a href="https://app.dd0c.dev/signup" class="px-6 py-3 rounded-lg bg-dd0c-primary hover:bg-dd0c-primary-light text-white font-medium transition">Start free →</a> <a href="https://docs.dd0c.dev/run" class="px-6 py-3 rounded-lg border border-dd0c-border hover:border-dd0c-muted text-dd0c-muted hover:text-dd0c-text transition">Read docs</a> </div> <div class="mt-16 rounded-xl border border-dd0c-border bg-dd0c-surface p-6"> <h3 class="font-semibold mb-4">Example runbook</h3> <pre class="font-mono text-sm text-dd0c-muted overflow-x-auto"><code><span class="text-dd0c-primary">name:</span> restart-ecs-service </p> </div> <div class="mt-10 flex gap-4"> <a href="#waitlist" class="px-6 py-3 rounded-lg bg-dd0c-primary hover:bg-dd0c-primary-light text-white font-medium transition">Start free →</a> <a href="https://docs.dd0c.dev/run" class="px-6 py-3 rounded-lg border border-dd0c-border hover:border-dd0c-muted text-dd0c-muted hover:text-dd0c-text transition">Read docs</a> </div> <div class="mt-16 rounded-xl border border-dd0c-border bg-dd0c-surface p-6"> <h3 class="font-semibold mb-4">Example runbook</h3> <pre class="font-mono text-sm text-dd0c-muted overflow-x-auto"><code><span class="text-dd0c-primary">name:</span> restart-ecs-service
<span class="text-dd0c-primary">steps:</span> <span class="text-dd0c-primary">steps:</span>
- <span class="text-dd0c-accent">description:</span> Check current task count - <span class="text-dd0c-accent">description:</span> Check current task count
<span class="text-dd0c-accent">command:</span> aws ecs describe-services --cluster prod --services api <span class="text-dd0c-accent">command:</span> aws ecs describe-services --cluster prod --services api
@@ -18,6 +18,6 @@ Write runbooks in YAML. The Rust agent classifies every command as read-only, mo
<span class="text-dd0c-accent">max_attempts:</span> 3</code></pre> </div> <div class="mt-16 grid md:grid-cols-3 gap-6"> <div class="rounded-xl border border-dd0c-border bg-dd0c-surface p-6"> <div class="text-2xl mb-3">🛑</div> <h3 class="font-semibold mb-2">Safety classification</h3> <p class="text-sm text-dd0c-muted">Pattern-based classification for shell, AWS CLI, kubectl, and terraform commands. Destructive ops always require human approval.</p> </div> <div class="rounded-xl border border-dd0c-border bg-dd0c-surface p-6"> <div class="text-2xl mb-3">💬</div> <h3 class="font-semibold mb-2">Slack approval flow</h3> <p class="text-sm text-dd0c-muted">Block Kit messages with approve/reject buttons. Click to approve from your phone. No SSH required.</p> </div> <div class="rounded-xl border border-dd0c-border bg-dd0c-surface p-6"> <div class="text-2xl mb-3">📝</div> <h3 class="font-semibold mb-2">Immutable audit log</h3> <p class="text-sm text-dd0c-muted">Every command, every approval, every exit code. SHA-256 hashed stdout. Append-only. Compliance-ready.</p> </div> </div> </div> </section> <section class="py-20 px-6 border-t border-dd0c-border"> <div class="max-w-3xl mx-auto text-center"> <h2 class="text-3xl sm:text-4xl font-bold">Stop paying enterprise prices<br>for tools you half-use</h2> <p class="mt-6 text-dd0c-muted text-lg leading-relaxed"> <span class="text-dd0c-accent">max_attempts:</span> 3</code></pre> </div> <div class="mt-16 grid md:grid-cols-3 gap-6"> <div class="rounded-xl border border-dd0c-border bg-dd0c-surface p-6"> <div class="text-2xl mb-3">🛑</div> <h3 class="font-semibold mb-2">Safety classification</h3> <p class="text-sm text-dd0c-muted">Pattern-based classification for shell, AWS CLI, kubectl, and terraform commands. Destructive ops always require human approval.</p> </div> <div class="rounded-xl border border-dd0c-border bg-dd0c-surface p-6"> <div class="text-2xl mb-3">💬</div> <h3 class="font-semibold mb-2">Slack approval flow</h3> <p class="text-sm text-dd0c-muted">Block Kit messages with approve/reject buttons. Click to approve from your phone. No SSH required.</p> </div> <div class="rounded-xl border border-dd0c-border bg-dd0c-surface p-6"> <div class="text-2xl mb-3">📝</div> <h3 class="font-semibold mb-2">Immutable audit log</h3> <p class="text-sm text-dd0c-muted">Every command, every approval, every exit code. SHA-256 hashed stdout. Append-only. Compliance-ready.</p> </div> </div> </div> </section> <section class="py-20 px-6 border-t border-dd0c-border"> <div class="max-w-3xl mx-auto text-center"> <h2 class="text-3xl sm:text-4xl font-bold">Stop paying enterprise prices<br>for tools you half-use</h2> <p class="mt-6 text-dd0c-muted text-lg leading-relaxed">
dd0c is built by a solo engineer who got tired of $50K/year DevOps platforms dd0c is built by a solo engineer who got tired of $50K/year DevOps platforms
that take 3 months to set up. Each tool does one thing well. Start free. Pay when it saves you money. that take 3 months to set up. Each tool does one thing well. Start free. Pay when it saves you money.
</p> <div class="mt-10"> <a href="https://app.dd0c.dev/signup" class="inline-flex px-8 py-3 rounded-lg bg-dd0c-primary hover:bg-dd0c-primary-light text-white font-medium transition"> </p> <div class="mt-10"> <a href="#waitlist" class="inline-flex px-8 py-3 rounded-lg bg-dd0c-primary hover:bg-dd0c-primary-light text-white font-medium transition">
Get started — it's free → Get started — it's free →
</a> </div> </div> </section> <footer class="py-12 px-6 border-t border-dd0c-border"> <div class="max-w-6xl mx-auto"> <div class="grid md:grid-cols-4 gap-8"> <div> <span class="font-mono font-bold text-lg text-dd0c-primary">dd0c</span> <p class="mt-2 text-sm text-dd0c-muted">DevOps tools that don't waste your time.</p> </div> <div> <h4 class="font-semibold text-sm mb-3">Products</h4> <ul class="space-y-2 text-sm text-dd0c-muted"> <li><a href="/route" class="hover:text-dd0c-text transition">dd0c/route</a></li> <li><a href="/drift" class="hover:text-dd0c-text transition">dd0c/drift</a></li> <li><a href="/alert" class="hover:text-dd0c-text transition">dd0c/alert</a></li> <li><a href="/portal" class="hover:text-dd0c-text transition">dd0c/portal</a></li> <li><a href="/cost" class="hover:text-dd0c-text transition">dd0c/cost</a></li> <li><a href="/run" class="hover:text-dd0c-text transition">dd0c/run</a></li> </ul> </div> <div> <h4 class="font-semibold text-sm mb-3">Resources</h4> <ul class="space-y-2 text-sm text-dd0c-muted"> <li><a href="https://docs.dd0c.dev" class="hover:text-dd0c-text transition">Documentation</a></li> <li><a href="https://docs.dd0c.dev/self-hosted" class="hover:text-dd0c-text transition">Self-hosted guide</a></li> <li><a href="https://docs.dd0c.dev/api" class="hover:text-dd0c-text transition">API reference</a></li> <li><a href="/changelog" class="hover:text-dd0c-text transition">Changelog</a></li> </ul> </div> <div> <h4 class="font-semibold text-sm mb-3">Company</h4> <ul class="space-y-2 text-sm text-dd0c-muted"> <li><a href="https://github.com/dd0c" class="hover:text-dd0c-text transition">GitHub</a></li> <li><a href="https://twitter.com/dd0cdev" class="hover:text-dd0c-text transition">Twitter</a></li> <li><a href="/privacy" class="hover:text-dd0c-text transition">Privacy</a></li> <li><a href="/terms" class="hover:text-dd0c-text transition">Terms</a></li> </ul> </div> </div> <div class="mt-12 pt-8 border-t border-dd0c-border flex flex-col sm:flex-row items-center justify-between gap-4"> <p class="text-xs text-dd0c-muted">© 2026 dd0c. All rights reserved.</p> <p class="text-xs text-dd0c-muted">Built with ☕ by a solo founder who ships.</p> </div> </div> </footer> </main> </body></html> </a> </div> </div> </section> <footer class="py-12 px-6 border-t border-dd0c-border"> <div class="max-w-6xl mx-auto"> <div class="grid md:grid-cols-4 gap-8"> <div> <span class="font-mono font-bold text-lg text-dd0c-primary">dd0c</span> <p class="mt-2 text-sm text-dd0c-muted">DevOps tools that don't waste your time.</p> </div> <div> <h4 class="font-semibold text-sm mb-3">Products</h4> <ul class="space-y-2 text-sm text-dd0c-muted"> <li><a href="/route" class="hover:text-dd0c-text transition">dd0c/route</a></li> <li><a href="/drift" class="hover:text-dd0c-text transition">dd0c/drift</a></li> <li><a href="/alert" class="hover:text-dd0c-text transition">dd0c/alert</a></li> <li><a href="/portal" class="hover:text-dd0c-text transition">dd0c/portal</a></li> <li><a href="/cost" class="hover:text-dd0c-text transition">dd0c/cost</a></li> <li><a href="/run" class="hover:text-dd0c-text transition">dd0c/run</a></li> </ul> </div> <div> <h4 class="font-semibold text-sm mb-3">Resources</h4> <ul class="space-y-2 text-sm text-dd0c-muted"> <li><a href="https://docs.dd0c.dev" class="hover:text-dd0c-text transition">Documentation</a></li> <li><a href="https://docs.dd0c.dev/self-hosted" class="hover:text-dd0c-text transition">Self-hosted guide</a></li> <li><a href="https://docs.dd0c.dev/api" class="hover:text-dd0c-text transition">API reference</a></li> <li><a href="/changelog" class="hover:text-dd0c-text transition">Changelog</a></li> </ul> </div> <div> <h4 class="font-semibold text-sm mb-3">Company</h4> <ul class="space-y-2 text-sm text-dd0c-muted"> <li><a href="https://github.com/dd0c" class="hover:text-dd0c-text transition">GitHub</a></li> <li><a href="https://twitter.com/dd0cdev" class="hover:text-dd0c-text transition">Twitter</a></li> <li><a href="/privacy" class="hover:text-dd0c-text transition">Privacy</a></li> <li><a href="/terms" class="hover:text-dd0c-text transition">Terms</a></li> </ul> </div> </div> <div class="mt-12 pt-8 border-t border-dd0c-border flex flex-col sm:flex-row items-center justify-between gap-4"> <p class="text-xs text-dd0c-muted">© 2026 dd0c. All rights reserved.</p> <p class="text-xs text-dd0c-muted">Built with ☕ by a solo founder who ships.</p> </div> </div> </footer> </main> </body></html>

View File

@@ -9,7 +9,7 @@
that take 3 months to set up. Each tool does one thing well. Start free. Pay when it saves you money. that take 3 months to set up. Each tool does one thing well. Start free. Pay when it saves you money.
</p> </p>
<div class="mt-10"> <div class="mt-10">
<a href="https://app.dd0c.dev/signup" class="inline-flex px-8 py-3 rounded-lg bg-dd0c-primary hover:bg-dd0c-primary-light text-white font-medium transition"> <a href="#waitlist" class="inline-flex px-8 py-3 rounded-lg bg-dd0c-primary hover:bg-dd0c-primary-light text-white font-medium transition">
Get started — it's free → Get started — it's free →
</a> </a>
</div> </div>

View File

@@ -19,7 +19,7 @@
</p> </p>
<div class="mt-10 flex flex-col sm:flex-row items-center justify-center gap-4"> <div class="mt-10 flex flex-col sm:flex-row items-center justify-center gap-4">
<a href="https://app.dd0c.dev/signup" class="w-full sm:w-auto px-8 py-3 rounded-lg bg-dd0c-primary hover:bg-dd0c-primary-light text-white font-medium transition text-center"> <a href="#waitlist" class="w-full sm:w-auto px-8 py-3 rounded-lg bg-dd0c-primary hover:bg-dd0c-primary-light text-white font-medium transition text-center">
Start free → Start free →
</a> </a>
<a href="#products" class="w-full sm:w-auto px-8 py-3 rounded-lg border border-dd0c-border hover:border-dd0c-muted text-dd0c-muted hover:text-dd0c-text transition text-center"> <a href="#products" class="w-full sm:w-auto px-8 py-3 rounded-lg border border-dd0c-border hover:border-dd0c-muted text-dd0c-muted hover:text-dd0c-text transition text-center">

View File

@@ -42,8 +42,8 @@ const { title, description = 'Six DevOps tools. One platform. Built for teams th
<a href="https://docs.dd0c.dev" class="hover:text-dd0c-text transition">Docs</a> <a href="https://docs.dd0c.dev" class="hover:text-dd0c-text transition">Docs</a>
</div> </div>
<div class="flex items-center gap-4"> <div class="flex items-center gap-4">
<a href="https://app.dd0c.dev/login" class="text-sm text-dd0c-muted hover:text-dd0c-text transition">Log in</a> <a href="#waitlist" class="text-sm text-dd0c-muted hover:text-dd0c-text transition">Log in</a>
<a href="https://app.dd0c.dev/signup" class="text-sm px-4 py-2 rounded-lg bg-dd0c-primary hover:bg-dd0c-primary-light text-white transition font-medium">Start free</a> <a href="#waitlist" class="text-sm px-4 py-2 rounded-lg bg-dd0c-primary hover:bg-dd0c-primary-light text-white transition font-medium">Start free</a>
</div> </div>
</div> </div>
</nav> </nav>

View File

@@ -14,7 +14,7 @@ const plans = [
'Community support', 'Community support',
], ],
cta: 'Start free', cta: 'Start free',
ctaLink: 'https://app.dd0c.dev/signup', ctaLink: '#waitlist',
highlight: false, highlight: false,
}, },
{ {
@@ -32,7 +32,7 @@ const plans = [
'Priority support', 'Priority support',
], ],
cta: 'Start free, upgrade later', cta: 'Start free, upgrade later',
ctaLink: 'https://app.dd0c.dev/signup', ctaLink: '#waitlist',
highlight: true, highlight: true,
}, },
{ {

View File

@@ -16,7 +16,7 @@ import CTA from '../components/CTA.astro';
</div> </div>
<div class="mt-10 flex gap-4"> <div class="mt-10 flex gap-4">
<a href="https://app.dd0c.dev/signup" class="px-6 py-3 rounded-lg bg-dd0c-primary hover:bg-dd0c-primary-light text-white font-medium transition">Start free →</a> <a href="#waitlist" class="px-6 py-3 rounded-lg bg-dd0c-primary hover:bg-dd0c-primary-light text-white font-medium transition">Start free →</a>
<a href="https://docs.dd0c.dev/alert" class="px-6 py-3 rounded-lg border border-dd0c-border hover:border-dd0c-muted text-dd0c-muted hover:text-dd0c-text transition">Read docs</a> <a href="https://docs.dd0c.dev/alert" class="px-6 py-3 rounded-lg border border-dd0c-border hover:border-dd0c-muted text-dd0c-muted hover:text-dd0c-text transition">Read docs</a>
</div> </div>

View File

@@ -16,7 +16,7 @@ import CTA from '../components/CTA.astro';
</div> </div>
<div class="mt-10 flex gap-4"> <div class="mt-10 flex gap-4">
<a href="https://app.dd0c.dev/signup" class="px-6 py-3 rounded-lg bg-dd0c-primary hover:bg-dd0c-primary-light text-white font-medium transition">Start free →</a> <a href="#waitlist" class="px-6 py-3 rounded-lg bg-dd0c-primary hover:bg-dd0c-primary-light text-white font-medium transition">Start free →</a>
<a href="https://docs.dd0c.dev/cost" class="px-6 py-3 rounded-lg border border-dd0c-border hover:border-dd0c-muted text-dd0c-muted hover:text-dd0c-text transition">Read docs</a> <a href="https://docs.dd0c.dev/cost" class="px-6 py-3 rounded-lg border border-dd0c-border hover:border-dd0c-muted text-dd0c-muted hover:text-dd0c-text transition">Read docs</a>
</div> </div>

View File

@@ -16,7 +16,7 @@ import CTA from '../components/CTA.astro';
</div> </div>
<div class="mt-10 flex gap-4"> <div class="mt-10 flex gap-4">
<a href="https://app.dd0c.dev/signup" class="px-6 py-3 rounded-lg bg-dd0c-primary hover:bg-dd0c-primary-light text-white font-medium transition">Start free →</a> <a href="#waitlist" class="px-6 py-3 rounded-lg bg-dd0c-primary hover:bg-dd0c-primary-light text-white font-medium transition">Start free →</a>
<a href="https://docs.dd0c.dev/drift" class="px-6 py-3 rounded-lg border border-dd0c-border hover:border-dd0c-muted text-dd0c-muted hover:text-dd0c-text transition">Read docs</a> <a href="https://docs.dd0c.dev/drift" class="px-6 py-3 rounded-lg border border-dd0c-border hover:border-dd0c-muted text-dd0c-muted hover:text-dd0c-text transition">Read docs</a>
</div> </div>

View File

@@ -16,7 +16,7 @@ import CTA from '../components/CTA.astro';
</div> </div>
<div class="mt-10 flex gap-4"> <div class="mt-10 flex gap-4">
<a href="https://app.dd0c.dev/signup" class="px-6 py-3 rounded-lg bg-dd0c-primary hover:bg-dd0c-primary-light text-white font-medium transition">Start free →</a> <a href="#waitlist" class="px-6 py-3 rounded-lg bg-dd0c-primary hover:bg-dd0c-primary-light text-white font-medium transition">Start free →</a>
<a href="https://docs.dd0c.dev/portal" class="px-6 py-3 rounded-lg border border-dd0c-border hover:border-dd0c-muted text-dd0c-muted hover:text-dd0c-text transition">Read docs</a> <a href="https://docs.dd0c.dev/portal" class="px-6 py-3 rounded-lg border border-dd0c-border hover:border-dd0c-muted text-dd0c-muted hover:text-dd0c-text transition">Read docs</a>
</div> </div>

View File

@@ -16,7 +16,7 @@ import CTA from '../components/CTA.astro';
</div> </div>
<div class="mt-10 flex gap-4"> <div class="mt-10 flex gap-4">
<a href="https://app.dd0c.dev/signup" class="px-6 py-3 rounded-lg bg-dd0c-primary hover:bg-dd0c-primary-light text-white font-medium transition">Start free →</a> <a href="#waitlist" class="px-6 py-3 rounded-lg bg-dd0c-primary hover:bg-dd0c-primary-light text-white font-medium transition">Start free →</a>
<a href="https://docs.dd0c.dev/route" class="px-6 py-3 rounded-lg border border-dd0c-border hover:border-dd0c-muted text-dd0c-muted hover:text-dd0c-text transition">Read docs</a> <a href="https://docs.dd0c.dev/route" class="px-6 py-3 rounded-lg border border-dd0c-border hover:border-dd0c-muted text-dd0c-muted hover:text-dd0c-text transition">Read docs</a>
</div> </div>

View File

@@ -16,7 +16,7 @@ import CTA from '../components/CTA.astro';
</div> </div>
<div class="mt-10 flex gap-4"> <div class="mt-10 flex gap-4">
<a href="https://app.dd0c.dev/signup" class="px-6 py-3 rounded-lg bg-dd0c-primary hover:bg-dd0c-primary-light text-white font-medium transition">Start free →</a> <a href="#waitlist" class="px-6 py-3 rounded-lg bg-dd0c-primary hover:bg-dd0c-primary-light text-white font-medium transition">Start free →</a>
<a href="https://docs.dd0c.dev/run" class="px-6 py-3 rounded-lg border border-dd0c-border hover:border-dd0c-muted text-dd0c-muted hover:text-dd0c-text transition">Read docs</a> <a href="https://docs.dd0c.dev/run" class="px-6 py-3 rounded-lg border border-dd0c-border hover:border-dd0c-muted text-dd0c-muted hover:text-dd0c-text transition">Read docs</a>
</div> </div>