Skip to content

docs: Add a 10,000 m view of kpt and Porch - #4815

Open
SurbhiAgarwal1 wants to merge 1 commit into
kptdev:mainfrom
SurbhiAgarwal1:docs/4806-10000m-view-kpt-and-porch
Open

SurbhiAgarwal1 wants to merge 1 commit into
kptdev:mainfrom
SurbhiAgarwal1:docs/4806-10000m-view-kpt-and-porch

Conversation

@SurbhiAgarwal1

@SurbhiAgarwal1 SurbhiAgarwal1 commented Oct 18, 2026 •

Copy link
Copy Markdown
Contributor

Description
This PR adds a comprehensive 10,000-meter architectural guide for kpt and Porch to the documentation as requested in #4806.

  • Created documentation/content/en/guides/10000-m-view.md detailing:
    • The Configuration as Data (CaD) foundation.
    • The two pillars: client-side kpt CLI vs. server-side Porch control plane.
    • Architecture overview and sequence diagrams (Mermaid) showing the end-to-end multi-cluster workflow.
    • Porch package lifecycle state machine (Draft ➔ Proposed ➔ Published).
    • Feature comparison table between kpt CLI and Porch.
    • Guidance on when to use kpt vs. Porch and how they integrate with GitOps (Config Sync, Flux, Argo CD) and Nephio.
  • Updated documentation/content/en/guides/_index.md with a reference link to the guide.
  • Updated documentation/content/en/book/02-concepts/_index.md to introduce Porch under toolchain components and reference the 10,000 m view guide.

Motivation
While kpt documentation covers the CLI and KRM functions in depth, the relationship between kpt (client-side) and Porch (server-side package orchestration) was not clearly documented at a high level. This 10,000 m view helps users, platform architects, and contributors understand how kpt and Porch fit together across the entire package lifecycle.

Testing

  • Verified spelling across docs with misspell (make verify in documentation/).
  • Verified Docsy link references (relref) and Mermaid diagram syntax.

Closes #4806
Part of #4711

@SurbhiAgarwal1
SurbhiAgarwal1 requested review from a team and a balanced review from Copilot October 18, 2026 08:50
@netlify

netlify Bot commented Oct 18, 2026 •

Copy link
Copy Markdown

✅ Deploy Preview for kptdocs ready!

Name Link
🔨 Latest commit 226c271
🔍 Latest deploy log https://app.netlify.com/projects/kptdocs/deploys/6ad5200c03a02137c5556875
😎 Deploy Preview https://deploy-preview-4815--kptdocs.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.
🤖 Make changes Run an agent on this branch

To edit notification comments on pull requests, go to your Netlify project configuration.

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.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@SurbhiAgarwal1
SurbhiAgarwal1 force-pushed the docs/4806-10000m-view-kpt-and-porch branch from e6858db to 8c01e05 Compare October 18, 2026 09:48
@efiacor
efiacor requested a balanced review from Copilot October 18, 2026 18:58

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.

🟡 Changes recommended

Architectural claims and secret-handling guidance need correction before publication.

3 open issues

Review effort: Balanced

configuration easy to create and transform, via reusable functions. Because they are expected to be used for in-place
transformation, the functions need to be idempotent.

- [**Porch (Package Orchestration)**](https://docs.porch.nephio.org/): A Kubernetes-native control plane ("kpt-as-a-service") that exposes package operations as declarative Kubernetes resources (`PackageRevision`). Porch automates package cloning, server-side function evaluation, GitOps synchronization, and multi-stage lifecycle governance (`Draft` ➔ `Proposed` ➔ `Published`) across enterprise fleets.
* **Declarative and Uniform**: Configuration is represented purely as data conforming to the [Kubernetes Resource Model (KRM)](https://github.com/kubernetes/design-proposals-archive/blob/main/architecture/resource-management.md), stored directly as serializable YAML/JSON.
* **Separation of Code and Data**: Instead of embedding programming logic or template directives inside configuration files (such as `{{ if .Values.enabled }}`), configuration files remain clean KRM data.
* **In-Place Transformation via KRM Functions**: Specialized, containerized programs (KRM functions) read KRM resources from an input stream, mutate or validate them, and output the updated resources in-place.
* **Git as the Single Source of Truth**: All configurations are versioned, audited, and stored in standard Git repositories, making operations fully inspectable and reproducible.
### 2. Fleet Orchestration (Porch)
When a development team needs a database instance in their development, staging, or production cluster:
1. Porch clones the blueprint from the catalog repository into the team's deployment repository as a `Draft` revision.
2. Porch automatically runs specialized mutator functions to inject site-specific configuration (such as namespace, storage classes, network policies, or credentials).
Add a comprehensive architectural guide providing a high-level (10,000 m)
overview of kpt and Porch within the Configuration as Data (CaD) paradigm.

- Add guides/10000-m-view.md covering the core CaD principles, client-side
  kpt CLI capabilities, server-side Porch control plane architecture,
  Mermaid interaction and lifecycle state diagrams, comparison table, and
  end-to-end multi-cluster workflows.
- Update guides/_index.md to link to the new guide.
- Update book/02-concepts/_index.md to introduce Porch under toolchain
  components and reference the 10,000 m view guide.

Closes kptdev#4806
Part of kptdev#4711

Signed-off-by: SurbhiAgarwal <agarwalsurbhi1807@gmail.com>
@SurbhiAgarwal1
SurbhiAgarwal1 force-pushed the docs/4806-10000m-view-kpt-and-porch branch from 8c01e05 to 226c271 Compare October 18, 2026 19:37
@SurbhiAgarwal1

Copy link
Copy Markdown
Contributor Author

Hi @efiacor , I have addressed all three suggestions in the latest commit:

  1. Porch publication vs. GitOps reconciliation: Clarified that Porch manages package authoring and publication, while separate GitOps synchronizers (Config Sync, Flux, Argo CD) handle actuation to workload clusters.
  2. Storage options for Configuration as Data: Generalized the principle to "Versioned Source of Truth", highlighting Git as the common choice while noting OCI repository support.
  3. Secret handling: Updated the fleet orchestration example to reference externally managed secrets rather than injecting credentials into manifests.

All checks are passing and the commit signature is verified. Ready for review!

This branch has not been deployed

No deployments
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.

Add a 10000 m view of kpt and Porch to the documentation

2 participants