docs: correct stale output-mode and informer-filtering claims; drop stray manifests - #588
Conversation
…tray manifests - README named the default output mode "nats"; the -output flag value is "broker" (internal/config/types.go). Rename and clarify that broker mode publishes to Meshery Broker over NATS. - docs/agent-instructions/architecture.md claimed the dynamic informer factory filters via a label selector derived from the informer blacklist; GetListOptionsFunc is a deliberate no-op and filtering happens in the watch-list config (internal/config/crd_config.go). - Remove cert-manager pod dumps accidentally committed at the repo root (all-certmgs.yaml, cert-manager-cainjector-*.yaml, cert-manager-webhook-*.yaml); referenced nowhere. Signed-off-by: Lee Calcote <lee.calcote@layer5.io>
|
/gemini review |
There was a problem hiding this comment.
Code Review
This pull request updates the documentation in README.md and docs/agent-instructions/architecture.md to clarify MeshSync's output modes (updating 'nats' to 'broker') and explain how resource filtering is handled via the watch-list configuration. Additionally, two unused Kubernetes Pod manifest files were removed. There are no review comments, and I have no feedback to provide.
Important
The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.
There was a problem hiding this comment.
Code Review
This pull request updates the documentation in README.md and docs/agent-instructions/architecture.md to clarify MeshSync's output modes and explain how resource filtering is handled in GetDynamicInformer. It also removes two Kubernetes pod specification files for cert-manager components. There are no review comments, so no additional feedback is provided.
Important
The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.
There was a problem hiding this comment.
Pull request overview
Documentation and repository hygiene update for MeshSync: aligns docs with the actual -output flag value (broker) and corrects an inaccurate description of informer filtering, while removing accidentally committed cert-manager pod dump manifests from the repo root.
Changes:
- Update README to document output mode as broker (default) vs file, clarifying broker mode publishes to Meshery Broker over NATS.
- Correct
docs/agent-instructions/architecture.mdto reflect that informer “filtering” is done via watch-list configuration (what informers get registered), andGetListOptionsFuncis intentionally a no-op. - Delete stray cert-manager pod dump YAML files from the repository root.
Reviewed changes
Copilot reviewed 4 out of 5 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| README.md | Corrects documented default output mode to broker and clarifies what broker mode does. |
| docs/agent-instructions/architecture.md | Fixes stale/incorrect description of informer filtering behavior to match current implementation. |
| cert-manager-webhook-847d7676c9-89rtq.yaml | Removes accidentally committed cert-manager pod dump manifest. |
| cert-manager-cainjector-c7d4dbdd9-jlstt.yaml | Removes accidentally committed cert-manager pod dump manifest. |
| all-certmgs.yaml | Removes accidentally committed cert-manager manifest dump. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| MeshSync is Meshery's event-driven, continuous discovery and synchronization engine. It ensures that the configuration and operational state of Kubernetes (and any supported Meshery platform) are known to Meshery Server. When deployed into a Kubernetes cluster, MeshSync runs as a custom controller under the control of [Meshery Operator](https://docs.meshery.io/concepts/architecture/operator) and publishes resource changes over Meshery Broker (NATS). | ||
|
|
||
| MeshSync runs in one of two modes: **nats** (default - publishes Kubernetes resource events to NATS) and **file** (writes deduplicated cluster snapshots to disk, with no NATS or CRD dependency). Run `meshsync --help` for input parameters. | ||
| MeshSync runs in one of two output modes: **broker** (default - publishes Kubernetes resource events to Meshery Broker over NATS) and **file** (writes deduplicated cluster snapshots to disk, with no NATS or CRD dependency). Run `meshsync --help` for input parameters. |
There was a problem hiding this comment.
Good catch. Swept the remaining mentions in ed83861: the -outputNamespaces / -outputResources flag help text in main.go and the determineUseCRDFlag comment in pkg/lib/meshsync/meshsync.go (which also referenced a nonexistent channel output mode).
| - `main.go` parses flags (`-output`, `-outputFile`, `-outputNamespaces`, `-outputResources`, `-stopAfter`) and calls `pkg/lib/meshsync.Run(...)`. | ||
| - `meshsync.Handler` (`meshsync/meshsync.go`) holds the config, logger, broker handle, dynamic informer factory, kube client, channel pool, output writer, and output-filtration config. `meshsync.New(...)` wires them together and derives the cluster ID via `pkg/utils.GetClusterID`. | ||
| - `GetDynamicInformer` builds a `dynamicinformer.DynamicSharedInformerFactory` filtered by a label selector derived from the config's informer blacklist. | ||
| - `GetDynamicInformer` builds a `dynamicinformer.DynamicSharedInformerFactory`. Resource filtering happens in the watch-list config (`internal/config/crd_config.go` decides which informers get registered); the factory's list-options hook (`GetListOptionsFunc`) is a deliberate no-op. |
There was a problem hiding this comment.
Updated in ed83861. Corrected both spots in docs/design/fd5-periodic-reconciliation.md: the reconcile-LIST parenthetical and the scale-mitigation bullet now state that GetListOptionsFunc is a deliberate no-op and that reconcile scope comes from which informer pipelines are registered from the watch-list config.
Review follow-up: align the -outputNamespaces/-outputResources flag help text and the determineUseCRDFlag comment with the actual broker output mode (and drop the reference to a nonexistent channel output mode), and correct fd5-periodic-reconciliation.md where it still described GetListOptionsFunc as a blacklist label selector. Signed-off-by: Lee Calcote <lee.calcote@layer5.io>
Description
Documentation and repo hygiene sweep; no functional changes.
-outputflag value isbroker(internal/config/types.go). Renamed and clarified that broker mode publishes to Meshery Broker over NATS.docs/agent-instructions/architecture.mdclaimed the dynamic informer factory is filtered by a label selector derived from the informer blacklist.GetListOptionsFuncis a deliberate no-op; filtering happens in the watch-list config (internal/config/crd_config.go), which decides which informers get registered. Corrected the sentence.all-certmgs.yaml,cert-manager-cainjector-c7d4dbdd9-jlstt.yaml,cert-manager-webhook-847d7676c9-89rtq.yaml). They are referenced nowhere in the build, tests, or docs.Found while auditing MeshSync behavior against its documentation.
Notes for Reviewers
Docs-only plus file deletions; verify the corrected architecture sentence matches
meshsync/meshsync.go(GetListOptionsFunc) andinternal/config/types.go(OutputModeBroker).