Skip to content

feat: first pass at service docs.#315

Merged
rshoemaker merged 4 commits intomainfrom
feat/PLAT-414/service_docs
Mar 25, 2026
Merged

feat: first pass at service docs.#315
rshoemaker merged 4 commits intomainfrom
feat/PLAT-414/service_docs

Conversation

@rshoemaker
Copy link
Copy Markdown
Contributor

First pass at user-facing service docs.

@coderabbitai
Copy link
Copy Markdown

coderabbitai bot commented Mar 24, 2026

Warning

Rate limit exceeded

@rshoemaker has exceeded the limit for the number of commits that can be reviewed per hour. Please wait 2 minutes and 31 seconds before requesting another review.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 14024302-929a-4141-a056-d2a426d22887

📥 Commits

Reviewing files that changed from the base of the PR and between 0122907 and f45e18f.

📒 Files selected for processing (1)
  • docs/services/mcp.md
📝 Walkthrough

Walkthrough

This pull request adds comprehensive documentation for the pgEdge "Supporting Services (Beta)" feature, including an overview, management procedures, and MCP server configuration guidance, alongside updated navigation configuration.

Changes

Cohort / File(s) Summary
Supporting Services Documentation
docs/services/index.md, docs/services/managing.md, docs/services/mcp.md
Added three new documentation pages covering the Supporting Services feature overview with lifecycle states and deployment topology, service management via create/update/delete workflows, and detailed pgEdge Postgres MCP server provisioning and configuration (including LLM proxy settings, security controls, and connection examples).
Documentation Navigation
mkdocs.yml
Updated top-level navigation to include a new "Supporting Services (Beta)" section linking to the three new service documentation pages.

Poem

🐰 Hop! Hop! Supporting services bloom,
Database companions fill the room,
MCP magic, credentials so neat,
Documented paths make it complete—
Control Plane's spell—what a treat! ✨

🚥 Pre-merge checks | ✅ 2 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Description check ⚠️ Warning The PR description lacks required template sections (Summary with detail, Changes list, Testing, Checklist items, and Notes for Reviewers) and only contains a single vague line. Complete the PR description using the template: add a detailed Summary explaining what was documented, a Changes section listing the new files, confirm Testing and Checklist items, and provide Notes for Reviewers about the documentation scope.
✅ Passed checks (2 passed)
Check name Status Explanation
Title check ✅ Passed The title "feat: first pass at service docs." clearly relates to the main changeset, which adds comprehensive documentation for pgEdge's Supporting Services feature across multiple new files.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/PLAT-414/service_docs

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 2

🧹 Nitpick comments (1)
docs/services/index.md (1)

33-33: Polish phrasing for readability.

Line 33 reads a bit awkwardly (“requires read/write access”). Consider “Used when the service needs read/write access.”

✏️ Suggested wording tweak
-- **Read-write user** (`svc_{service_id}_rw`) — Has read and write access to the database. Used when the service requires read/write access.
+- **Read-write user** (`svc_{service_id}_rw`) — Has read and write access to the database. Used when the service needs read/write access.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/services/index.md` at line 33, Update the phrasing for the "Read-write
user (`svc_{service_id}_rw`)" bullet so the sentence reads more naturally:
replace "Used when the service requires read/write access." with "Used when the
service needs read/write access." to improve readability while keeping the same
meaning for the `svc_{service_id}_rw` description.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@docs/services/managing.md`:
- Around line 17-18: Update the docs to reflect the API model: change the types
for the `cpus` and `memory` fields from numeric primitives to string values
(e.g., SI/IEC-style like "0.5" or "512Mi"), so the `cpus` and `memory` entries
correctly state type: string and show examples in string form; verify any
description text for `cpus` and `memory` matches the string format and accepted
units.

In `@docs/services/mcp.md`:
- Around line 278-280: The fenced code block containing "POST
http://{host}:{port}/mcp/v1" lacks a language tag and should be updated to
include one (for example "text" or "http") to satisfy markdown lint and improve
formatting; locate the block with the exact string POST
http://{host}:{port}/mcp/v1 and change the opening fence from ``` to ```text (or
```http) so the snippet is properly annotated.

---

Nitpick comments:
In `@docs/services/index.md`:
- Line 33: Update the phrasing for the "Read-write user (`svc_{service_id}_rw`)"
bullet so the sentence reads more naturally: replace "Used when the service
requires read/write access." with "Used when the service needs read/write
access." to improve readability while keeping the same meaning for the
`svc_{service_id}_rw` description.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 300732ac-7e57-4e6a-823b-bdf3255aeaf9

📥 Commits

Reviewing files that changed from the base of the PR and between a356068 and 8a1b2ba.

📒 Files selected for processing (6)
  • docs/services/index.md
  • docs/services/managing.md
  • docs/services/mcp.md
  • docs/services/postgrest.md
  • docs/services/rag.md
  • mkdocs.yml

Copy link
Copy Markdown
Member

@mmols mmols left a comment

Choose a reason for hiding this comment

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

This looks really great, just a few notes on organization / terminology.

Copy link
Copy Markdown

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🧹 Nitpick comments (1)
docs/services/managing.md (1)

17-18: Consider clarifying memory notation semantics.

The memory field examples show both "512M" and "1GiB" formats. While technically correct, note that container runtimes typically interpret "M" as mebibytes (1024-based) despite appearing to be SI notation. Consider adding a brief note about the runtime's interpretation to prevent confusion, or use explicit IEC notation ("512Mi") for consistency with Kubernetes conventions.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/services/managing.md` around lines 17 - 18, Update the `memory` field
description in the services/managing.md table to clarify runtime interpretation:
state that container runtimes commonly treat "M" as mebibytes (1024-based) and
recommend using explicit IEC notation (e.g., "512Mi" or "1Gi") for consistency
with Kubernetes conventions, or add a short parenthetical note next to the
`memory` entry explaining this behavior and preferred format; ensure the
`memory` table cell (the line describing the `memory` field) is updated
accordingly.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@docs/services/mcp.md`:
- Around line 199-235: The OpenAI example is missing the bootstrapping fields
used in other examples (init_token and init_users), causing inconsistency;
update the "OpenAI with Embeddings" example in the docs to either include the
same bootstrapping keys (add init_token and init_users to the top-level database
spec alongside id/spec and inside the service config where appropriate) matching
the pattern used in the "Minimal" and "Anthropic" examples, or add a short
clarifying note under the "OpenAI with Embeddings" heading that explains when
init_token and init_users can be omitted; reference the example title "OpenAI
with Embeddings" and the bootstrapping keys init_token and init_users to locate
where to change the snippet.

---

Nitpick comments:
In `@docs/services/managing.md`:
- Around line 17-18: Update the `memory` field description in the
services/managing.md table to clarify runtime interpretation: state that
container runtimes commonly treat "M" as mebibytes (1024-based) and recommend
using explicit IEC notation (e.g., "512Mi" or "1Gi") for consistency with
Kubernetes conventions, or add a short parenthetical note next to the `memory`
entry explaining this behavior and preferred format; ensure the `memory` table
cell (the line describing the `memory` field) is updated accordingly.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 3b801174-c1b1-401d-b77a-d1ac5834997c

📥 Commits

Reviewing files that changed from the base of the PR and between 8a1b2ba and 6790db5.

📒 Files selected for processing (2)
  • docs/services/managing.md
  • docs/services/mcp.md

Copy link
Copy Markdown

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

♻️ Duplicate comments (1)
docs/services/managing.md (1)

16-16: ⚠️ Potential issue | 🔴 Critical

Remove "rag" from service_type enum—not in API validation.

The table lists rag as a valid service_type, but the API schema only validates "mcp" and "postgrest". Requests with service_type: "rag" will fail validation.

📝 Proposed fix
-| `service_type` | string | Yes | The type of service to run. One of: `mcp`, `rag`, `postgrest`.                                                                                                   |
+| `service_type` | string | Yes | The type of service to run. One of: `mcp`, `postgrest`.                                                                                                   |
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/services/managing.md` at line 16, The docs table incorrectly lists "rag"
as an allowed value for service_type; update the documentation to match the API
validation by removing "rag" from the enum list (leave only "mcp" and
"postgrest" for service_type) or, if "rag" should be supported, add it to the
API schema/validation instead — ensure consistency between the service_type enum
in the docs and the API validation (referencing the service_type enum values
"mcp", "postgrest", and the currently incorrect "rag").
🧹 Nitpick comments (1)
docs/services/index.md (1)

94-94: Consider refining the grammar.

The phrase "when the service needs read/write access" could be refined to "when the service requires read/write access" for better grammar.

✏️ Proposed refinement
-- `svc_{service_id}_rw` is a read-write user with read and write access
-  to the database; this user is provisioned when the service needs
-  read/write access.
+- `svc_{service_id}_rw` is a read-write user with read and write access
+  to the database; this user is provisioned when the service requires
+  read/write access.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/services/index.md` at line 94, Replace the phrase "when the service
needs read/write access" with "when the service requires read/write access" in
the docs content so the sentence reads more grammatically correct; locate the
exact string "when the service needs read/write access" in the document and
update it to "when the service requires read/write access".
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@docs/services/index.md`:
- Line 18: Remove the unsupported "The pgEdge RAG Server" section from the
docs/services/index.md because the API schema's service_type enum in
api/apiv1/design/database.go only supports "mcp" and "postgrest"; delete the
lines that introduce the RAG Server section (the text starting with "The pgEdge
RAG Server *(coming soon)* enables retrieval-augmented") so documentation
matches the validated service types and avoid implying "rag" is supported until
you add it to the service_type enum.

---

Duplicate comments:
In `@docs/services/managing.md`:
- Line 16: The docs table incorrectly lists "rag" as an allowed value for
service_type; update the documentation to match the API validation by removing
"rag" from the enum list (leave only "mcp" and "postgrest" for service_type) or,
if "rag" should be supported, add it to the API schema/validation instead —
ensure consistency between the service_type enum in the docs and the API
validation (referencing the service_type enum values "mcp", "postgrest", and the
currently incorrect "rag").

---

Nitpick comments:
In `@docs/services/index.md`:
- Line 94: Replace the phrase "when the service needs read/write access" with
"when the service requires read/write access" in the docs content so the
sentence reads more grammatically correct; locate the exact string "when the
service needs read/write access" in the document and update it to "when the
service requires read/write access".

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: dc543155-3cbd-4d16-a2b2-1bc73d9fd28a

📥 Commits

Reviewing files that changed from the base of the PR and between 6790db5 and 0122907.

📒 Files selected for processing (4)
  • docs/services/index.md
  • docs/services/managing.md
  • docs/services/mcp.md
  • mkdocs.yml
✅ Files skipped from review due to trivial changes (2)
  • mkdocs.yml
  • docs/services/mcp.md

@rshoemaker rshoemaker merged commit 47fa6b2 into main Mar 25, 2026
3 checks passed
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