diff --git a/docs/img/hyperbyte-db.png b/docs/img/hyperbyte-db.png new file mode 100644 index 0000000..9b591df Binary files /dev/null and b/docs/img/hyperbyte-db.png differ diff --git a/docs/index.md b/docs/index.md index b5a7d6e..7f824ee 100644 --- a/docs/index.md +++ b/docs/index.md @@ -1,7 +1,66 @@ ---- -title: Home -template: home.html -hide: - - navigation - - toc ---- +
+HyperbyteDB +
+ +# Documentation + +HyperbyteDB is a time-series database written in Rust. It speaks the InfluxDB v1 HTTP API, stores data in embedded chDB MergeTree tables, and uses RocksDB for the write-ahead log and metadata. Clustered deployments use Raft for schema consensus and asynchronous replication for writes. + +## Quick start + +```bash +docker run -d \ + --name hyperbytedb \ + -p 8086:8086 \ + ghcr.io/hyperbyte-cloud/hyperbytedb:latest + +docker exec -it hyperbytedb \ + hyperbytedb-cli create database mydb + +docker exec -it hyperbytedb \ + hyperbytedb-cli write -database mydb \ + --data-binary 'cpu,host=srv01 value=42' + + docker exec -it hyperbytedb \ + hyperbytedb-cli query -database mydb \ + --data-urlencode 'q=SELECT * FROM cpu' +``` + +## User guide + +For operators and application developers deploying HyperbyteDB. + +| Topic | Description | +|-------|-------------| +| [Installation](user-guide/installation.md) | Docker, Compose, binaries, kind, Kubernetes operator | +| [Configuration](user-guide/configuration.md) | `config.toml` and `HYPERBYTEDB__*` environment variables | +| [Basic operations](user-guide/basic-operations.md) | Databases, writes, queries, retention | +| [Authentication](user-guide/authentication.md) | Credentials, public routes, admin APIs | +| [Advanced features](user-guide/advanced-features.md) | Clustering, continuous queries, TLS, tracing | +| [Common workflows](user-guide/common-workflows.md) | InfluxDB migration, Telegraf, Grafana, monitoring | +| [Administration](user-guide/administration.md) | Metrics, logs, traces, backup, cluster ops | +| [Troubleshooting](user-guide/troubleshooting.md) | Common problems | +| [API reference](user-guide/reference.md) | HTTP endpoints and TimeseriesQL compatibility | +| [Kubernetes operator](user-guide/operator/index.md) | Helm install, CRDs, backups | + +Start with the [user guide index](user-guide/index.md) for a recommended reading order. + +## Developer guide + +For contributors working on the codebase. + +| Topic | Description | +|-------|-------------| +| [Architecture](developer-guide/architecture.md) | Hexagonal design and data flow | +| [Development setup](developer-guide/development-setup.md) | Build, run, and debug locally | +| [Testing](developer-guide/testing.md) | Test suites and CI | +| [Contributing](developer-guide/contributing.md) | PR process and review checklist | + +See the [developer guide index](developer-guide/index.md) for internals and deep dives. + +## Other references + +- [Glossary](glossary.md) — shared terminology +- [Benchmarks](benchmarks.md) — Criterion ingestion benchmarks +- [Deep dives](deep-dive/README.md) — write path, read path, clustering, compaction +- **Container image:** `ghcr.io/hyperbyte-cloud/hyperbytedb:latest` diff --git a/docs/overrides/home.html b/docs/overrides/home.html deleted file mode 100644 index e3c5bec..0000000 --- a/docs/overrides/home.html +++ /dev/null @@ -1,243 +0,0 @@ -{% extends "main.html" %} - - -{% block extrahead %} - {{ super() }} - -{% endblock %} - - -{% block site_meta %} - {{ super() }} -{% endblock %} - -{% block tabs %} - {{ super() }} - - -
-
- -

The modern drop-in replacement for InfluxDB 1.x
- IOT & Telemetry - Observerability - Real Time Data

-
-
- -
- - - -
-

Everything you would expect

-

- A production-ready time-series database with InfluxDB compatibility and modern storage. -

-
-
-

- {% include ".icons/material/chart-timeline-variant.svg" %} - InfluxDB v1 compatible -

-

Line protocol and HTTP API for Telegraf, Grafana, and other 1.x clients — migrate without rewriting integrations.

-
-
-

- {% include ".icons/material/database.svg" %} - Embedded chDB engine -

-

ClickHouse in-process for fast analytics queries over columnar MergeTree storage.

-
-
-

- {% include ".icons/material/server-network.svg" %} - Active-active clustering -

-

Raft for schema consensus with async or sync-quorum replication — every node accepts writes.

-
-
-

- {% include ".icons/material/code-braces.svg" %} - TimeseriesQL -

-

Purpose-built time-series analytics with an interactive CLI shell and batch query support.

-
-
-

- {% include ".icons/material/shield-check.svg" %} - Durable by design -

-

RocksDB write-ahead log and metadata store keep your data safe through restarts and failures.

-
-
-

- {% include ".icons/material/chart-line.svg" %} - Built-in observability -

-

Prometheus metrics, structured logs, and OTLP trace export out of the box.

-
-
-
- -
- - -
-

Quick start

-

Write and query data with the familiar InfluxDB v1 HTTP API.

-
-

-docker run -d \
-  --name hyperbytedb \
-  -p 8086:8086 \
-  ghcr.io/hyperbyte-cloud/hyperbytedb:latest
-
-docker exec -it hyperbytedb \
-  hyperbytedb-cli create database mydb
-
-docker exec -it hyperbytedb \
-  hyperbytedb-cli write -database mydb \
-  --data-binary 'cpu,host=srv01 value=42'
-
-  docker exec -it hyperbytedb \
-  hyperbytedb-cli query -database mydb \
-  --data-urlencode 'q=SELECT * FROM cpu'
-
-
-
- -
- - -
-

Explore the documentation

-

Guides for operators, application developers, and contributors.

-
- -

User guide

-

Install, configure, operate, and troubleshoot HyperbyteDB in production.

-
- -

Kubernetes operator

-

Deploy clusters with Helm, CRDs, backups, and hyperbytedb-proxy.

-
- -

Developer guide

-

Architecture, internals, testing, and contribution workflow.

-
- -

Deep dives

-

Write path, read path, clustering, compaction, and self-repair.

-
- -

API reference

-

HTTP endpoints and TimeseriesQL compatibility matrix.

-
- -

Benchmarks

-

Criterion ingestion benchmarks and performance notes.

-
-
-
-{% endblock %} - - -{% block content %}{{ super() }}{% endblock %} diff --git a/docs/stylesheets/home.css b/docs/stylesheets/home.css deleted file mode 100644 index e8ccef5..0000000 --- a/docs/stylesheets/home.css +++ /dev/null @@ -1,203 +0,0 @@ -/* Landing page layout — inspired by Material for MkDocs homepage */ - -.hdbx-container { - padding-top: 0; -} - -.hdbx-hero { - margin: 0 2.8rem; - color: var(--md-primary-bg-color); -} - -.hdbx-hero h1 { - margin-bottom: 0.5rem; - color: currentColor; - font-weight: 700; - font-size: clamp(1.75rem, 4vw, 2.75rem); - line-height: 1.15; -} - -.hdbx-hero p { - margin-bottom: 1.25rem; - font-size: 1.125rem; - line-height: 1.6; - opacity: 0.95; -} - -.hdbx-hero__image img { - width: 100%; - max-width: 17rem; - height: auto; - filter: drop-shadow(0 8px 24px rgba(0, 0, 0, 0.15)); -} - -.hdbx-hero .md-button { - margin-top: 0.5rem; - margin-right: 0.5rem; - color: var(--md-primary-bg-color); -} - -.hdbx-hero .md-button--primary { - background-color: var(--md-primary-bg-color); - color: var(--md-primary-fg-color); - border-color: var(--md-primary-bg-color); -} - -.hdbx-hero .md-button:focus, -.hdbx-hero .md-button:hover { - background-color: var(--md-accent-fg-color); - color: var(--md-default-bg-color); - border-color: var(--md-accent-fg-color); -} - -@media screen and (min-width: 60em) { - .hdbx-hero { - display: flex; - align-items: center; - justify-content: center; - gap: 2rem; - min-height: 22rem; - padding: 2rem 0 3rem; - } - - .hdbx-hero__content { - max-width: 28rem; - } - - .hdbx-hero__image { - flex-shrink: 0; - order: 1; - padding-right: 1rem; - } -} - -@media screen and (max-width: 59.99em) { - .hdbx-hero { - padding: 2rem 0 2.5rem; - text-align: center; - } - - .hdbx-hero__image { - margin-bottom: 1.5rem; - } -} - -.hdbx-section { - max-width: 61rem; - margin: 0 auto; - padding: 2.5rem 1.2rem; -} - -.hdbx-section h2 { - text-align: center; - font-weight: 300; - font-size: 1.75rem; - margin-bottom: 0.25rem; -} - -.hdbx-section > p.hdbx-section__lead { - text-align: center; - color: var(--md-default-fg-color--light); - margin-bottom: 2rem; - font-size: 1.05rem; -} - -.hdbx-features { - display: grid; - grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr)); - gap: 1rem; -} - -.hdbx-feature { - padding: 1.25rem 1rem; - border-radius: 0.25rem; - transition: background-color 0.15s ease; -} - -.hdbx-feature:hover { - background-color: var(--md-accent-fg-color--transparent); -} - -.hdbx-feature h3 { - display: flex; - align-items: center; - gap: 0.5rem; - margin: 0 0 0.5rem; - font-size: 1.1rem; - font-weight: 600; -} - -.hdbx-feature h3 .twemoji { - width: 1.5rem; - height: 1.5rem; - flex-shrink: 0; -} - -.hdbx-feature p { - margin: 0; - font-size: 0.95rem; - line-height: 1.6; - color: var(--md-default-fg-color--light); -} - -.hdbx-divider { - border: 0; - border-bottom: 1px solid var(--md-default-fg-color--lightest); - margin: 0 auto; - max-width: 61rem; -} - -.hdbx-quickstart { - background: var(--md-code-bg-color); - border-radius: 0.25rem; - padding: 1.25rem 1.5rem; - overflow-x: auto; -} - -.hdbx-quickstart pre { - margin: 0; -} - -.hdbx-quickstart code { - font-size: 0.85rem; -} - -.hdbx-cards { - display: grid; - grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr)); - gap: 1rem; -} - -.hdbx-card { - display: block; - padding: 1.25rem; - border: 1px solid var(--md-default-fg-color--lightest); - border-radius: 0.25rem; - text-decoration: none; - color: inherit; - transition: border-color 0.15s ease, box-shadow 0.15s ease; -} - -.hdbx-card:hover { - border-color: var(--md-accent-fg-color); - box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08); -} - -.hdbx-card h3 { - margin: 0 0 0.35rem; - font-size: 1.05rem; - color: var(--md-accent-fg-color); -} - -.hdbx-card p { - margin: 0; - font-size: 0.9rem; - color: var(--md-default-fg-color--light); -} - -.hdbx-image { - width: 100%; - max-width: 20rem; - margin: 0 auto; - display: block; -} diff --git a/mkdocs.yml b/mkdocs.yml index 6b17ba6..3671dc1 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -7,7 +7,6 @@ edit_uri: edit/main/docs/ theme: name: material - custom_dir: docs/overrides logo: img/logo.png palette: - scheme: slate @@ -78,9 +77,6 @@ validation: links: not_found: info -extra_css: - - stylesheets/home.css - extra: social: - icon: fontawesome/brands/github