diff --git a/apps/web/src/components/Header.astro b/apps/web/src/components/Header.astro index 6d71390..76697bc 100644 --- a/apps/web/src/components/Header.astro +++ b/apps/web/src/components/Header.astro @@ -14,7 +14,6 @@ const { current = 'none', minimal = false } = Astro.props; Get help Sign in - Install )} @@ -31,10 +30,8 @@ const { current = 'none', minimal = false } = Astro.props; nav a { color: var(--text-muted); text-decoration: none; } nav a:hover { color: var(--text); text-decoration: underline; } nav a[aria-current='page'] { color: var(--text); font-weight: 600; } - .install-pill { padding-block: 8px; } @media (max-width: 700px) { - .inner { gap: 8px 16px; padding-block: 14px; } + .inner { gap: 12px 16px; } nav { order: 3; flex-basis: 100%; } - .install-pill { margin-left: auto; } } diff --git a/apps/web/src/components/InstallField.astro b/apps/web/src/components/InstallField.astro index a8cc1ec..f4385c1 100644 --- a/apps/web/src/components/InstallField.astro +++ b/apps/web/src/components/InstallField.astro @@ -4,30 +4,36 @@ const { id, label, onSignal = false } = Astro.props; ---
{label &&

{label}

} -
-
/bin/bash -c "$(curl -fsSL https://kwatch.dev/kwatch.sh)"
- +
+ /bin/bash -c "$(curl -fsSL https://kwatch.dev/kwatch.sh)" +

diff --git a/apps/web/src/pages/index.astro b/apps/web/src/pages/index.astro index 2a8005c..eab2bd7 100644 --- a/apps/web/src/pages/index.astro +++ b/apps/web/src/pages/index.astro @@ -27,27 +27,10 @@ const catches = [ ['Custom add-ons', 'Failing conditions on resources that other tools add to your cluster', 'Custom resources (CRDs)'], ]; -const glossary = [ - ['Cluster', 'The group of machines that runs your apps.'], - ['Node', 'One machine in the cluster.'], - ['Pod', 'A running copy of an app.'], - ['Namespace', 'A named area of the cluster, often one per team or app.'], - ['CrashLoopBackOff', 'A pod keeps starting, failing and restarting.'], - ['OOMKilled', 'A pod used more memory than allowed and was stopped.'], - ['RBAC', 'Kubernetes permissions. It decides what kwatch may read.'], - ['Helm', 'A package manager for Kubernetes, an alternative way to install.'], - ['CRD', 'A custom resource definition, an extra kind of object that a tool adds to the cluster.'], - ['Rollout', 'Replacing the running version of an app with a new one.'], - ['ConfigMap', 'A settings object an app reads, such as a database address.'], - ['PDB and HPA', 'A PodDisruptionBudget limits how many copies of an app may be down at once. A HorizontalPodAutoscaler adds or removes copies as load changes.'], -]; - const benefits = [ - ['root', 'Root cause first', 'Follows a crash back through the deployment and node to the ConfigMap that changed, and names it.'], ['data', 'Your data stays in your cluster', 'kwatch analyzes events and logs where they live.'], ['quiet', 'Quiet by default', 'A crash loop that fires 47 alerts becomes one message, then silence until something new is true.'], ['who', 'Who changed what', 'Names the user or Argo CD sync behind the change, and when it landed.'], - ['next', 'The next step', 'Ends with the command to run, such as rolling back checkout-config.'], ['channels', '50+ channels', 'Slack, Teams, Discord, PagerDuty, email and webhooks, with 50+ in all.'], ]; @@ -59,9 +42,9 @@ const timeline = [ ]; const faq = [ - ['Do I need to be a Kubernetes expert?', 'Not at all. One command, and it walks you through it with plain questions. It checks your cluster before it changes anything. Alerts say what broke, why and what to do next in plain words, with the technical names alongside for people who want them.'], - ['Will it work on my cluster?', 'kwatch runs on any conformant Kubernetes cluster. The installer checks your cluster before it changes anything.'], - ['Where do alerts go?', 'Slack, Teams, Discord, PagerDuty, email, webhooks and 50+ other channels.'], + ['Do I need to be a Kubernetes expert?', 'Not at all. One command, and it walks you through it with plain questions. kwatch runs as one small pod with a small volume for state, and alerts use plain words with the technical names alongside.'], + ['Will it work on my cluster?', 'kwatch runs on any conformant Kubernetes cluster.'], + ['Where do alerts go?', 'Wherever your team already works. See the full list in the docs.', 'Wherever your team already works. See the full list in the docs →'], ['How do I get Pro?', 'Pro is free during early access. Get a key at app.kwatch.dev, then open the installer and choose License / Pro > Add or replace key.'], ['Can I install with Helm?', 'Yes. The chart guide walks you through it; the installer is the quickest way.'], ]; @@ -105,7 +88,6 @@ const jsonLd = [ >
-

03:07 · #prod-alerts · 47 new messages

kwatch: Fifty alerts.
One cause.

kwatch runs inside your Kubernetes cluster, traces every failure back to what started it, and sends one message: what broke, why, who changed it, and what to do next.

@@ -115,7 +97,6 @@ const jsonLd = [ -

Watches your pods, deployments, nodes, jobs and CronJobs, certificates, storage and services, with no rules to write.

@@ -142,13 +123,12 @@ const jsonLd = [
-
- Catches -
    - {failures.map((f) =>
  • {f}
  • )} -
- See everything it catches → + +

See everything it catches →

@@ -158,7 +138,7 @@ const jsonLd = [

What kwatch watches

The failures that wake people up.

-

Stuck rollouts, failed jobs, expiring certificates, full disks, unreachable services and the cluster itself. Built in.

+

Built in, no rules to write.