Skip to content

Documentation refresh#5

Merged
tmosleyIII merged 2 commits into
mainfrom
chore/tmosley/documentation-refresh
May 7, 2026
Merged

Documentation refresh#5
tmosleyIII merged 2 commits into
mainfrom
chore/tmosley/documentation-refresh

Conversation

@tmosleyIII
Copy link
Copy Markdown
Contributor

This pull request introduces a new documentation page for the Flow Pipeline API and removes all example blog posts and author metadata from the repository. The main focus is on providing comprehensive API documentation for managing Flow pipelines via YAML, while cleaning up unused or example content from the blog directory.

Documentation additions:

  • Added a new Pipeline API documentation page at docs/flow/api.md with detailed instructions, example YAML, endpoint descriptions, usage patterns, and security warnings.

Blog and metadata cleanup:

  • Deleted all example blog posts, including first-blog-post.md, long-blog-post.md, mdx-blog-post.mdx, and welcome/index.md, to remove placeholder or sample content. [1] [2] [3] [4]
  • Removed the authors.yml file, eliminating all blog author metadata from the repository.

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR refreshes the documentation site by adding first-party product docs (notably the Flow Pipeline API), restructuring the docs information architecture into product sidebars, and removing the Docusaurus template blog/tutorial content. It also introduces a custom landing page and custom navbar/sidebar UI components for the site.

Changes:

  • Added new Flow Pipeline API documentation and refreshed Flow docs (overview/quickstart/concepts, processors/consumers references, pricing).
  • Added new Lake and Nodes documentation sections and reorganized navigation via new product sidebars.
  • Removed template blog + tutorial docs and disabled the blog plugin; introduced a custom landing page and top navigation UI.

Reviewed changes

Copilot reviewed 44 out of 47 changed files in this pull request and generated 13 comments.

Show a summary per file
File Description
src/theme/Navbar/index.js Overrides the theme navbar to render the custom ObsrvrTopNav.
src/components/ObsrvrTopNav/index.js Adds a custom top navigation bar with an in-page search modal.
src/theme/DocSidebar/Desktop/Content/index.js Custom desktop doc sidebar content with a product switcher.
src/theme/DocSidebar/Desktop/Content/styles.module.css Desktop sidebar/product switcher styles.
src/theme/DocSidebar/Mobile/index.js Custom mobile doc sidebar secondary menu + product switcher.
src/theme/DocSidebar/Mobile/styles.module.css Mobile sidebar/product switcher styles.
src/pages/index.js Replaces the homepage with a custom landing page experience and quickstart content.
sidebars.js Replaces the autogenerated sidebar with explicit product sidebars (Gateway/Flow/Lake/Nodes) + intro.
docusaurus.config.js Disables the blog and updates theme defaults (light mode + navbar title/labels).
docs/flow/api.md New Pipeline API doc page (YAML format, endpoints, CI/CD usage).
docs/flow/overview.md Updates Flow overview positioning and references the Pipeline API.
docs/flow/getting-started/quickstart.md Updates Flow quickstart to YAML + API-driven workflow (validate/apply/start/stop/export).
docs/flow/concepts/pipelines.md Refreshes pipeline concepts around YAML/spec, lifecycle, registry, billing, API patterns.
docs/flow/processors/index.md Replaces long-form processor docs with a processor registry/reference-focused page.
docs/flow/consumers/index.md Replaces long-form consumer docs with a consumer registry/reference-focused page.
docs/flow/consumers/postgresql.md Updates PostgreSQL consumer docs to reflect specialized consumer IDs and config shapes.
docs/flow/pricing.md Replaces Flow-only pricing page with broader platform pricing content.
docs/lake/overview.md Adds Lake overview and positioning for the medallion model + common endpoints.
docs/lake/getting-started/quickstart.md Adds a Lake quickstart with runnable curl examples.
docs/lake/guides/query-examples.md Adds copy/paste Lake query examples for common analysis tasks.
docs/lake/architecture/overview.md Adds Lake architecture overview (components, flow, storage tiers).
docs/lake/api/overview.md Adds a Lake API overview (base URL, auth, endpoints, pagination, errors).
docs/nodes/overview.md Adds Nodes overview page.
docs/nodes/getting-started/quickstart.md Adds Nodes quickstart page.
docs/nodes/guides/asset-whitelisting.md Adds asset whitelisting guide.
docs/intro.md Rewrites intro into a product map + “start with Lake” narrative.
docs/gateway/overview.md Refreshes Gateway overview to the new gateway URL structure and positioning vs Lake.
docs/products/index.md Removes the Docusaurus template “Hello from Docusaurus” page.
docs/tutorial-basics/_category_.json Removes Docusaurus tutorial category metadata.
docs/tutorial-basics/create-a-page.md Removes Docusaurus tutorial page.
docs/tutorial-basics/create-a-document.md Removes Docusaurus tutorial page.
docs/tutorial-basics/create-a-blog-post.md Removes Docusaurus tutorial page.
docs/tutorial-basics/markdown-features.mdx Removes Docusaurus tutorial page.
docs/tutorial-basics/deploy-your-site.md Removes Docusaurus tutorial page.
docs/tutorial-basics/congratulations.md Removes Docusaurus tutorial page.
docs/tutorial-extras/_category_.json Removes Docusaurus tutorial extras category metadata.
docs/tutorial-extras/manage-docs-versions.md Removes Docusaurus tutorial extras page.
docs/tutorial-extras/translate-your-site.md Removes Docusaurus tutorial extras page.
blog/authors.yml Removes template blog author metadata.
blog/2021-08-26-welcome/index.md Removes template blog post.
blog/2021-08-01-mdx-blog-post.mdx Removes template blog post.
blog/2019-05-29-long-blog-post.md Removes template blog post.
blog/2019-05-28-first-blog-post.md Removes template blog post.
Comments suppressed due to low confidence (1)

