|
| 1 | +# Kustomize roadmap 2022 |
| 2 | + |
| 3 | +Presented at the [January 26, 2022, SIG-CLI meeting](https://youtu.be/l2plzJ9MRlk?t=1321) |
| 4 | + |
| 5 | +kustomize maintainers: @knverey, @natasha41575 |
| 6 | + |
| 7 | +[Objective: Improve contributor community](https://github.com/kubernetes-sigs/kustomize/blob/master/roadmap-2021.md#objective-improve-contributor-community) |
| 8 | + |
| 9 | +[Objective: Improve end-user experience](https://github.com/kubernetes-sigs/kustomize/blob/master/roadmap-2021.md#objective-improve-end-user-experience) |
| 10 | + |
| 11 | +[Objective: Improve extension experience](https://github.com/kubernetes-sigs/kustomize/blob/master/roadmap-2021.md#objective-improve-extension-experience) |
| 12 | + |
| 13 | +## Objective: Improve contributor community |
| 14 | + |
| 15 | +**_WHO: End user who also contributes source code._** |
| 16 | + |
| 17 | +Top priority: |
| 18 | + |
| 19 | +- Kustomization v1 (also end-user impact) ([PROJECT](https://github.com/kubernetes-sigs/kustomize/projects/12)) |
| 20 | + - Remove the following fields: |
| 21 | + - [vars](https://github.com/kubernetes-sigs/kustomize/issues/2052) |
| 22 | + - [patchesJson6902, patchesStrategicMerge (consolidate on \`patches)](https://github.com/kubernetes-sigs/kustomize/issues/4376) |
| 23 | + - [helmChartInflationGenerator, helmCharts, helmGlobals](https://github.com/kubernetes-sigs/kustomize/issues/4401) |
| 24 | + - all long-deprecated fields in Kustomization v1 such as \`bases\` and those being accommodate by kustomize edit \[[see code snippet](https://github.com/kubernetes-sigs/kustomize/blob/ee4b7847f0beb6c0d2070673b10f23f7b3e92e82/api/types/fix.go#L15)\] |
| 25 | + - Ensure that \`kustomize edit fix\` handles migrations for all those, and that anything it changes is not still present in v1. |
| 26 | + - [Add reorder field](https://github.com/kubernetes-sigs/kustomize/issues/3913). Default should be FIFO and legacy should also be supported (could add alphabetic and custom sort support eventually). Replaces -reorder flag. |
| 27 | + - [Reconcile openapi and crds field](https://github.com/kubernetes-sigs/kustomize/issues/3944) |
| 28 | + - [Consider deprecating configurations field](https://github.com/kubernetes-sigs/kustomize/issues/3945) (old, pre-plugin, pre-openapi global configuration) |
| 29 | + - [Add a field to enable the managedby label](https://github.com/kubernetes-sigs/kustomize/issues/4047) |
| 30 | + |
| 31 | +Second priority: |
| 32 | + |
| 33 | +- Improve contributor documentation |
| 34 | + - [Instructions to upgrade kustomize-in-kubectl](https://github.com/kubernetes-sigs/kustomize/issues/3951) |
| 35 | + |
| 36 | +Also very valuable to the project: |
| 37 | + |
| 38 | +- [Improve the release process](https://github.com/kubernetes-sigs/kustomize/issues/3952) to support regular biweekly releases [PROJECT](https://github.com/kubernetes-sigs/kustomize/projects/7) |
| 39 | +- Release sigs.k8s.io/kustomize/api v1.0.0 [PROJECT](https://github.com/kubernetes-sigs/kustomize/projects/5) |
| 40 | + - [Reduce the public surface of the API module](https://github.com/kubernetes-sigs/kustomize/issues/3942) |
| 41 | + - [Vendor all transitive deps](https://github.com/kubernetes-sigs/kustomize/issues/3706). Since kustomize is in kubectl, we must do as kubectl does to manage deps, exposing new transitive deps in code review. |
| 42 | +- Project administration |
| 43 | + - [Rename master branch to main](https://github.com/kubernetes-sigs/kustomize/issues/3954) |
| 44 | + |
| 45 | + |
| 46 | + |
| 47 | +## Objective: Improve end-user experience |
| 48 | + |
| 49 | +**_WHO: End user that wants kustomize build artifacts (binaries, containers)._** |
| 50 | + |
| 51 | +Top priorities: |
| 52 | + |
| 53 | +- Bug fixes: |
| 54 | + - Fix bugs in basic anchor support: [issue query](https://github.com/kubernetes-sigs/kustomize/issues?q=is%3Aopen+is%3Aissue+label%3Aarea%2Fanchors) |
| 55 | + - integer keys support: [#3446](https://github.com/kubernetes-sigs/kustomize/issues/3446) |
| 56 | + - kyaml not respecting \`$patch replace|retainKeys\`: [#2037](https://github.com/kubernetes-sigs/kustomize/issues/2037) |
| 57 | + - kustomize removing quotes from namespace field values: [#4146](https://github.com/kubernetes-sigs/kustomize/issues/4146) |
| 58 | + - Kustomize doesn’t support metadata.generateName: [#641](https://github.com/kubernetes-sigs/kustomize/issues/641) |
| 59 | +- Send kustomize CLI version number into kubectl ([kubectl issue](https://github.com/kubernetes/kubectl/issues/797) / [kustomize issue](https://github.com/kubernetes-sigs/kustomize/issues/1424)) |
| 60 | +- Kustomize performance investigations/improvements [PROJECT](https://github.com/kubernetes-sigs/kustomize/projects/13) |
| 61 | +- [Support generic resource references in name reference tracking](https://github.com/kubernetes-sigs/kustomize/issues/3418) |
| 62 | +- [KEP 4267: retain the resource origin and transformer data in annotations](https://github.com/kubernetes-sigs/kustomize/pull/4267) |
| 63 | + |
| 64 | +Secondary priorities: |
| 65 | + |
| 66 | +- kustomize cli v5 ([PROJECT](https://github.com/kubernetes-sigs/kustomize/projects/14)) |
| 67 | + - [Drop the --reorder flag](https://github.com/kubernetes-sigs/kustomize/issues/3947) |
| 68 | + - [Graduate cfg read-only commands out of alpha](https://github.com/kubernetes-sigs/kustomize/issues/4090). |
| 69 | + - [Drop the –enable-managedby-label](https://github.com/kubernetes-sigs/kustomize/issues/4047) |
| 70 | + - Drop old plugin-related fields in favor of [the Catalog-style fields](https://github.com/kubernetes/enhancements/tree/master/keps/sig-cli/2906-kustomize-function-catalog). |
| 71 | + - [Drop the helm flags](https://github.com/kubernetes-sigs/kustomize/issues/4401) |
| 72 | +- [Confusion around namespace replacement](https://github.com/kubernetes-sigs/kustomize/issues/880). |
| 73 | + |
| 74 | +Also very valuable to the project: |
| 75 | + |
| 76 | +- [Overinclusion of root directory error in error messages](https://github.com/kubernetes-sigs/kustomize/issues/4348) |
| 77 | +- [Add kustomize localize command](https://github.com/kubernetes-sigs/kustomize/issues/3980) |
| 78 | +- [Fix Windows support in test suite](https://github.com/kubernetes-sigs/kustomize/issues/4001) |
| 79 | +- Improve end-user documentation [PROJECT](https://github.com/kubernetes-sigs/kustomize/projects/9) |
| 80 | + |
| 81 | + |
| 82 | +## Objective: Improve extension experience |
| 83 | + |
| 84 | +**_WHO: Plugin developers: end users who extend kustomize, but don’t think about internals._** |
| 85 | + |
| 86 | +This objective is described in detail in the [Kustomize Plugin Graduation KEP](https://github.com/kubernetes/enhancements/tree/master/keps/sig-cli/2953-kustomize-plugin-graduation) / [PROJECT](https://github.com/kubernetes-sigs/kustomize/projects/15) . |
| 87 | + |
| 88 | +Top priorities: |
| 89 | + |
| 90 | +- Fix core usability issues with KRM Function extensions: |
| 91 | + - [Better errors for function config failures](https://github.com/kubernetes-sigs/kustomize/issues/4398) |
| 92 | + - [Container KRM Mounts are not mounting via function parameters](https://github.com/kubernetes-sigs/kustomize/issues/4290) |
| 93 | + - [Resolution of local file references in extensions transformer configuration](https://github.com/kubernetes-sigs/kustomize/issues/4154) |
| 94 | + - [Do not silently ignore plugins when config has typo](https://github.com/kubernetes-sigs/kustomize/issues/4399) |
| 95 | + - [KRM Exec Function can't locate executable when referencing a base](https://github.com/kubernetes-sigs/kustomize/issues/4347) |
| 96 | +- Once core usability issues are fixed, [deprecate legacy exec and Go plugin support](https://github.com/kubernetes/enhancements/tree/master/keps/sig-cli/2953-kustomize-plugin-graduation) |
| 97 | +- [Catalog KEP](https://github.com/kubernetes/enhancements/tree/master/keps/sig-cli/2906-kustomize-function-catalog) |
| 98 | + |
| 99 | +Secondary priorities: |
| 100 | + |
| 101 | +- [Remove Starlark support](https://github.com/kubernetes-sigs/kustomize/issues/4349) |
| 102 | +- [Composition KEP](https://github.com/kubernetes/enhancements/pull/2300). The implementation is complete in [#4223](https://github.com/kubernetes-sigs/kustomize/pull/4323), but depends on: |
| 103 | + - [Convert resources and components to be backed by a reusable generator](https://github.com/kubernetes-sigs/kustomize/issues/4402) |
| 104 | + - [Enable explicitly invoked transformers to use default fieldSpecs](https://github.com/kubernetes-sigs/kustomize/issues/4404) |
| 105 | + - [Enable built-in generators to be used in the transformers field ](https://github.com/kubernetes-sigs/kustomize/issues/4403) |
| 106 | + |
| 107 | + |
| 108 | +Also very valuable to the project: |
| 109 | + |
| 110 | +- [Improve docs for kyaml libraries](https://github.com/kubernetes-sigs/kustomize/issues/3950), especially by adding examples. |
| 111 | +- [Create a reserved field for plugin runtime information](https://github.com/kubernetes-sigs/kustomize/issues/4405) |
| 112 | +- [Develop new standard process for implementing builtin transformers](https://github.com/kubernetes-sigs/kustomize/issues/4400) |
0 commit comments