Skip to content

Commit 587161b

Browse files
Remove all references to the stable release (#1804)
Description of changes: The `stable` releases were never fully supported and most controllers did not keep them up-to-date. Also, the purpose of deploying the "stable" major version could also be achieved using semver ranges with most tooling. This pull request removes all references to the stable release and replaces references to them by talking about GA major versions. By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
1 parent 7404eaf commit 587161b

File tree

2 files changed

+3
-127
lines changed

2 files changed

+3
-127
lines changed

docs/content/docs/community/releases.md

Lines changed: 3 additions & 70 deletions
Original file line numberDiff line numberDiff line change
@@ -105,10 +105,6 @@ that installs the controller into a target Kubernetes cluster. Both these
105105
artifacts will have tags that correspond to the Semantic Version Git tag
106106
applied against the source code repository for the controller.
107107

108-
Service controllers may have a [Stable Helm Chart](#stable-helm-charts) that
109-
will install a version of the service controller binary that the maintainer
110-
team is confident will hold up to production use.
111-
112108
### Semantic Versioning
113109

114110
ACK is a collection of custom Kubernetes controllers, one for each supported
@@ -152,7 +148,7 @@ the SemVer version.
152148

153149
For example, if a Git tag of `v1.2.6` was created on the
154150
[github.com/aws-controllers-k8s/s3-controller][s3-ctrl] repository, a container
155-
image with a tag `v1.2.6` would be published to the
151+
image with a tag `1.2.6` would be published to the
156152
[public.ecr.aws/aws-controllers-k8s/s3-controller][ecr-ack-ctrl] ECR Public
157153
repository.
158154

@@ -171,7 +167,7 @@ an artifact tag including the SemVer version.
171167

172168
For example, a Git tag of `v1.2.6` on the
173169
[github.com/aws-controllers-k8s/s3-controller][s3-ctrl]
174-
repository means a Helm chart with a tag `v1.2.6` would be published to the
170+
repository means a Helm chart with a tag `1.2.6` would be published to the
175171
[public.ecr.aws/aws-controllers-k8s/s3-chart][ecr-ack-chart] ECR Public
176172
repository.
177173

@@ -200,69 +196,6 @@ Go's module infrastructure to pin the dependency between the code generator and
200196
the common runtime.
201197
{{% /hint %}}
202198

203-
### Stable Helm Charts
204-
205-
{{% hint type="success" title="Tip" %}}
206-
We [recommend](../../user-docs/install/#install-an-ack-service-controller-with-helm-recommended) using Helm to install an ACK service
207-
controller.
208-
{{% /hint %}}
209-
210-
211-
Some ACK service controllers will have Helm Charts with a
212-
`v$MAJOR_VERSION-stable` tag, referred from here out as just a
213-
"`stable` artifact tag". There will only be one of these tags for the ACK
214-
service controller **in a major version series**. For example, the full
215-
`stable` artifact tag for the ElastiCache ACK service controller's "v1" major
216-
version series would be
217-
`public.ecr.aws/aws-controllers-k8s/elasticache-chart:v1-stable`.
218-
219-
This `stable` artifact tag points to a Helm chart that has configuration values
220-
that have been tested with a specific SemVer container image.
221-
222-
Typically these tests are "soak" tests and allow the team maintaining that ACK
223-
controller's source code to have a high degree of confidence in the
224-
controller's long-running operation.
225-
226-
{{% hint %}}
227-
Please note that not all ACK service controllers will have a Helm chart
228-
with a `stable` artifact tag. Furthermore, there will only ever be a single
229-
`stable` Helm Chart tag **per major version series of a controller**.
230-
{{% /hint %}}
231-
232-
233-
This `stable` Helm Chart tag (an OCI Artifact tag) will point to different
234-
Helm Chart packages over time. From time to time, the maintainer team for a
235-
service controller may update the configuration values and associated SemVer
236-
container image tag for the controller binary to point to a newer image.
237-
238-
For example, consider the ElastiCache ACK service controller maintainer team
239-
has executed a series of long-running tests of the
240-
`public.ecr.aws/aws-controllers-k8s/elasticache-controller` image tagged with
241-
the `v1.2.6` SemVer tag. The maintainer team is confident that the controller
242-
is stable for production use. In the `stable` Git branch of the ElastiCache
243-
service controller's source repository, the team would update the Helm Chart's
244-
Deployment, setting the `Deployment.spec.template.spec.containers[0].image` to
245-
`public.ecr.aws/aws-controllers-k8s/elasticache-controller:v1.2.6`.
246-
247-
They then package the Helm Chart and publish it as an OCI Artifact to the
248-
`public.ecr.aws/aws-controllers-k8s/elasticache-chart` registry, using an OCI
249-
artifact tag of `v1-stable`.
250-
251-
A couple months later, the maintainer team has added a few minor, non-breaking
252-
features to their controller along with a number of bug fixes. The latest
253-
SemVer tag for the ElastiCache controller image is at `v1.3.9`.
254-
255-
The maintainer team has separately been executing long-running tests against
256-
the `v1.3.2` controller image and are confident that this release is
257-
appropriate for production use. The maintainer team would update the Helm Chart
258-
in their `stable` Git branch to have its
259-
`Deployment.spec.template.spec.containers[0].image` set to
260-
`public.ecr.aws/aws-controllers-k8s/elasticache-controller:v1.3.2`. They would
261-
then package this Helm Chart and push overwrite the
262-
`public.ecr.aws/aws-controllers-k8s/elasticache-chart:v1-stable` OCI Artifact
263-
tag to point to this newly-updated Helm Chart that refers to the `v1.3.2`
264-
controller image.
265-
266199
## Maintenance Phases
267200

268201
As noted above, individual ACK service controllers all use Semantic Versioning
@@ -294,7 +227,7 @@ through long-running "soak" tests and are recommended for production use by the
294227
team maintaining that controller.
295228

296229
All ACK controllers in the `General Availability` Maintenance Phase will have a
297-
Helm Chart with the `stable` artifact tag.
230+
Helm Chart tagged with the major version >0 (eg. `1.0.0`).
298231

299232
Users who submit bug reports using Github Issues that reference a `General
300233
Availability` controller will have their bug reports prioritized by the

docs/content/docs/contributor-docs/release.md

Lines changed: 0 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -114,60 +114,3 @@ git push origin release-$RELEASE_VERSION
114114
6) `git tag` operation (applied automatically in last step) triggers a postsubmit prowjob which builds container image and then publishes
115115
both container image and Helm chart to public ECR repository.
116116
Service team can see the release prowjobs, their status and logs at https://prow.ack.aws.dev/
117-
118-
## Stable Release
119-
The postsubmit prowjob mentioned above also publishes the stable Helm charts,
120-
whenever there is a code push on `stable` git branch. Follow the steps below
121-
to cut a stable release for an ACK controller.
122-
123-
1) Checkout the ACK controller release which will be marked as stable.
124-
Example below uses s3-controller `0.0.19` release.
125-
```bash
126-
cd $GOSRC/github.com/aws-controllers-k8s
127-
export SERVICE=s3
128-
export STABLE_RELEASE=<v0.0.19-do-not-copy> #Update this tag for the specific controller
129-
cd $SERVICE-controller
130-
git fetch --all --tags
131-
git checkout -b stable-$STABLE_RELEASE $STABLE_RELEASE
132-
```
133-
134-
2) Update the helm chart version to the stable version. To learn more about
135-
nomenclature of stable branch and helm chart version please read our
136-
[release phase guide](../../community/releases/).
137-
138-
For the above example, replace `version: 0.0.19` inside `helm/Chart.yaml`
139-
with `version: 0-stable`. Without this update the postsubmit prowjob will
140-
fail because validation error due to chart version mismatch.
141-
142-
3) Commit your changes from step2
143-
```bash
144-
git add helm/Chart.yaml
145-
git commit -m "Updating the helm chart version for stable release"
146-
```
147-
148-
4) Determine the remote which points to `aws-controllers-k8s/$SERVICE-controller`
149-
and not your personal fork. Execute `git remote --verbose` command to find out the
150-
remote name. Example: In the command below, `origin` points to the
151-
`aws-controllers-k8s/s3-controller` repository.
152-
153-
```bash
154-
git remote --verbose
155-
156-
origin https://github.com/aws-controllers-k8s/s3-controller.git (fetch)
157-
origin https://github.com/aws-controllers-k8s/s3-controller.git (push)
158-
vj https://github.com/vijtrip2/s3-controller.git (fetch)
159-
vj https://github.com/vijtrip2/s3-controller.git (push)
160-
```
161-
162-
5) Push the changes to the `stable` branch for remote pointing to
163-
`aws-controllers-k8s/$SERVICE-controller`
164-
```bash
165-
git push -u origin stable-$STABLE_RELEASE:stable
166-
```
167-
The above command will create a new `stable` branch if it does not exist
168-
and trigger the ACK postsubmit prowjob for stable release. This prowjob will
169-
not build a container image and only publishes the helm artifacts with stable tag.
170-
171-
If the git push command fails, use `--force` option to update the upstream
172-
`stable` branch with your local changes.
173-

0 commit comments

Comments
 (0)