Skip to content

docs: correct stale output-mode and informer-filtering claims; drop stray manifests - #588

Merged
leecalcote merged 2 commits into
masterfrom
chore/meshsync-docs-hygiene
Jul 5, 2026
Merged

leecalcote merged 2 commits into
masterfrom
chore/meshsync-docs-hygiene

Conversation

@leecalcote

Copy link
Copy Markdown
Member

Description

Documentation and repo hygiene sweep; no functional changes.

  • README named the default output mode "nats"; the actual -output flag value is broker (internal/config/types.go). Renamed and clarified that broker mode publishes to Meshery Broker over NATS.
  • docs/agent-instructions/architecture.md claimed the dynamic informer factory is filtered by a label selector derived from the informer blacklist. GetListOptionsFunc is 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.
  • Removed cert-manager pod dumps accidentally committed at the repo root (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) and internal/config/types.go (OutputModeBroker).

…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>
@leecalcote

Copy link
Copy Markdown
Member Author

/gemini review

@github-actions github-actions Bot added the area/docs Improvements or additions to documentation label Jul 5, 2026

@gemini-code-assist gemini-code-assist Bot left a comment

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.

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.

@leecalcote
leecalcote requested a review from Copilot July 5, 2026 00:35

@gemini-code-assist gemini-code-assist Bot left a comment

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.

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.

Copilot AI left a comment

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.

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.md to reflect that informer “filtering” is done via watch-list configuration (what informers get registered), and GetListOptionsFunc is 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.

Comment thread README.md
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.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

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.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

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>
@github-actions github-actions Bot added the language/go Golang related label Jul 5, 2026
@leecalcote leecalcote closed this Jul 5, 2026
@leecalcote
leecalcote deleted the chore/meshsync-docs-hygiene branch July 5, 2026 01:07
@leecalcote
leecalcote restored the chore/meshsync-docs-hygiene branch July 5, 2026 01:08
@leecalcote leecalcote reopened this Jul 5, 2026
@leecalcote
leecalcote merged commit 2dcea07 into master Jul 5, 2026
10 checks passed
@leecalcote
leecalcote deleted the chore/meshsync-docs-hygiene branch July 5, 2026 01:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/docs Improvements or additions to documentation language/go Golang related

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants