Skip to content

Commit 3b42daa

Browse files
Update roadmap (#2574)
* Update roadmap * Suggested changes * Update with suggested format * Organize better
1 parent a6f1ed6 commit 3b42daa

File tree

1 file changed

+43
-81
lines changed

1 file changed

+43
-81
lines changed

docs/ROADMAP.md

Lines changed: 43 additions & 81 deletions
Original file line numberDiff line numberDiff line change
@@ -1,125 +1,83 @@
11
# kpt roadmap for 2021
22

3-
Last updated: September 14th, 2021
3+
Last updated: November 5th, 2021
44

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.
66

7-
### 1. Declarative function pipeline
7+
## Latest releases
88

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
5610

5711
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,
5913
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.
6120

62-
## In Progress
21+
## Upcoming features
6322

64-
### 10. Improve Function Authoring Experience
23+
### Improve Function Authoring Experience
6524

6625
We need a rich ecosystem of third party functions. Users should be able to write
6726
functions with custom logic very quickly using the tools they are familiar with.
6827
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.
7232

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`
7444

7545
Currently, `kpt pkg update` doesn't merge pipeline section in the Kptfile as expected.
7646
The fact that pipeline section is non-associative list with defined ordering makes it
7747
very difficult to merge with upstream counterpart. This is forcing users to use setters
7848
and discouraging them from declaring other functions in the pipeline as they will be
7949
deleted during `kpt pkg update`. Merging pipeline correctly will reduce
8050
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.
8453

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
9355

9456
Currently, `kpt fn render` has dependency on docker to execute functions in pipeline.
9557
There are performance and docker dependency issues reported by customers. We will
9658
be exploring different function runtimes in order to address those issues. This is
9759
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).
9861

99-
### 14. Integrate kpt with Cloud Code
62+
### Integrate kpt with Cloud Code
10063

10164
One of the major areas of investment is to integrate [Cloud Code](https://cloud.google.com/code) with kpt to provide
10265
package authoring assistance. Users can author Kptfile and functionConfig files with
10366
features like auto-complete and error detection. This significantly improves the
10467
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.
10770

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
11272

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).
11776

11877
## Feedback channels:
11978
1. File a [new issue] on Github, but please search first.
12079
12180

122-
12381
[new issue]: https://github.com/GoogleContainerTools/kpt/issues/new/choose
12482
[declarative function execution]: https://kpt.dev/book/04-using-functions/01-declarative-function-execution
12583
[apply-setters documentation]: https://catalog.kpt.dev/apply-setters/v0.1/
@@ -129,3 +87,7 @@ your existing kpt content.
12987
[function catalog]: https://catalog.kpt.dev/
13088
[kpt milestones]: https://github.com/GoogleContainerTools/kpt/milestones
13189
[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

Comments
 (0)