How to upgrade the ECK-Operator chart📜
ECK-Operator is a modified/customized version of an upstream chart. The below details the steps required to update to a new version of the eck-operator package.
-
Navigate to the upstream chart repo and folder and find the tag that corresponds with the new chart version for this update
- Check the upstream release highlights for any major changes or potential conflicts.
-
git clone
the [eck-operator] repository](https://repo1.dso.mil/big-bang/product/packages/eck-operator) from Repo1 and checkout therenovate/ironbank
branch. -
Update the chart version in
./chart/Chart.yaml
and append or bump the-bb.0
suffix (if missing or incorrect) to the chart version from upstream. -
Ensure the Big Bang
./chart/Chart.yaml
and the target upstream versionChart.yaml
align correctly with the following:- Check
appVersion
andbigbang.dev/applicationVersions
in./chart/Chart.yaml
to make sure they match and have updated to the correct version - Check the upstream chart dependencies and compare the dependency versions against the corresponding image tags in
./chart/values.yaml
to make sure they match
NOTE: The Renovate issue may be blocked by one of the following conditions: - The upstream chart expects a newer image tag that does not yet exist in Iron Bank - If so, ensure that an issue exists in the associated Iron Bank container repository to track the upgrade version. Link the Iron Bank issue to the package Renovate issue for tracking purposes. - There is a newer image tag in Iron Bank, but is not yet supported or tested by upstream - If the newer image is a major version bump and/or contains breaking changes, the Renovate issue can be moved to
status::blocked
until the upstream chart catches up. If the newer image is only a patch or minor version bump, you can proceed with the Renovate (upgrading the image beyond the version referenced in the upstream chart). - Check
-
Update
upstream.image.tag
in./chart/values.yaml
to match the updated version in Iron Bank. -
Update the
helm.sh/images
annotations in./chart/Chart.yaml
to match updated versions in Iron Bank. -
Update dependencies and binaries using
helm dependency update ./chart
. -
Update
CHANGELOG.md
adding an entry for the new version and noting all changes (at minimum should includeUpdated eck-operator from x.x.x to x.x.x
). -
Generate the
README.md
updates by following the guide in gluon. -
Push up your changes, add upgrade notices if applicable, validate that CI passes.
- If there are any failures, follow the information in the pipeline to make the necessary updates.
- Add the
debug
label to the MR for more detailed information. - Reach out to the CODEOWNERS if needed.
-
(Optional, only required if package changes are expected to have cascading effects on bigbang umbrella chart) As part of your MR that modifies bigbang packages, you should modify the bigbang bigbang/tests/test-values.yaml to target your branch for CI/CD MR testing.
- To do this, at a minimum, you will need to follow the instructions at bigbang/docs/developer/test-package-against-bb.md with changes for ECK-Operator enabled (the below is a reference, actual changes could be more depending on what changes where made to ECK-Operator in the pakcage MR).
test-values.yaml📜
```yaml
eckOperator:
enabled: true
git:
tag: null
branch: <my-package-branch-that-needs-testing>
values:
istio:
hardened:
enabled: true
### Additional components of ECK-Operator should be changed to reflect testing changes introduced in the package MR
```
-
Complete the manual testing steps in the following section.
-
Once all manual testing is complete, take your MR out of “Draft” status, assign reviewers, and add the review label.
Testing new ECK-Operator Version📜
NOTE: For these testing steps it is good to do them on both a clean install and an upgrade. For clean install, point ECK-Operator to your branch. For an upgrade do an install with ECK-Operator pointing to the latest tag, then perform a helm upgrade with ECK-Operator pointing to your branch.
The following overrides can be used for a bare minimum ECK-Operator deployment:
istiod:
enabled: true
values:
hardened:
enabled: true
istioCRDs:
enabled: true
istioGateway:
enabled: true
networkPolicies:
enabled: true
neuvector:
enabled: false
monitoring:
enabled: true
elasticsearchKibana:
enabled: true
license:
trial: true
eckOperator:
# -- Toggle deployment of ECK Operator.
enabled: true
git:
tag: null
branch: renovate/ironbank
- Ensure that all ECK-Operator pods are up and running.
- Ensure that all elasticsearch-kibana are deploying and running.
- Login to Prometheus, validate under
Status
->Targets
that all eck-operator targets are showing as up
When in doubt with any testing or upgrade steps, reach out to the CODEOWNERS for assistance.