[Multi_K8s-Plugin] Update plugin README to release standard#6977
[Multi_K8s-Plugin] Update plugin README to release standard#6977mohammedfirdouss wants to merge 5 commits into
Conversation
4d482fd to
d31dd09
Compare
Signed-off-by: Mohammed Firdous <124298708+mohammedfirdouss@users.noreply.github.com>
d31dd09 to
ed0f228
Compare
…plugin Signed-off-by: Mohammed Firdous <124298708+mohammedfirdouss@users.noreply.github.com>
d7f8ee0 to
0fb100e
Compare
|
@rahulshendre @eeshaanSA @khanhtc1202 please review when free |
Ayushmore1214
left a comment
There was a problem hiding this comment.
it feels a little long, but honestly that's mostly repetition rather than too much info. The kind: Piped block shows up like 2 times; maybe we keep one good annotated copy and point the other spots to it? good work though!!!
rahulshendre
left a comment
There was a problem hiding this comment.
checked all the tables against the config structs, fields and defaults match, and the structure looks good as well, main ones are the kubeconfig order and the test command, rest are nits.
really nice work on the tables @mohammedfirdouss : D
| ├── livestate/ # Live state fetcher (reports current resource state across clusters) | ||
| ├── planpreview/ # Plan preview (shows diff before deployment) | ||
| ├── toolregistry/ # Tool registry for kubectl, kustomize, and helm binaries | ||
| └── example/ # Example application configurations |
There was a problem hiding this comment.
nit: docs/ is missing here 👀
There was a problem hiding this comment.
Alright, in a bit
| Run unit tests from the repository root: | ||
|
|
||
| ```bash | ||
| go test ./pkg/app/pipedv1/plugin/kubernetes_multicluster/... |
There was a problem hiding this comment.
I think this won't run from the repo root since the plugin has its own go.mod, and the envtest tests need KUBEBUILDER_ASSETS
make test/go MODULES=pkg/app/pipedv1/plugin/kubernetes_multicluster is the one that works, ref - Makefile#L102
There was a problem hiding this comment.
Hm, so to fix the test command to make test/go MODULES=pkg/app/pipedv1/plugin/kubernetes_multicluster with a note about the separate go.mod
|
|
||
| ### Integration tests | ||
|
|
||
| To test against real clusters, build and run piped with the plugin pointing to real clusters. The plugin resolves kubeconfig in this order: |
There was a problem hiding this comment.
masterURL isn't actually used anywhere in the plugin, only kubeConfigPath gets passed to kubectl, ref - applier.go#L58
So this resolution order doesn't really exist, I think we should just say kubeConfigPath is passed to kubectl, and empty falls back to kubectl's own defaults
| ### app.pipecd.yaml | ||
| | Field | Type | Description | Required | | ||
| |-|-|-|-| | ||
| | deployTargets | [][DeployTargetConfig](#deploytargetconfig) | List of Kubernetes clusters to deploy to | Yes | |
There was a problem hiding this comment.
there's also a config block next to deployTargets chartRepositories + chartRegistries, Initialize() uses it for helm repo add and oci login.
I think we should add tables for that too
| | Field | Type | Description | Required | | ||
| |-|-|-|-| | ||
| | input | [KubernetesDeploymentInput](#kubernetesdeploymentinput) | Input for deployment such as manifests, kubectl version, helm/kustomize options. | No | | ||
| | quickSync | [K8sSyncStageOptions](#k8ssyncstageoptions) | Options for the quick sync stage. | No | |
There was a problem hiding this comment.
this anchor doesn't go anywhere, I don't think there is K8sSyncStageOptions heading on this page - try it.
It should be #k8s_multi_sync, what do you think?
There was a problem hiding this comment.
Didn't even see that, doesnt redirect, it solved now. thanks
good catch @Ayushmore1214 |
eb922fd to
5e6b48f
Compare
Signed-off-by: Mohammed Firdous <124298708+mohammedfirdouss@users.noreply.github.com>
5e6b48f to
6d9113b
Compare
|
@Ayushmore1214 thanks for the catch! The full annotated block stays in one place now. |
rahulshendre
left a comment
There was a problem hiding this comment.
LGTM 👍
everything checks out, nice work @mohammedfirdouss 🙌
What this PR does:
Updates the
kubernetes_multiclusterplugin README to match the same standard as other plugin README.--force-plugin-redownloadnote, and local kind cluster setup stepsK8S_MULTI_*prefix introduced in [Multi_K8s-Plugin] rename stages to avoid conflicts with kubernetes plugin #6880Why we need it:
The plugin README was a rough developer guide written during the mentorship term. Before a binary release can be triggered (via the
plugin_releaseworkflow), the README should be accurate and useful for contributors and users — matching the standard set by the ECS plugin.Which issue(s) this PR fixes:
Fixes #
Does this PR introduce a user-facing change?: