Skip to content

Commit ed83115

Browse files
committed
API Version -> K8S API Version
Signed-off-by: John Collier <[email protected]>
1 parent 1173fa1 commit ed83115

File tree

1 file changed

+4
-4
lines changed

1 file changed

+4
-4
lines changed

docs/proposals/versioning-and-release.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,18 +14,18 @@ The Devfile Kubernetes API (defined in https://github.com/devfile/api/) is the s
1414

1515
**How to Update**:
1616

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`.
1818
2) Add a schema and version in the CRD manifests
1919
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.
2121

2222
**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).
2323
- 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)
2424
- 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.
2525

2626
### Devfile JSON Schema
2727

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/).
2929

3030
**Versioning Scheme**: Semantic Versioning (major.minor.bugfix)
3131

@@ -48,7 +48,7 @@ K8S API version updates should also result in an appropriate increment of the sc
4848

4949
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`).
5050

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

5353
## Release Process
5454
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

Comments
 (0)