CI: install Go to HOME dir instead of /usr/local (no sudo needed)
This commit is contained in:
@@ -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:
|
||||||
|
|||||||
@@ -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 & 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 & 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 & 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 & 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>
|
||||||
6
products/marketing/site/dist/cost/index.html
vendored
6
products/marketing/site/dist/cost/index.html
vendored
@@ -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 <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 <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>
|
||||||
@@ -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>
|
||||||
8
products/marketing/site/dist/index.html
vendored
8
products/marketing/site/dist/index.html
vendored
File diff suppressed because one or more lines are too long
@@ -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 & 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 & 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 & 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 & 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>
|
||||||
@@ -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 & 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 & 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 & 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 & 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>
|
||||||
6
products/marketing/site/dist/run/index.html
vendored
6
products/marketing/site/dist/run/index.html
vendored
@@ -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>
|
||||||
@@ -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>
|
||||||
|
|||||||
@@ -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">
|
||||||
|
|||||||
@@ -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>
|
||||||
|
|||||||
@@ -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,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -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>
|
||||||
|
|
||||||
|
|||||||
@@ -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>
|
||||||
|
|
||||||
|
|||||||
@@ -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>
|
||||||
|
|
||||||
|
|||||||
@@ -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>
|
||||||
|
|
||||||
|
|||||||
@@ -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>
|
||||||
|
|
||||||
|
|||||||
@@ -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>
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user