docs/lake/api/overview.md:156

  • The “Understand Lake architecture” link points to /docs/lake/overview, but the architecture page in this PR is /docs/lake/architecture/overview. Update the link so it lands on the architecture content.
## Next steps

- [Run the Lake quickstart](/docs/lake/getting-started/quickstart)
- [Copy query examples](/docs/lake/guides/query-examples)
- [Understand Lake architecture](/docs/lake/overview)


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +21 to +25
.productSwitcher {
margin-top: auto;
padding-top: 1rem;
border-top: 1px solid rgba(255, 255, 255, 0.08);
}
Comment on lines +2 to +6
.productSwitcher {
margin-top: 1rem;
padding-top: 1rem;
border-top: 1px solid rgba(255, 255, 255, 0.08);
}
Comment thread src/pages/index.js Outdated
const [lang, setLang] = useState('curl');
const [copied, setCopied] = useState(false);
const active = LANGS[lang];
const copy = () => { navigator.clipboard?.writeText(active.code); setCopied(true); setTimeout(() => setCopied(false), 1200); };
Comment thread src/pages/index.js
Comment on lines +110 to 112
function ByRole() {
return <section className="dl-section"><div className="head"><span className="eyebrow">Start by role</span><h2>Pick the path that fits what you're building</h2></div><div className="dl-roles">{roles.map(([cls, Icon, title, desc, bullets]) => <a key={title} className={'dl-role ' + cls} href="#"><div className="glyph"><Icon w={20} /></div><h3>{title}</h3><p>{desc}</p><ul>{bullets.map((b) => <li key={b}><span className="check"><IL.check w={14} /></span>{b}</li>)}</ul><span className="start">{title} guide <IL.arrowR w={13} /></span></a>)}</div></section>;
}
Comment thread src/pages/index.js Outdated
Comment on lines +127 to +129
function Help() {
return <section className="dl-help"><div><h3>Stuck or need higher limits?</h3><p>Talk to a Stellar engineer at Obsrvr — same person who'd answer in production support.</p></div><div className="actions"><a href="#"><IL.msg w={14} />Chat with us</a><a href="#" className="primary">Contact sales <IL.arrowR w={14} /></a></div></section>;
}
Comment on lines +8 to 13
This page lists the consumer IDs currently exposed by the Flow registry. Use these IDs in `spec.consumers[].type` when creating pipelines through the API.

## Available Consumers

### Database Storage - PostgreSQL

#### [PostgreSQL (Generic)](./postgresql.md)
General-purpose PostgreSQL consumer for ledger data with flexible JSON format.

**Configuration:**
```yaml
type: postgres
config:
connection_string: "postgresql://user:pass@host:5432/database"
batch_size: 50
```

**Use Cases:** Analytics databases, application backends, historical data storage

---

#### PostgreSQL Bronze
Bronze layer data ingestion to PostgreSQL for data lakehouse architecture.

**Configuration:**
```yaml
type: postgres_bronze
config:
host: "localhost"
database: "bronze"
username: "user"
password: "password"
```

**Use Cases:** Raw data layer storage, medallion architecture

---

#### Buffered PostgreSQL
Buffered batch inserts with retry logic for high-throughput scenarios.

**Configuration:**
```yaml
type: buffered_postgres
config:
buffer_size: 1000
flush_interval_ms: 5000
max_retries: 3
```

**Use Cases:** High-volume data ingestion with batching

---

#### Account Data PostgreSQL
Stores Stellar account data with full metadata.

**Configuration:**
```yaml
type: account_data_postgres
config:
host: "localhost"
port: 5432
database: "accounts"
max_open_conns: 20
```

**Use Cases:** Account state tracking and historical analysis

---

#### Asset PostgreSQL
Stores asset/ticker information with batching.

**Configuration:**
```yaml
type: asset_postgres
config:
batch_size: 100
connection_string: "postgresql://user:pass@host:5432/assets"
```

**Use Cases:** Asset catalog and enrichment data storage

---

#### Asset Enrichment PostgreSQL
Updates asset enrichment data (TOML, auth flags).

**Configuration:**
```yaml
type: asset_enrichment
config:
connection_string: "postgresql://user:pass@host:5432/assets"
```

**Use Cases:** Asset metadata enrichment from stellar.toml

---

#### Payments PostgreSQL
Batched payment transaction storage.

**Configuration:**
```yaml
type: payments_postgres
config:
batch_size: 1000
connection_string: "postgresql://user:pass@host:5432/payments"
```

**Use Cases:** Payment history and analytics

---

#### Event Payment PostgreSQL
Event-based payment storage with account relationships.

**Configuration:**
```yaml
type: event_payment_postgres
config:
host: "localhost"
database: "payments"
max_open_conns: 20
```

**Use Cases:** Event-driven payment tracking with foreign keys

---

#### Contract Events PostgreSQL
Soroban contract events storage.

**Configuration:**
```yaml
type: contract_events_postgres
config:
host: "localhost"
database: "soroban_events"
```

**Use Cases:** Smart contract event logging and analysis

---

#### Contract Invocations PostgreSQL
Contract invocations with dual XDR/decoded format, diagnostic events, state changes.

**Configuration:**
```yaml
type: contract_invocations_postgres
config:
host: "localhost"
database: "contract_invocations"
```

**Use Cases:** Complete contract execution tracking

---

#### Extracted Contract Invocations PostgreSQL
Business-logic extracted contract data (funder, recipient, amount, project_id).

**Configuration:**
```yaml
type: extracted_contract_invocations_postgres
config:
host: "localhost"
database: "business_data"
```bash
curl -H "Authorization: Api-Key $API_KEY" \
"$CONSOLE/api/v1/flow/registry/consumers/"
```
Comment thread docs/flow/getting-started/quickstart.md Outdated
Comment on lines +58 to +61
port: 23548
connect_timeout: 30
database: defaultdb
username: avnadmin
Comment thread src/pages/index.js Outdated
Comment on lines 131 to 136
function CmdK({open, onClose}) {
const inputRef = useRef(null);
useEffect(() => { if (open) inputRef.current?.focus(); }, [open]);
if (!open) return null;
return <div className="cmdk-overlay open" onClick={(e) => { if (e.target.classList.contains('cmdk-overlay')) onClose(); }}><div className="cmdk"><div className="cmdk-input-wrap"><IL.search /><input ref={inputRef} placeholder="Search docs, ask AI, or jump to an endpoint…" /><span className="kbd">Esc</span></div><div className="cmdk-results"><div className="cmdk-section"><h6>Ask AI</h6><div className="cmdk-item active"><span className="ico"><IL.ai /></span><span>How do I subscribe to live transactions?</span><span className="meta">↵</span></div></div><div className="cmdk-section"><h6>Quickstart</h6><div className="cmdk-item"><span className="ico"><IL.rocket /></span><span>Get started in 60 seconds</span></div><div className="cmdk-item"><span className="ico"><IL.key /></span><span>Create your first API key</span></div></div></div><div className="cmdk-foot"><span><span className="kbd">↑</span><span className="kbd">↓</span> Navigate</span><span><span className="kbd">↵</span> Select</span><span style={{marginLeft: 'auto'}}>Powered by Obsrvr AI</span></div></div></div>;
}
Comment on lines +77 to +81
<div className="cmdk-input-wrap">
{icons.search({})}
<input ref={inputRef} value={query} onChange={(e) => setQuery(e.target.value)} placeholder="Search docs…" />
<span className="kbd">Esc</span>
</div>
Comment thread src/pages/index.js Outdated
Comment on lines +1 to +4
import React, {useEffect, useRef, useState} from 'react';
import Layout from '@theme/Layout';
import Link from '@docusaurus/Link';

@tmosleyIII tmosleyIII merged commit 9855198 into main May 7, 2026
1 check passed
@tmosleyIII tmosleyIII deleted the chore/tmosley/documentation-refresh branch May 7, 2026 21:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants