1
1
# kpt roadmap for 2021
2
2
3
- Last updated: September 14th , 2021
3
+ Last updated: November 5th , 2021
4
4
5
- Draft of * v1 * is released. Please follow the [ installation] ( https://kpt.dev/installation/ ) guide.
5
+ Please follow the [ installation] ( https://kpt.dev/installation/ ) guide for installing the latest version of kpt .
6
6
7
- ### 1. Declarative function pipeline
7
+ ## Latest releases
8
8
9
- kpt has added a declarative way to customize and validate configuration.
10
- This allows you to run several mutation and validation
11
- functions in a pipeline alleviating the need to create shell scripts that do
12
- the same thing. Further information can be found in the
13
- [ declarative function execution] section of the [ The Kpt Book] .
14
-
15
- ### 2. Setters
16
-
17
- Setters used to be a special entity without sufficient differentiation from
18
- KRM functions. In kpt v1 setters become just another function with drastically
19
- simplified syntax. Configuring 4 setters used to take 20 lines of yaml
20
- and now takes 6. Setters also get recursively applied to sub-packages by
21
- default. For further information on the setter function please visit:
22
- [ apply-setters documentation] .
23
-
24
- ### 3. Resource-merge
25
-
26
- kpt package updates now default to the resource-merge strategy
27
- which allows you to edit configuration with an text editor of your choice
28
- and still be able to get updates with upstream changes.
29
-
30
- ### 4. Live apply
31
-
32
- _ kpt live_ used to use ConfigMap to store inventory information. This was
33
- convenient as it didn't require any CRDs, but it had challenges around encoding
34
- of the GroupKind, name and namespace, and it didn't allow us to easily add
35
- additional metadata about a package, such as the package version. This is
36
- is now migrated to use ResourceGroup CRD. You can learn more about in the
37
- [ The Kpt Book] ( https://kpt.dev/book/06-deploying-packages/ ) .
38
-
39
- ### 5. Updated documentation
40
-
41
- Documentation was a major area of investment, including the [ The Kpt Book] .
42
- The book is a methodical way to introduce some unique kpt concepts like
43
- in place editing and hydration. It's meant to be a hands on guide where the user
44
- configures and deploys wordpress and nginx while learning about the kpt
45
- concepts.
46
-
47
- ### 6. Function catalog
48
-
49
- All of the hydration and validation logic has been moved from the kpt binary
50
- to functions allowing for flexibility and security. This enables new
51
- scenarios like limiting the customization and validation to a subset of
52
- allowed functions. The function catalog has received additional functions,
53
- examples and help. Please visit the [ function catalog] for further information.
54
-
55
- ### 7. Targeting resources in ` kpt fn ` commands
9
+ ### Targeting resources in ` kpt fn ` commands
56
10
57
11
Users want to invoke a kpt function (imperatively and declaratively) on a subset of
58
- resources in the package by selecting them on the basis of GVKNN, package-path,
12
+ resources in the package by selecting them on the basis of GVKNN(Group, Version, Kind, Name, Namespace) , package-path,
59
13
file path etc. For example, set work-load identity annotation on all Kubernetes
60
- Service Account resources in this package [ Tracker] ( https://github.com/GoogleContainerTools/kpt/issues/2015 ) .
14
+ Service Account resources in this package. Here is the documentation for list of
15
+ available selectors for [ render] and [ eval] . Available in [ v1.0.0-beta.7] + versions of kpt.
16
+ More selectors will be added incrementally.
17
+
18
+ ## Detailed release notes
19
+ Please refer to the [ release notes] page for more information about the latest features.
61
20
62
- ## In Progress
21
+ ## Upcoming features
63
22
64
- ### 10. Improve Function Authoring Experience
23
+ ### Improve Function Authoring Experience
65
24
66
25
We need a rich ecosystem of third party functions. Users should be able to write
67
26
functions with custom logic very quickly using the tools they are familiar with.
68
27
So we are investing on making function authoring experience very easy. This is an
69
- ongoing effort. [ Starlark enhancements] ( https://github.com/GoogleContainerTools/kpt/issues/2504 )
70
- (and docs improvement) will be delivered by the end of September 2021.
71
- For Golang SDK, ** Estimated release date:** End of November 2021.
28
+ ongoing effort.
29
+ - [ Starlark enhancements] ( https://catalog.kpt.dev/starlark/v0.3/?id=developing-starlark-script )
30
+ have been released.
31
+ - For Golang SDK([ issue] ( https://github.com/GoogleContainerTools/kpt/issues/2568 ) ), ** Estimated release date:** End of November 2021.
72
32
73
- ### 11. Merging pipeline section during ` kpt pkg update `
33
+ ### Best practices for kpt with idiomatic package examples
34
+
35
+ We need to publish best practices to use kpt inorder to create and use kpt packages.
36
+ This will help users to understand the right way of using kpt. These best practice
37
+ guidelines should be backed by idiomatic kpt package examples. These packages should
38
+ be designed reflecting the best practices, easily discoverable and simple to understand.
39
+ This is an ongoing effort. [ Tracking issue] ( https://github.com/GoogleContainerTools/kpt/issues/2541 )
40
+ - Best practices guide, ** Estimated release date:** End of November 2021.
41
+ - Idiomatic package examples, ** Estimated release date:** End of December 2021.
42
+
43
+ ### Merging pipeline section during ` kpt pkg update `
74
44
75
45
Currently, ` kpt pkg update ` doesn't merge pipeline section in the Kptfile as expected.
76
46
The fact that pipeline section is non-associative list with defined ordering makes it
77
47
very difficult to merge with upstream counterpart. This is forcing users to use setters
78
48
and discouraging them from declaring other functions in the pipeline as they will be
79
49
deleted during ` kpt pkg update ` . Merging pipeline correctly will reduce
80
50
huge amount of friction in declaring new functions which in turn helps to avoid
81
- excessive parameterization. ** Estimated completion date:** End of December 2021.
82
-
83
- ### 12. Best practices for kpt with idiomatic package examples
51
+ excessive parameterization. [ Tracking issue] ( https://github.com/GoogleContainerTools/kpt/issues/2529 ) .
52
+ ** Estimated release date:** End of December 2021.
84
53
85
- We need to publish best practices to use kpt inorder to create and use kpt packages.
86
- This will help users to understand the right way of using kpt. These best practice
87
- guidelines should be backed by idiomatic kpt package examples. These packages should
88
- be designed reflecting the best practices, easily discoverable and simple to understand.
89
- This is an ongoing effort. For best practices guide ** Estimated completion date:** End of November 2021.
90
- Idiomatic package examples ** Estimated completion date:** End of December 2021.
91
-
92
- ### 13. Explore various options for function runtime
54
+ ### Explore various options for function runtime
93
55
94
56
Currently, ` kpt fn render ` has dependency on docker to execute functions in pipeline.
95
57
There are performance and docker dependency issues reported by customers. We will
96
58
be exploring different function runtimes in order to address those issues. This is
97
59
just an exploratory step and actual implementation if any, will be taken up after December 2021.
60
+ [ Tracking issue] ( https://github.com/GoogleContainerTools/kpt/issues/2567 ) .
98
61
99
- ### 14. Integrate kpt with Cloud Code
62
+ ### Integrate kpt with Cloud Code
100
63
101
64
One of the major areas of investment is to integrate [ Cloud Code] ( https://cloud.google.com/code ) with kpt to provide
102
65
package authoring assistance. Users can author Kptfile and functionConfig files with
103
66
features like auto-complete and error detection. This significantly improves the
104
67
discoverability of Kptfile schema, catalog functions and their functionConfigs.
105
- ** Estimated release date: ** Last week of September 2021 for Kptfile schema integration,
106
- function catalog integration will be released by end of November 2021.
68
+ - Cloud code integration with Kptfile schema has been [ released ] ( https://github.com/GoogleCloudPlatform/cloud-code-intellij/blob/main/CHANGELOG.md ) and available from 21.10.1+ versions of Cloud Code.
69
+ - Function catalog integration, ** Estimated release date: ** End of December 2021.
107
70
108
- ## Ongoing work
109
- Since this is a draft of the release notes you should be aware of the
110
- ongoing work. The list of all the current and future milestones can be
111
- found here: [ kpt milestones]
71
+ ### Additional storage beyond Git
112
72
113
- ## Upgrading from previous version of kpt.
114
- There are a number of breaking changes that had to be done to clean up the
115
- CLI and the data format for kpt. Please visit the [ migration guide] for
116
- your existing kpt content.
73
+ Currently, ` kpt pkg ` workflows only support Git repositories. There is some increasing
74
+ demand from users to support other storage options beyond git(e.g., OCI). We will
75
+ be spending time understanding the use-cases and need for this project. [ Tracking issue] ( https://github.com/GoogleContainerTools/kpt/issues/2300 ) .
117
76
118
77
## Feedback channels:
119
78
1 . File a [ new issue] on Github, but please search first.
120
79
121
80
122
-
123
81
[ new issue ] : https://github.com/GoogleContainerTools/kpt/issues/new/choose
124
82
[ declarative function execution ] : https://kpt.dev/book/04-using-functions/01-declarative-function-execution
125
83
[ apply-setters documentation] : https://catalog.kpt.dev/apply-setters/v0.1/
@@ -129,3 +87,7 @@ your existing kpt content.
129
87
[ function catalog ] : https://catalog.kpt.dev/
130
88
[ kpt milestones ] : https://github.com/GoogleContainerTools/kpt/milestones
131
89
[ migration guide ] : https://kpt.dev/installation/migration
90
+ [ render ] : https://kpt.dev/book/04-using-functions/01-declarative-function-execution?id=specifying-selectors
91
+ [ eval ] : https://kpt.dev/book/04-using-functions/02-imperative-function-execution?id=specifying-selectors
92
+ [ v1.0.0-beta.7 ] : https://github.com/GoogleContainerTools/kpt/releases/tag/v1.0.0-beta.7
93
+ [ release notes ] : https://github.com/GoogleContainerTools/kpt/releases
0 commit comments