Skip to content
This repository has been archived by the owner on Oct 7, 2024. It is now read-only.

Create release 1.0.0 (GA candidate) #167

Merged
merged 1 commit into from
Oct 5, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
# To re-generate a bundle for another specific version without changing the standard setup, you can:
# - use the VERSION as arg of the bundle target (e.g make bundle VERSION=0.0.2)
# - use environment variables to overwrite this value (e.g export VERSION=0.0.2)
VERSION ?= 0.0.28
VERSION ?= 1.0.0

# CHANNELS define the bundle channels used in the bundle.
# Add a new line here if you would like to change its default config. (E.g CHANNELS = "candidate,fast,stable")
Expand Down
81 changes: 41 additions & 40 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -82,6 +82,7 @@ Tang operator-bundle are:
- v0.0.26: Use RHEL9 Tang container version
- v0.0.27: Update operator-sdk and supported Go version (1.19.6 and higher)
- v0.0.28: Code refactor
- v1.0.0: GA candidate release

## Installation

Expand All @@ -103,23 +104,23 @@ operator-sdk installation is described in the [Links](#links) section.

In order to deploy the latest version of the Tang operator, check latest released
version in the [Versions](#versions) section, and install the appropriate version
bundle. For example, in case latest version is **0.0.28**, the command to execute
bundle. For example, in case latest version is **1.0.0**, the command to execute
will be:

```bash
$ operator-sdk run bundle quay.io/sec-eng-special/tang-operator-bundle:v0.0.28 --index-image=quay.io/operator-framework/opm:v1.23.0
INFO[0008] Successfully created registry pod: quay-io-sec-eng-special-tang-operator-bundle-v0.0.28
$ operator-sdk run bundle quay.io/sec-eng-special/tang-operator-bundle:v1.0.0 --index-image=quay.io/operator-framework/opm:v1.23.0
INFO[0008] Successfully created registry pod: quay-io-sec-eng-special-tang-operator-bundle-v1.0.0
INFO[0009] Created CatalogSource: tang-operator-catalog
INFO[0009] OperatorGroup "operator-sdk-og" created
INFO[0009] Created Subscription: tang-operator-v0.0.28-sub
INFO[0011] Approved InstallPlan install-lqf9f for the Subscription: tang-operator-v0.0.28-sub
INFO[0009] Created Subscription: tang-operator-v1.0.0-sub
INFO[0011] Approved InstallPlan install-lqf9f for the Subscription: tang-operator-v1.0.0-sub
INFO[0011] Waiting for ClusterServiceVersion to reach 'Succeeded' phase
INFO[0012] Waiting for ClusterServiceVersion "default/tang-operator.v0.0.28"
INFO[0018] Found ClusterServiceVersion "default/tang-operator.v0.0.28" phase: Pending
INFO[0020] Found ClusterServiceVersion "default/tang-operator.v0.0.28" phase: InstallReady
INFO[0021] Found ClusterServiceVersion "default/tang-operator.v0.0.28" phase: Installing
INFO[0031] Found ClusterServiceVersion "default/tang-operator.v0.0.28" phase: Succeeded
INFO[0031] OLM has successfully installed "tang-operator.v0.0.28"
INFO[0012] Waiting for ClusterServiceVersion "default/tang-operator.v1.0.0"
INFO[0018] Found ClusterServiceVersion "default/tang-operator.v1.0.0" phase: Pending
INFO[0020] Found ClusterServiceVersion "default/tang-operator.v1.0.0" phase: InstallReady
INFO[0021] Found ClusterServiceVersion "default/tang-operator.v1.0.0" phase: Installing
INFO[0031] Found ClusterServiceVersion "default/tang-operator.v1.0.0" phase: Succeeded
INFO[0031] OLM has successfully installed "tang-operator.v1.0.0"
```
To install latest multi-arch image, execute:
```bash
Expand All @@ -135,10 +136,10 @@ your cluster takes long time to deploy. To do so, the option **--timeout** can b
used (if not used, default time is 2m, which stands for two minutes):

```bash
$ operator-sdk run bundle --timeout 3m quay.io/sec-eng-special/tang-operator-bundle:v0.0.28 --index-image=quay.io/operator-framework/opm:v1.23.0
INFO[0008] Successfully created registry pod: quay-io-sec-eng-special-tang-operator-bundle-v0.0.28
$ operator-sdk run bundle --timeout 3m quay.io/sec-eng-special/tang-operator-bundle:v1.0.0 --index-image=quay.io/operator-framework/opm:v1.23.0
INFO[0008] Successfully created registry pod: quay-io-sec-eng-special-tang-operator-bundle-v1.0.0
...
INFO[0031] OLM has successfully installed "tang-operator.v0.0.28"
INFO[0031] OLM has successfully installed "tang-operator.v1.0.0"
```

Additionally, correct Tang operator installation can be observed if an output like
Expand All @@ -148,7 +149,7 @@ the following is observed when prompting for installed pods:
$ oc get pods
NAME READY STATUS RESTARTS AGE
dbbd1837106ec169542546e7ad251b95d27c3542eb0409c1e 0/1 Completed 0 82s
quay-io-tang-operator-bundle-v0.0.28 1/1 Running 0 90s
quay-io-tang-operator-bundle-v1.0.0 1/1 Running 0 90s
tang-operator-controller-manager-5c9488d8dd-mgmsf 2/2 Running 0 52s
```

Expand Down Expand Up @@ -195,19 +196,19 @@ to be released, it is recommended to increase version appropriately.
In this case, same version is used. Last released version can be observed in
[Versions](#versions) section.

To summarize, taking into account that the last released version is **v0.0.28**,
To summarize, taking into account that the last released version is **v1.0.0**,
compilation can be done with next command:

```bash
$ make docker-build docker-push IMG="quay.io/sec-eng-special/tang-operator:v0.0.28"
$ make docker-build docker-push IMG="quay.io/sec-eng-special/tang-operator:v1.0.0"
...
Successfully built 4a88ba8e6426
Successfully tagged sec-eng-special/tang-operator:v0.0.28
docker push sec-eng-special/tang-operator:v0.0.28
Successfully tagged sec-eng-special/tang-operator:v1.0.0
docker push sec-eng-special/tang-operator:v1.0.0
The push refers to repository [quay.io/sec-eng-special/tang-operator]
79109912085a: Pushed
417cb9b79ade: Layer already exists
v0.0.28: digest: sha256:c97bed08ab71556542602b008888bdf23ce4afd86228a07 size: 739
v1.0.0: digest: sha256:c97bed08ab71556542602b008888bdf23ce4afd86228a07 size: 739
```

In case a new release is planned to be done, the steps to follow will be:
Expand All @@ -223,15 +224,15 @@ index 9a41c6a..db12a82 100644
@@ -3,7 +3,7 @@
# To re-generate a bundle for another specific version without changing the
# standard setup, you can:
# - use the VERSION as arg of the bundle target (e.g make bundle VERSION=0.0.28)
# - use environment variables to overwrite this value (e.g export VERSION=0.0.28)
# - use the VERSION as arg of the bundle target (e.g make bundle VERSION=1.0.0)
# - use environment variables to overwrite this value (e.g export VERSION=1.0.0)
-VERSION ?= 0.0.27
+VERSION ?= 0.0.28
+VERSION ?= 1.0.0
```

Apart from previous changes, it is recommended to generate a "latest" tag for tang-operator bundle:
```bash
$ docker tag quay.io/sec-eng-special/tang-operator-bundle:v0.0.28 quay.io/sec-eng-special/tang-operator-bundle:latest
$ docker tag quay.io/sec-eng-special/tang-operator-bundle:v1.0.0 quay.io/sec-eng-special/tang-operator-bundle:latest
$ docker push quay.io/sec-eng-special/tang-operator-bundle:latest
```

Expand All @@ -241,14 +242,14 @@ Compile Tang operator code, specifying new version,
by using **make docker-build** command:

```bash
$ make docker-build docker-push IMG="quay.io/sec-eng-special/tang-operator:v0.0.28"
$ make docker-build docker-push IMG="quay.io/sec-eng-special/tang-operator:v1.0.0"
...
Successfully tagged sec-eng-special/tang-operator:v0.0.28
docker push sec-eng-special/tang-operator:v0.0.28
Successfully tagged sec-eng-special/tang-operator:v1.0.0
docker push sec-eng-special/tang-operator:v1.0.0
The push refers to repository [quay.io/sec-eng-special/tang-operator]
9ff8a4099c67: Pushed
417cb9b79ade: Layer already exists
v0.0.28: digest: sha256:01620ab19faae54fb382a2ff285f589cf0bde6e168f14f07 size: 739
v1.0.0: digest: sha256:01620ab19faae54fb382a2ff285f589cf0bde6e168f14f07 size: 739
```

- <ins>Bundle push</ins>:
Expand All @@ -258,15 +259,15 @@ the bundle with **make bundle**, specifying appropriate image,
and push it with **make bundle-build bundle-push**:

```bash
$ make bundle IMG="quay.io/sec-eng-special/tang-operator:v0.0.28"
$ make bundle-build bundle-push BUNDLE_IMG="quay.io/sec-eng-special/tang-operator-bundle:v0.0.28"
$ make bundle IMG="quay.io/sec-eng-special/tang-operator:v1.0.0"
$ make bundle-build bundle-push BUNDLE_IMG="quay.io/sec-eng-special/tang-operator-bundle:v1.0.0"
...
docker push sec-eng-special/tang-operator-bundle:v0.0.28
docker push sec-eng-special/tang-operator-bundle:v1.0.0
The push refers to repository [quay.io/sec-eng-special/tang-operator-bundle]
02e3768cfc56: Pushed
df0c8060d328: Pushed
84774958bcf4: Pushed
v0.0.28: digest: sha256:925c2f844f941db2b53ce45cba9db7ee0be613321da8f0f05d size: 939
v1.0.0: digest: sha256:925c2f844f941db2b53ce45cba9db7ee0be613321da8f0f05d size: 939
make[1]: Leaving directory '/home/user/RedHat/TASKS/TANG_OPERATOR/tang-operator'
```

Expand Down Expand Up @@ -306,15 +307,15 @@ In order to cross compile tang-operator, prepend **GOARCH** with required archit
**make docker-build**:

```bash
$ GOARCH=ppc64le make docker-build docker-push IMG="quay.io/sec-eng-special/tang-operator:v0.0.28"
$ GOARCH=ppc64le make docker-build docker-push IMG="quay.io/sec-eng-special/tang-operator:v1.0.0"
...
Successfully built 4a88ba8e6426
Successfully tagged sec-eng-special/tang-operator:v0.0.28
docker push sec-eng-special/tang-operator:v0.0.28
Successfully tagged sec-eng-special/tang-operator:v1.0.0
docker push sec-eng-special/tang-operator:v1.0.0
The push refers to repository [quay.io/sec-eng-special/tang-operator]
79109912085a: Pushed
417cb9b79ade: Layer already exists
v0.0.28: digest: sha256:c97bed08ab71556542602b008888bdf23ce4afd86228a07 size: 739
v1.0.0: digest: sha256:c97bed08ab71556542602b008888bdf23ce4afd86228a07 size: 739
```

## Cleanup
Expand All @@ -324,9 +325,9 @@ recommended way:

```bash
$ operator-sdk cleanup tang-operator
INFO[0001] subscription "tang-operator-v0.0.28-sub" deleted
INFO[0001] subscription "tang-operator-v1.0.0-sub" deleted
INFO[0001] customresourcedefinition "tangservers.daemons.redhat.com" deleted
INFO[0002] clusterserviceversion "tang-operator.v0.0.28" deleted
INFO[0002] clusterserviceversion "tang-operator.v1.0.0" deleted
INFO[0002] catalogsource "tang-operator-catalog" deleted
INFO[0002] operatorgroup "operator-sdk-og" deleted
INFO[0002] Operator "tang-operator" uninstalled
Expand Down Expand Up @@ -397,11 +398,11 @@ NOTE: CI/CD is in a continuous "work in progress" state

## Scorecard

Execution of operator-sdk scorecard tests are passing completely in version v0.0.28.
Execution of operator-sdk scorecard tests are passing completely in version v1.0.0.
In order to execute these tests, run next command:

```bash
$ operator-sdk scorecard -w 60s quay.io/sec-eng-special/tang-operator-bundle:v0.0.28
$ operator-sdk scorecard -w 60s quay.io/sec-eng-special/tang-operator-bundle:v1.0.0
...
Results:
Name: olm-status-descriptors
Expand Down
8 changes: 4 additions & 4 deletions bundle/manifests/tang-operator.clusterserviceversion.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -25,10 +25,10 @@ metadata:
}
]
capabilities: Basic Install
createdAt: "2023-06-07T10:56:05Z"
createdAt: "2023-10-05T08:04:13Z"
operators.operatorframework.io/builder: operator-sdk-v1.28.1
operators.operatorframework.io/project_layout: go.kubebuilder.io/v3
name: tang-operator.v0.0.28
name: tang-operator.v1.0.0
namespace: placeholder
spec:
apiservicedefinitions: {}
Expand Down Expand Up @@ -321,7 +321,7 @@ spec:
- --leader-elect
command:
- /manager
image: quay.io/sec-eng-special/tang-operator:v0.0.28
image: quay.io/sec-eng-special/tang-operator:v1.0.0
livenessProbe:
httpGet:
path: /healthz
Expand Down Expand Up @@ -404,4 +404,4 @@ spec:
maturity: alpha
provider:
name: Red Hat
version: 0.0.28
version: 1.0.0
2 changes: 1 addition & 1 deletion config/manager/kustomization.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -13,4 +13,4 @@ kind: Kustomization
images:
- name: controller
newName: quay.io/sec-eng-special/tang-operator
newTag: v0.0.28
newTag: v1.0.0