Post

Update Octobot version to 2.x.

Update Octobot version to 2.x.

Change Summary

The recent modification to the main.tf file within the octobot module of our Infrastructure as Code (IaC) repository updates the image versioning strategy for the Argo CD application named “octobot.” Specifically, the version specification for the drakkarsoftware/octobot Docker image has been adjusted.

Technical Details

  • File Modified: IaC/modules/octobot/main.tf
  • Resource: argocd_application named “octobot”
  • Change: Updated the annotation for the Argo CD image updater to change the image version from 2.0.x to 2.x.
1
2
- "argocd-image-updater.argoproj.io/image-list" = "octobot=drakkarsoftware/octobot:2.0.x"
+ "argocd-image-updater.argoproj.io/image-list" = "octobot=drakkarsoftware/octobot:2.x"

This change allows the Argo CD image updater to consider a broader range of minor versions for updates, moving from a fixed minor version (2.0.x) to any minor version within the major version 2 (2.x).

Key Learnings & Insights

  • Versioning Strategy: The change reflects a shift towards a more flexible versioning strategy, allowing for automated updates to include any minor version within the specified major version. This can help ensure that the application benefits from the latest features and security patches without requiring manual intervention for each minor version update.
  • Automation Benefits: By leveraging semantic versioning (semver), we enhance the automation capabilities of our CI/CD pipeline, reducing the need for frequent manual updates and associated risks.
  • Trade-offs: While this approach increases automation and potentially reduces maintenance overhead, it also introduces a slight risk of incorporating breaking changes if the upstream image publisher does not adhere strictly to semantic versioning principles.

Impact Assessment

  • System Performance: There should be no direct performance impact from this change, as it primarily affects the versioning strategy for image updates.
  • Security: Enhanced security posture by allowing more frequent updates that may include critical patches.
  • Maintainability: Improved maintainability due to reduced manual intervention required for image updates.

Developer Notes

  • Gotchas: Ensure that the upstream Docker image (drakkarsoftware/octobot) follows semantic versioning conventions to avoid unexpected breaking changes.
  • Future Improvements: Consider implementing additional checks or gates within the CI/CD pipeline to validate the stability of new image versions before deployment. This could involve canary releases or automated testing against new versions.
This post is licensed under CC BY 4.0 by the author.