You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/proposals/versioning-and-release.md
+4-4Lines changed: 4 additions & 4 deletions
Original file line number
Diff line number
Diff line change
@@ -14,18 +14,18 @@ The Devfile Kubernetes API (defined in https://github.com/devfile/api/) is the s
14
14
15
15
**How to Update**:
16
16
17
-
1) Add a new folder for the version in the [devfile/api](https://github.com/devfile/api/) repository under [pkg/apis/workspaces](https://github.com/devfile/api/tree/master/pkg/apis/workspaces). For example `pkg/apis/workspaces/v1` if bumping the API version to `v1`.
17
+
1) Add a new folder for the version in the [devfile/api](https://github.com/devfile/api/) repository under [pkg/apis/workspaces](https://github.com/devfile/api/tree/master/pkg/apis/workspaces). For example `pkg/apis/workspaces/v1` if bumping the K8S API version to `v1`.
18
18
2) Add a schema and version in the CRD manifests
19
19
3) Generate the JSON schema from the API. New JSON schema will be located under `schemas/latest`.
20
-
4) Update the devworkspace operator and devfile library to consume the Go structs in the new API version, as needed.
20
+
4) Update the devworkspace operator and devfile library to consume the Go structs in the new K8S API version, as needed.
21
21
22
22
**When to Update?** As incrementing the Kubernetes API version for Devfile is a relatively heavy process, and affects the library, only update the K8s API version when absolutely needed (for **big** changes or backwards incompatible changes).
23
23
- Backwards incompatible changes are defined as any change in the schema that would cause K8S API validation errors on the old resource version (e.g. removed fields or new mandatory fields)
24
24
- New, optional fields to the API do not necessarily require a version bump, but if it's a large change, it may be wise to bump the version.
25
25
26
26
### Devfile JSON Schema
27
27
28
-
As mentioned above, the Devfile JSON schema is generated from the Go structs defined in the Devfile Kubernetes API. The latest JSON schema for a given API version is located under `schemas/<api-version>` in the [devfile/api repo](https://github.com/devfile/api/).
28
+
As mentioned above, the Devfile JSON schema is generated from the Go structs defined in the Devfile Kubernetes API. The latest JSON schema for a given K8S API version is located under `schemas/<api-version>` in the [devfile/api repo](https://github.com/devfile/api/).
@@ -48,7 +48,7 @@ K8S API version updates should also result in an appropriate increment of the sc
48
48
49
49
The Devfile JSON schema is generated from the Kubernetes API, and the version for the JSON schema is set in the doc.go file in the K8S API (`pkg/apis/workspace/<api-version>/doc.go`).
50
50
51
-
As we’re only updating the K8S API version when needed, but incrementing the schema version more frequently, this means that any given API version may point to multiple, backwards-compatible, schema versions over its lifespan. The schema version under `schemas/<api-version>` in [devfile/api repo](https://github.com/devfile/api/) points to the matching JSON schema generated from the K8S API.
51
+
As we’re only updating the K8S API version when needed, but incrementing the schema version more frequently, this means that any given K8S API version may point to multiple, backwards-compatible, schema versions over its lifespan. The schema version under `schemas/<api-version>` in [devfile/api repo](https://github.com/devfile/api/) points to the matching JSON schema generated from the K8S API.
52
52
53
53
## Release Process
54
54
The following steps outline the steps done to release a new version of the Devfile schema and publish its schemas to the devfile.io website
0 commit comments