Skip to content

HYPERFLEET-1186 - docs: restructure documentation #194

Merged
openshift-merge-bot[bot] merged 2 commits into
openshift-hyperfleet:mainfrom
sherine-k:HYPERFLEET-1186
Jun 16, 2026
Merged

HYPERFLEET-1186 - docs: restructure documentation #194
openshift-merge-bot[bot] merged 2 commits into
openshift-hyperfleet:mainfrom
sherine-k:HYPERFLEET-1186

Conversation

@sherine-k

@sherine-k sherine-k commented Jun 16, 2026

Copy link
Copy Markdown
Contributor

Summary

Slim down README.md to a navigation hub and split deployment/development content into focused standalone guides so operators and developers can find what they need without cross-referencing multiple documents.

  • Add docs/deployment.md: Helm deployment guide covering the three-tier config mechanism (dedicated values, env list, adapterConfig.yaml blob), adapter/task/broker config sourcing options, tracing, auto-set env vars, and complete deployment examples (RabbitMQ + Maestro/Pub/Sub)

  • Add docs/development.md: developer setup, build, test, and dry-run guide

  • Slim README.md from ~530 to ~90 lines with audience-separated doc links (Operators / Adapter Authors / Developers / Architecture)

  • Add tracing (OpenTelemetry) section to docs/configuration.md and tracing troubleshooting section to docs/runbook.md

  • Add deployment guide link to charts/README.md.gotmpl and regenerate charts/README.md

  • HYPERFLEET-1186

Test Plan

  • Unit tests added/updated
  • make test-all passes
  • make lint passes
  • Helm chart changes validated with make test-helm (if applicable)
  • Deployed to a development cluster and verified (if Helm/config changes)
  • E2E tests passed (if cross-component or major changes)

@openshift-ci openshift-ci Bot requested review from kuudori and rafabene June 16, 2026 09:52
@coderabbitai

coderabbitai Bot commented Jun 16, 2026

Copy link
Copy Markdown

Warning

Review limit reached

@sherine-k, we couldn't start this review because you've reached your PR review rate limit.

More reviews will be available in 26 minutes and 26 seconds. Learn how PR review limits work.

Your organization has used up its prepaid credits, and credit purchases are no longer available. Enable the review add-on in the billing tab to keep reviews running — you're only billed for reviews past your plan's rate limits ($0.25/file).

⌛ How to resolve this issue?

After more reviews become available, 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 include higher PR review limits than trial, open-source, and free plans. In all cases, reviews become available again over time. During sustained high-volume PR review activity, CodeRabbit may temporarily slow when the next review becomes available.

Please see our Fair Usage Limits Policy for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Central YAML (base), Organization UI (inherited)

Review profile: CHILL

Plan: Enterprise

Run ID: 87a0c37b-6d83-4ac7-b441-ee851fe6f7b0

📥 Commits

Reviewing files that changed from the base of the PR and between 6def399 and 1ee7350.

📒 Files selected for processing (5)
  • docs/adapter-authoring-guide.md
  • docs/configuration.md
  • docs/conventions/cel.md
  • docs/deployment.md
  • docs/development.md
📝 Walkthrough

Walkthrough

Root README.md condensed to link-forward index, removing build/test/dry-run/deployment/logging sections. New docs/deployment.md documents Helm wiring for adapter config (YAML blob, dedicated values, env list), task config, broker config (Google Pub/Sub, RabbitMQ), OpenTelemetry tracing, GCP Workload Identity, and Minimal/Full examples. New docs/development.md covers clone/build/test workflows, Testcontainers + envtest integration test setup, Bingo tool management, container image build/push, and dry-run mode guide. docs/adapter-authoring-guide.md adds 404 precondition API handling (sets adapter.resourcesSkipped=true, adapter.skipReason="ResourceNotFound", skips resources phase), conditional post-actions via when.expression CEL gate, and ext.Strings() reference. docs/configuration.md clarifies adapter.version major/minor validation and documents HYPERFLEET_TRACING_ENABLED with OTEL_* environment variables. docs/runbook.md adds Tracing/OpenTelemetry troubleshooting section with log-pattern resolution table and binary-vs-Helm tracing default mismatch. Audience statements updated in conventions and metrics docs. Charts README updated with deployment guide pointer.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~15 minutes

🚥 Pre-merge checks | ✅ 11
✅ Passed checks (11 passed)
Check name Status Explanation
Title check ✅ Passed The title 'HYPERFLEET-1186 - docs: restructure documentation' directly and clearly describes the primary change: a restructuring of documentation across multiple files.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Sec-02: Secrets In Log Output ✅ Passed PR modifies only documentation (.md), templates (.gotmpl), YAML config examples, and CHANGELOG—no production Go source code changes. Existing codebase has no log statements logging passwords, token...
No Hardcoded Secrets ✅ Passed Three documentation files contain URLs with embedded credentials (user:pass@host pattern), but these are clearly in documentation code examples/samples explicitly marked as "Examples" sections, wit...
No Weak Cryptography ✅ Passed PR contains only documentation restructuring. No code changes introduce weak cryptography, banned crypto primitives (md5, des, rc4, SHA1 for security), custom crypto implementations, or non-constan...
No Injection Vectors ✅ Passed No injection vectors detected. SQL/database operations absent. Command injection: test-only exec.CommandContext with hardcoded, static args and #nosec comments. XSS: no template.HTML(). YAML unmars...
No Privileged Containers ✅ Passed No privileged containers found. Dockerfiles use non-root runtime users (65532). Helm values enforce allowPrivilegeEscalation: false, runAsUser: 65532, runAsNonRoot: true, drop ALL capabilities, rea...
No Pii Or Sensitive Data In Logs ✅ Passed All logging statements properly handle sensitive data: API payloads logged only at DEBUG level (disabled by default), request/response bodies gated by --dry-run-verbose flag, configuration redacted...
Description check ✅ Passed The pull request description directly addresses the changeset: restructuring documentation by slimming README.md into a navigation hub and splitting deployment/development content into focused guides (docs/deployment.md, docs/development.md).

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

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
✨ Simplify code
  • Create PR with simplified code

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.

@hyperfleet-ci-bot

hyperfleet-ci-bot Bot commented Jun 16, 2026

Copy link
Copy Markdown

Risk Score: 2 — risk/medium

Signal Detail Points
PR size 1150 lines (>500) +2
Sensitive paths none +0

Computed by hyperfleet-risk-scorer

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
docs/adapter-authoring-guide.md (1)

1549-1549: ⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Avoid plaintext credentials in documentation examples (CWE-798).

Line 1549 shows an inline password in the broker URL example. Even for documentation templates, demonstrate secret-reference patterns instead to avoid normalizing credential exposure.

Recommend revising to show Kubernetes Secret mounting or environment variable substitution:

broker:
  type: rabbitmq
  rabbitmq:
    url: "amqp://$(RABBITMQ_USER):$(RABBITMQ_PASS)`@rabbitmq`:5672/"

Or reference the pattern from the deployment guide for Secret-backed credentials.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/adapter-authoring-guide.md` at line 1549, The RabbitMQ URL example in
the broker configuration contains hardcoded credentials (the inline password in
the "amqp://user:pass@rabbitmq:5672/" URL), which exposes security risks.
Replace the hardcoded credentials with environment variable references like
RABBITMQ_USER and RABBITMQ_PASS using variable substitution syntax, or
alternatively reference the existing Secret-backed credentials pattern
documented in the deployment guide to demonstrate secure credential handling.
This ensures the documentation examples promote best practices for secret
management instead of normalizing credential exposure.

Source: Coding guidelines

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Outside diff comments:
In `@docs/adapter-authoring-guide.md`:
- Line 1549: The RabbitMQ URL example in the broker configuration contains
hardcoded credentials (the inline password in the
"amqp://user:pass@rabbitmq:5672/" URL), which exposes security risks. Replace
the hardcoded credentials with environment variable references like
RABBITMQ_USER and RABBITMQ_PASS using variable substitution syntax, or
alternatively reference the existing Secret-backed credentials pattern
documented in the deployment guide to demonstrate secure credential handling.
This ensures the documentation examples promote best practices for secret
management instead of normalizing credential exposure.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Central YAML (base), Organization UI (inherited)

Review profile: CHILL

Plan: Enterprise

Run ID: 5bbf0ef7-a3e5-4a7e-afaa-51d97e2ab2d2

📥 Commits

Reviewing files that changed from the base of the PR and between defc3af and 319a052.

📒 Files selected for processing (11)
  • README.md
  • charts/README.md
  • charts/README.md.gotmpl
  • docs/adapter-authoring-guide.md
  • docs/configuration.md
  • docs/conventions/cel.md
  • docs/conventions/logging.md
  • docs/deployment.md
  • docs/development.md
  • docs/metrics.md
  • docs/runbook.md
🔗 Linked repositories identified

CodeRabbit considers these linked repositories for cross-repo context during reviews:

  • openshift-hyperfleet/architecture (manual)
  • openshift-hyperfleet/hyperfleet-api (manual)
  • openshift-hyperfleet/hyperfleet-sentinel (manual)
  • openshift-hyperfleet/hyperfleet-adapter (manual)
  • openshift-hyperfleet/hyperfleet-broker (manual)

Comment thread docs/deployment.md Outdated
| `broker.rabbitmq.queue` | Queue name (required) | `""` |
| `broker.rabbitmq.exchange` | Exchange name (required) | `""` |
| `broker.rabbitmq.exchangeType` | Exchange type | `topic` |
| `broker.rabbitmq.routingKey` | Routing key (required) | `""` |

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

As discussed, this is not really requried

… development guides

  Slim down README.md to a navigation hub and split deployment/development
  content into focused standalone guides so operators and developers can
  find what they need without cross-referencing multiple documents.

  - Add docs/deployment.md: Helm deployment guide covering the three-tier
    config mechanism (dedicated values, env list, adapterConfig.yaml blob),
    adapter/task/broker config sourcing options, tracing, auto-set env vars,
    and complete deployment examples (RabbitMQ + Maestro/Pub/Sub)
  - Add docs/development.md: developer setup, build, test, and dry-run guide
  - Slim README.md from ~530 to ~90 lines with audience-separated doc links
    (Operators / Adapter Authors / Developers / Architecture)
  - Add tracing (OpenTelemetry) section to docs/configuration.md and
    tracing troubleshooting section to docs/runbook.md
  - Add deployment guide link to charts/README.md.gotmpl and regenerate
    charts/README.md
  - Add CHANGELOG.md unreleased section covering v0.2.0..HEAD changes
  - Update example values and adapter-config for RabbitMQ defaults
Comment thread docs/development.md Outdated
- **Docker or Podman** must be running (both supported)
- The Makefile automatically detects and configures your container runtime
- **Podman users**: Corporate proxy settings are auto-detected from Podman machine. Define and export the environment variable :
```

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Tip

nit — non-blocking suggestion

Category: Pattern

This code fence is missing a language identifier (MD040). All other code blocks in this file use bash or json. Adding bash here keeps it consistent and enables syntax highlighting.

Suggested change
```
```bash

Comment thread docs/development.md Outdated
@@ -0,0 +1,183 @@
# Setup

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Tip

nit — non-blocking suggestion

Category: Pattern

All other docs in this directory start with a document title and audience statement (deployment.md, adapter-authoring-guide.md, metrics.md, runbook.md, etc.). This file jumps straight to # Setup. Consider adding a title and audience line for consistency:

Suggested change
# Setup
# Development Guide
> **Audience:** Developers building and testing the adapter locally.
## Setup

This also fixes the heading hierarchy — the current # Setup, # Verification, # Make Targets etc. would become ##-level sections under the document title.

Comment thread docs/configuration.md Outdated
| `OTEL_TRACES_SAMPLER` | Sampler type (`always_on`, `always_off`, `traceidratio`, `parentbased_*`) | `parentbased_traceidratio` |
| `OTEL_TRACES_SAMPLER_ARG` | Sampling ratio (0.0–1.0) | `1.0` |

When no `OTEL_EXPORTER_OTLP_ENDPOINT` is set, traces are written to stdout for local development.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Tip

nit — non-blocking suggestion

Category: Improvement

Trailing whitespace at end of line. Some editors and linters flag this.

Suggested change
When no `OTEL_EXPORTER_OTLP_ENDPOINT` is set, traces are written to stdout for local development.
When no `OTEL_EXPORTER_OTLP_ENDPOINT` is set, traces are written to stdout for local development.

@rafabene

Copy link
Copy Markdown
Contributor

Tip

nit — non-blocking suggestion

Category: Pattern

The PR description mentions two changes that aren't in the diff:

  • "Add CHANGELOG.md unreleased section covering v0.2.0..HEAD changes"
  • "Update example values and adapter-config for RabbitMQ defaults"

If these were intentionally dropped, updating the description avoids confusion for reviewers.

@sherine-k

Copy link
Copy Markdown
Contributor Author

/test helm-test

@rafabene

Copy link
Copy Markdown
Contributor

/lgtm

@openshift-ci

openshift-ci Bot commented Jun 16, 2026

Copy link
Copy Markdown

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: rafabene

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@openshift-merge-bot openshift-merge-bot Bot merged commit 34ceb40 into openshift-hyperfleet:main Jun 16, 2026
9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants