Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
38 commits
Select commit Hold shift + click to select a range
9c6ecc7
Improve MCP Server developer guide navigation and examples
JakeSCahill Dec 23, 2025
dbeeb8d
Add commercial names
JakeSCahill Dec 23, 2025
e07a7f9
Update modules/components/pages/processors/aws_dynamodb_partiql.adoc
JakeSCahill Dec 23, 2025
6963112
Update modules/components/pages/processors/unarchive.adoc
JakeSCahill Dec 23, 2025
b670d77
Restructure MCP server docs for better navigation and cloud alignment
JakeSCahill Jan 5, 2026
4b3217c
Add alias
JakeSCahill Jan 5, 2026
b187fa6
Single-source key terms and fix conditional processing example
JakeSCahill Jan 6, 2026
2486a27
Update local-antora-playbook.yml
JakeSCahill Jan 6, 2026
77260e5
Update local-antora-playbook.yml
JakeSCahill Jan 6, 2026
3d203e5
Add HTTP testing workflow and documentation improvements
JakeSCahill Jan 6, 2026
a531927
Remove section
JakeSCahill Jan 6, 2026
e4f007b
No gerund
JakeSCahill Jan 6, 2026
1af3cc6
Add new workflows
JakeSCahill Jan 6, 2026
c48adc7
Update modules/ai-agents/examples/best-practices/mcp-metadata/tool-na…
JakeSCahill Jan 6, 2026
393e274
Update architecture
JakeSCahill Jan 7, 2026
c885d0d
Update branch
JakeSCahill Jan 7, 2026
9a0f057
Minor fixes
JakeSCahill Jan 7, 2026
e147ad4
Delete page
JakeSCahill Jan 7, 2026
bb62f9a
Fix persona IDs in MCP documentation
JakeSCahill Jan 7, 2026
c29fcfc
Merge branch 'improve-mcp-devex' of https://github.com/redpanda-data/…
JakeSCahill Jan 7, 2026
285ce6c
Add version
JakeSCahill Jan 7, 2026
306087d
Reorganize partials into directories and add metadata in comments
JakeSCahill Jan 8, 2026
bc78095
Simplify best practices
JakeSCahill Jan 8, 2026
3794379
Restructure
JakeSCahill Jan 8, 2026
cb4cd4e
Add info about labels
JakeSCahill Jan 9, 2026
d7482fd
Add info about directory
JakeSCahill Jan 9, 2026
47591a5
Add anchors
JakeSCahill Jan 9, 2026
84cf628
Three learning objectives max
JakeSCahill Jan 11, 2026
11a98e0
Update modules/ai-agents/pages/mcp-server/quickstart.adoc
JakeSCahill Jan 12, 2026
3cac6f2
Update create-tool.adoc
JakeSCahill Jan 12, 2026
2964344
Restructure
JakeSCahill Jan 12, 2026
ec2d77d
Merge branch 'improve-mcp-devex' of https://github.com/redpanda-data/…
JakeSCahill Jan 12, 2026
bf52910
Update title
JakeSCahill Jan 12, 2026
d88080b
Apply suggestions
JakeSCahill Jan 13, 2026
bbdcee1
Fix link
JakeSCahill Jan 13, 2026
4dd54e5
Update modules/ROOT/nav.adoc
JakeSCahill Jan 13, 2026
0d52b8f
Update modules/ai-agents/pages/mcp-server/best-practices.adoc
JakeSCahill Jan 13, 2026
d7b03bc
Update concepts.adoc
JakeSCahill Jan 13, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
78 changes: 78 additions & 0 deletions .github/workflows/regenerate-on-overrides.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
name: Regenerate Docs on Override Changes

on:
push:
paths:
- 'docs-data/overrides.json'
branches-ignore:
- main

jobs:
regenerate-docs:
runs-on: ubuntu-latest

permissions:
id-token: write
contents: read

env:
NODE_VERSION: '24'
DOCS_OVERRIDES: docs-data/overrides.json

steps:
- uses: aws-actions/configure-aws-credentials@v4
with:
aws-region: ${{ vars.RP_AWS_CRED_REGION }}
role-to-assume: arn:aws:iam::${{ secrets.RP_AWS_CRED_ACCOUNT_ID }}:role/${{ vars.RP_AWS_CRED_BASE_ROLE_NAME }}${{ github.event.repository.name }}
- uses: aws-actions/aws-secretsmanager-get-secrets@v2
with:
secret-ids: |
,sdlc/prod/github/actions_bot_token
parse-json-secrets: true

- name: Checkout repository
uses: actions/checkout@v4
with:
token: ${{ env.ACTIONS_BOT_TOKEN }}

- name: Set up Node.js
uses: actions/setup-node@v3
with:
node-version: ${{ env.NODE_VERSION }}
cache: 'npm'

- name: Install dependencies
run: npm install

- name: Install tools
run: |
npx --no-install doc-tools install-test-dependencies
rpk connect install

- name: Regenerate docs with updated overrides
run: |
npx --no-install doc-tools generate rpcn-connector-docs \
--fetch-connectors \
--overrides $DOCS_OVERRIDES \
--draft-missing \
--update-whats-new

- name: Commit and push if changed
run: |
git config user.name "github-actions[bot]"
git config user.email "github-actions[bot]@users.noreply.github.com"

if git diff --quiet && git diff --staged --quiet; then
echo "No changes after regeneration"
else
git add -A
git commit -m "docs: Regenerate with updated overrides"

# Use --force-with-lease to avoid overwriting concurrent changes
if ! git push --force-with-lease; then
echo "Push failed, fetching and rebasing..."
git fetch origin ${{ github.ref_name }}
git rebase origin/${{ github.ref_name }}
git push --force-with-lease
fi
fi
2 changes: 1 addition & 1 deletion .github/workflows/test-cookbooks.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
category: [jira, enrichments, filtering]
category: [jira]
fail-fast: false

steps:
Expand Down
78 changes: 58 additions & 20 deletions .github/workflows/test-mcp-examples.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,16 +5,16 @@ on:
branches: [main]
paths:
- 'modules/ai-agents/examples/**/*.yaml'
- 'modules/ai-agents/examples/test-mcp-examples.sh'
- 'modules/ai-agents/examples/test-all.sh'
pull_request:
branches: [main]
paths:
- 'modules/ai-agents/examples/**/*.yaml'
- 'modules/ai-agents/examples/test-mcp-examples.sh'
- 'modules/ai-agents/examples/test-all.sh'

jobs:
lint-and-test:
name: Lint and Test All Examples
test-all:
name: Test All Examples
runs-on: ubuntu-latest

steps:
Expand All @@ -35,21 +35,16 @@ jobs:
rpk connect install

- name: Make test script executable
run: chmod +x modules/ai-agents/examples/test-mcp-examples.sh
run: chmod +x modules/ai-agents/examples/test-all.sh

# Test all examples
- name: Run automated test script
- name: Run comprehensive test suite
run: |
cd modules/ai-agents/examples
./test-mcp-examples.sh
./test-all.sh

test-matrix:
name: Test Examples by Component Type
test-mcp-tools:
name: Test MCP Tools
runs-on: ubuntu-latest
strategy:
matrix:
component: [processors, inputs, outputs, caches, o11y]
fail-fast: false

steps:
- name: Checkout code
Expand All @@ -58,20 +53,63 @@ jobs:
- name: Install dependencies
run: npm install

- name: Install yq
- name: Install tools
run: |
sudo wget -qO /usr/local/bin/yq https://github.com/mikefarah/yq/releases/latest/download/yq_linux_amd64
sudo chmod +x /usr/local/bin/yq
npx doc-tools install-test-dependencies
rpk connect install

