Skip to content

Commit ca3e101

Browse files
author
Bob Furu
authored
Merge pull request #41803 from bparees/apidocs
2 parents 6fbdb1e + 9cbb12c commit ca3e101

File tree

4 files changed

+6
-5
lines changed

4 files changed

+6
-5
lines changed

modules/api-compatibility-guidelines.adoc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ Red Hat recommends that application developers adopt the following principles in
1313
* Do not design applications that rely on configuration files provided by system packages or other components. These files can change between versions unless the upstream community is explicitly committed to preserving them. Where appropriate, depend on any Red Hat provided interface abstraction over those configuration files in order to maintain forward compatibility. Direct file system modification of configuration files is discouraged, and users are strongly encouraged to integrate with an Operator provided API where available to avoid dual-writer conflicts.
1414
* Do not depend on API fields prefixed with `unsupported<FieldName>` or annotations that are not explicitly mentioned in product documentation.
1515
* Do not depend on components with shorter compatibility guarantees than your application.
16+
* Do not perform direct storage operations on the etcd server. All etcd access must be performed via the api-server or through documented backup and restore procedures.
1617

1718
Red Hat recommends that application developers follow the link:https://access.redhat.com/articles/rhel8-abi-compatibility#Guidelines[compatibility guidelines] defined by {op-system-base-full}. {product-title} strongly recommends the following guidelines when building an application or hosting an application on the platform:
1819

modules/api-support-deprecation-policy.adoc

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ Other than the most recent API version in each group, older API versions must be
3131
|Duration
3232

3333
|Tier 1
34-
|12 months or 3 releases from the announcement of deprecation, whichever is longer.
34+
|Stable within a major release. They may be deprecated within a major release, but they will not be removed until a subsequent major release.
3535

3636
|Tier 2
3737
|9 months or 3 releases from the announcement of deprecation, whichever is longer.
@@ -55,7 +55,7 @@ The following rules apply to all tier 1 APIs:
5555

5656
Client-facing CLI commands are not versioned in the same way as the API, but are user-facing component systems. The two major ways a user interacts with a CLI are through a command or flag, which is referred to in this context as CLI elements.
5757

58-
All CLI elements default to API tier 1 unless otherwise noted.
58+
All CLI elements default to API tier 1 unless otherwise noted or the CLI depends on a lower tier API.
5959

6060
[cols="3",options="header"]
6161
|===
@@ -89,7 +89,7 @@ The duration and schedule for deprecating an entire component maps directly to t
8989
|Duration
9090

9191
|Tier 1
92-
|12 months or 3 releases from the announcement of deprecation, whichever is longer.
92+
|Stable within a major release. They may be deprecated within a major release, but they will not be removed until a subsequent major release.
9393

9494
|Tier 2
9595
|9 months or 3 releases from the announcement of deprecation, whichever is longer.

modules/api-support-tiers-mapping.adoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
[id="api-support-tiers-mapping_{context}"]
66
= Mapping API tiers to API groups
77

8-
For each API tier defined by Red Hat, we provide a mapping table for specific API groups where the upstream communities are committed to maintain forward compatibility. Any API group that does not specify an explicit compatibility level is assigned API tier 3 by default.
8+
For each API tier defined by Red Hat, we provide a mapping table for specific API groups where the upstream communities are committed to maintain forward compatibility. Any API group that does not specify an explicit compatibility level and is not specifically discussed below is assigned API tier 3 by default except for `v1alpha1` APIs which are assigned tier 4 by default.
99

1010
[id="mapping-support-tiers-to-kubernetes-api-groups_{context}"]
1111
== Support for Kubernetes API groups

modules/api-support-tiers.adoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,4 +29,4 @@ Components and developer tools that receive continuous updates through the Opera
2929
== API tier 4
3030
No compatibility is provided. API and AOE can change at any point. These capabilities should not be used by applications needing long-term support.
3131

32-
It is common practice for Operators to use custom resource definitions (CRDs) internally to accomplish a task. These objects are not meant for use by actors external to the Operator and are intended to be hidden. If any CRD is not meant for use by actors external to the Operator, the `operators.operatorframework.io/internal-objects` annotation in the Operators `ClusterServiceVersion` (CSV) must be specified, and that signals that the corresponding resource is internal use only.
32+
It is common practice for Operators to use custom resource definitions (CRDs) internally to accomplish a task. These objects are not meant for use by actors external to the Operator and are intended to be hidden. If any CRD is not meant for use by actors external to the Operator, the `operators.operatorframework.io/internal-objects` annotation in the Operators `ClusterServiceVersion` (CSV) should be specified to signal that the corresponding resource is internal use only and the CRD may be explicitly labeled as tier 4.

0 commit comments

Comments
 (0)