-
Notifications
You must be signed in to change notification settings - Fork 2.3k
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
Add ARCHITECTURE.md #3924
Add ARCHITECTURE.md #3924
Conversation
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: monopole The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
| `kyaml` | The [`kyaml`] module, holding Kubernetes-specific YAML editing packages used by the [`api`] module. | | ||
| `plugin` | Examples of Kustomize plugins. | | ||
| `releasing` | Instructions for releasing the various modules. | | ||
| `site` | Old generated documentation, kept to provide redirection links to the new docs. | |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
How long do we need to keep this (and docs/
) for? In what cases were things linking to the markdown source for the content rather than the live site itself?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
(i'm prepping a pr)
[semantically versioned]: https://semver.org | ||
[Go modules]: https://github.com/golang/go/wiki/Modules | ||
|
||
The [Go modules] in the kustomize repository are [semantically versioned]. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It could be helpful to mention any guidance around intra-repo module dependencies. E.g. it came up recently that having two mutually dependent modules, though possible if triggered by different packages, would throw a wrench in the release process.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The first line in each module section specifies the intra-module dependence.
I added a bullet and some italics to spring them out more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, I see that, and it's great, but what I was hoping for was something more prescriptive than descriptive. i.e. kyaml not only doesn't have internal deps, but MUST NOT have any internal deps, and why.
Incidentally, more guidance on external dependencies would be great. E.g. be SUPER hesitant to add new ones, check licences, and absolutely never add X because of Y aspect of the kubectl integration.
|
||
- Optional `legacy` reordering of objects, overriding | ||
a FIFO rule. | ||
- Optional addition of _Managed by kustomize_ annotations. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What governs that annotation? I know the above is a flag we have plans to turn into a field, but I wasn't aware of this setting.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There is a flag for this too, kustomize build --enable-managedby-label
.
I think it sets a label, not an annotation.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Interesting. On the one hand, that also is violating the no-side-effects-from-flags thing, so maybe we should deprecate it on the same grounds as --reorder
. But this one can already be done with common[Annotations/Labels]
so I wonder in what cases the flag is used. E.g. maybe for enforcement?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Rewrote this to answer those questions.
Agree it should be controlled by a kustomization file field, not a flag, though in this particular case, the side-effect is only the addition of annotations so cluster behavior not impacted. Natasha is providing the mechanism for this in #4065
E.g. if a ConfigMaps was given a generated name, all objects that | ||
refer to that ConfigMap must be given it's name. | ||
|
||
- Resolve vars, replacing them with whatever they refer to (a legacy feature). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
How long are we planning to keep in the vars code for?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
My guess is that it's not so much a matter of time passing as a matter of preparedness to cut major versions. E.g. the vars code needs to go before we can release v1.0 of the API module, but after we release v5 of the CLI.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why does it need to happen after we release v5 of the CLI?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sorry, I meant as part of the v5 release
8247d95
to
24e3f2f
Compare
ce7e567
to
d72f57f
Compare
The Kubernetes project currently lacks enough contributors to adequately respond to all issues and PRs. This bot triages issues and PRs according to the following rules:
You can:
Please send feedback to sig-contributor-experience at kubernetes/community. /lifecycle stale |
The Kubernetes project currently lacks enough active contributors to adequately respond to all issues and PRs. This bot triages issues and PRs according to the following rules:
You can:
Please send feedback to sig-contributor-experience at kubernetes/community. /lifecycle rotten |
d72f57f
to
56efec5
Compare
@monopole: This PR has multiple commits, and the default merge method is: merge. Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
/lgtm |
No description provided.