- name: Make test script executable
run: chmod +x modules/ai-agents/examples/test-all.sh

- name: Test MCP tool definitions
run: |
cd modules/ai-agents/examples
./test-all.sh --mcp-only

test-pipelines:
name: Test Pipelines
runs-on: ubuntu-latest

steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Install dependencies
run: npm install

- name: Install tools
run: |
npx doc-tools install-test-dependencies
rpk connect install

- name: Make test script executable
run: chmod +x modules/ai-agents/examples/test-all.sh

- name: Test pipeline examples
run: |
cd modules/ai-agents/examples
./test-all.sh --pipelines

test-snippets:
name: Test Snippets
runs-on: ubuntu-latest

steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Install dependencies
run: npm install

- name: Install tools
run: |
npx doc-tools install-test-dependencies
rpk connect install

- name: Make test script executable
run: chmod +x modules/ai-agents/examples/test-mcp-examples.sh
run: chmod +x modules/ai-agents/examples/test-all.sh

- name: Test ${{ matrix.component }} examples
- name: Test config snippets
run: |
cd modules/ai-agents/examples
./test-mcp-examples.sh ${{ matrix.component }}
./test-all.sh --snippets
147 changes: 134 additions & 13 deletions .github/workflows/update-docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,13 +13,15 @@ jobs:
id-token: write
contents: read

# Allow concurrent runs
concurrency:
group: update-rpcn-connector-docs
cancel-in-progress: true
cancel-in-progress: false

env:
NODE_VERSION: '22'
NODE_VERSION: '24'
DOCS_OVERRIDES: docs-data/overrides.json
AUTO_BRANCH: auto-docs/update-rpcn-connector-docs

steps:
- uses: aws-actions/configure-aws-credentials@v4
Expand All @@ -36,6 +38,58 @@ jobs:
uses: actions/checkout@v4
with:
token: ${{ env.ACTIONS_BOT_TOKEN }}
fetch-depth: 0 # Full history for rebasing

- name: Check for existing PR branch and set up workspace
id: setup
run: |
git config user.name "github-actions[bot]"
git config user.email "github-actions[bot]@users.noreply.github.com"

# Check if the auto-docs branch exists on remote
if git ls-remote --heads origin $AUTO_BRANCH | grep -q "$AUTO_BRANCH"; then
echo "branch_exists=true" >> "$GITHUB_OUTPUT"
echo "Found existing branch $AUTO_BRANCH"

# Fetch and checkout the existing branch
git fetch origin $AUTO_BRANCH
git checkout $AUTO_BRANCH

# Rebase on main to get latest changes
if git rebase origin/main; then
echo "rebase_success=true" >> "$GITHUB_OUTPUT"
echo "Successfully rebased on main"
else
echo "rebase_success=false" >> "$GITHUB_OUTPUT"
echo "Rebase failed - will handle conflicts"
git rebase --abort
# Stay on the branch but note we couldn't rebase
fi

# Check for manual commits (commits not from the bot)
MANUAL_COMMITS=$(git log origin/main..$AUTO_BRANCH --author="^(?!github-actions).*" --perl-regexp --oneline | head -20)
if [ -n "$MANUAL_COMMITS" ]; then
echo "has_manual_commits=true" >> "$GITHUB_OUTPUT"
echo "Found manual commits:"
echo "$MANUAL_COMMITS"
# Save the list for the PR body
{
echo "manual_commits<<EOF"
echo "$MANUAL_COMMITS"
echo "EOF"
} >> "$GITHUB_OUTPUT"
else
echo "has_manual_commits=false" >> "$GITHUB_OUTPUT"
fi
else
echo "branch_exists=false" >> "$GITHUB_OUTPUT"
echo "has_manual_commits=false" >> "$GITHUB_OUTPUT"
echo "rebase_success=true" >> "$GITHUB_OUTPUT"
echo "Branch $AUTO_BRANCH does not exist, will create new"

# Create new branch from main
git checkout -b $AUTO_BRANCH
fi

- name: Set up Node.js (with npm cache)
uses: actions/setup-node@v3
Expand Down Expand Up @@ -77,25 +131,92 @@ jobs:

rm -f full_output.txt delta_report.md

- name: Check if branch already exists
id: check_branch
- name: Check for changes
id: changes
run: |
if git ls-remote --heads origin auto-docs/update-rpcn-connector-docs | grep -q auto-docs; then
echo "exists=true" >> "$GITHUB_OUTPUT"
echo "Branch auto-docs/update-rpcn-connector-docs already exists. Skipping PR creation to preserve manual changes."
if git diff --quiet && git diff --staged --quiet; then
echo "has_changes=false" >> "$GITHUB_OUTPUT"
echo "No changes detected"
else
echo "exists=false" >> "$GITHUB_OUTPUT"
echo "Branch does not exist. Will create new PR."
echo "has_changes=true" >> "$GITHUB_OUTPUT"
echo "Changes detected:"
git status --short
fi

- name: Create Pull Request
if: steps.check_branch.outputs.exists == 'false'
- name: Commit and push changes
if: steps.changes.outputs.has_changes == 'true'
id: commit
run: |
git add -A

# Create commit message with timestamp for tracking
TIMESTAMP=$(date -u +"%Y-%m-%d %H:%M UTC")
git commit -m "docs: Update RPCN connector docs

Auto-generated at $TIMESTAMP"

# Push to the branch
if git push origin $AUTO_BRANCH --force-with-lease; then
echo "push_success=true" >> "$GITHUB_OUTPUT"
else
echo "push_success=false" >> "$GITHUB_OUTPUT"
echo "Push failed - likely a concurrent update. Will retry."

# Fetch latest and try to rebase our commit
git fetch origin $AUTO_BRANCH
if git rebase origin/$AUTO_BRANCH; then
git push origin $AUTO_BRANCH --force-with-lease
echo "push_success=true" >> "$GITHUB_OUTPUT"
else
echo "push_success=false" >> "$GITHUB_OUTPUT"
git rebase --abort
fi
fi

- name: Create or Update Pull Request
if: steps.changes.outputs.has_changes == 'true' && steps.commit.outputs.push_success == 'true'
uses: peter-evans/create-pull-request@v6
with:
token: ${{ env.ACTIONS_BOT_TOKEN }}
base: main
branch: auto-docs/update-rpcn-connector-docs
branch: ${{ env.AUTO_BRANCH }}
title: 'auto-docs: Update RPCN connector docs'
commit-message: 'docs: Update RPCN connector docs'
body: ${{ steps.generate.outputs.delta_report }}
body: |
${{ steps.generate.outputs.delta_report }}

${{ steps.setup.outputs.has_manual_commits == 'true' && format('
---

⚠️ **This PR contains manual commits that have been preserved:**

```
{0}
```

The automation has added new changes on top of these manual edits.
', steps.setup.outputs.manual_commits) || '' }}
labels: auto-docs
# Don't delete branch on merge - let the normal PR process handle it
delete-branch: false

- name: Handle no changes
if: steps.changes.outputs.has_changes == 'false'
run: |
echo "No documentation changes detected. This could mean:"
echo "- The connector docs are already up to date"
echo "- The generation produced identical output"
echo ""
if [ "${{ steps.setup.outputs.branch_exists }}" == "true" ]; then
echo "Existing PR branch preserved with any manual changes intact."
fi

- name: Handle push failure
if: steps.changes.outputs.has_changes == 'true' && steps.commit.outputs.push_success == 'false'
run: |
echo "::error::Failed to push changes after retry. This usually means:"
echo "- Another automation run is in progress"
echo "- There are unresolvable conflicts"
echo ""
echo "Manual intervention may be required."
exit 1
Loading