Details
-
Sub-task
-
Resolution: Fixed
-
L3 - Default
-
None
-
None
-
None
-
Not defined
Description
As an OpenShift operator, I want to have more information about the applications deployed to my project, as well as tighter integration with the built-in console, in a format I understand, as I may not always know about the specific applications being deployed even as I must maintain them operationally.
Image labels are a great and cheap way to convey this information, e.g. minimum amount of cores, memory, is the application scalable, what type of software is it, support/contact info, etc. See the context for more info about this.
Acceptance criteria should be:
- All pre-defined annotations are added as `LABEL` instructions in the Optimize Docker image
- The tags defined in Table 1 of RedHat's documentation are added if applicable (e.g. Zeebe does not use `io.openshift.wants`)
I would strongly also recommend verifying the final artifact before a release as well, but I'll let you decide there.
{}Additional context{}
- Zeebe equivalent issue - see issue for relevant PRs
- RedHat recommended image best practices
- Snyk image label integration
- OCI annotation scheme
Testing notes:
Testing the ticket outside of the release process
- Run
docker pull camunda/optimize:SNAPSHOT - Run
docker manifest inspect camunda/optimize:SNAPSHOT - In the result of the command above, you will find two entries under the tag "manifests", one for arm64 platform and one for amd64 platform. For each of these entries, do the following:
- Run
docker pull camunda/optimize:SNAPSHOT@sha256:<THE_HASH_FOUND_UNDER_DIGEST>, e.g.
docker pull camunda/optimize:SNAPSHOT@sha256:bdb2875392360db87766cafe3c9354d463c972609a48f577512522588c58b534 - Run
docker inspect camunda/optimize:SNAPSHOT@sha256:<THE_SAME_HASH_AS_ABOVE>, e.g.
docker inspect camunda/optimize:SNAPSHOT@sha256:bdb2875392360db87766cafe3c9354d463c972609a48f577512522588c58b534
- Check that in the result, under "Labels", you have the same values as defined in https://github.com/camunda/camunda-optimize/blob/master/docker/test/docker-labels.golden.json
- Check that for amd64 platform, the value of org.opencontainers.image.base.digest is "1304f174557314a7ed9eddb4eab12fed12cb0cd9809e4c28f29af86979a3c870"
- Check that for arm64 platform, the value of org.opencontainers.image.base.digest is "ed73e2bee79b3428995b16fce4221fc715a849152f364929cdccdc83db5f3d5c"
- All other values shall be the same for both platforms
Testing the ticket in the release process
- Same procedure as above, but in all commands, substitute SNAPSHOT by the name of the release candidate, e.g. docker pull camunda/optimize:3.9.0-RC1
- Make sure that additionally the label "org.opencontainers.image.version" displays the correct version