Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Set specific version tag lumigo-injector image as default in Helm chart #17

Open
mmanciop opened this issue Feb 16, 2023 · 5 comments
Open

Comments

@mmanciop
Copy link
Contributor

mmanciop commented Feb 16, 2023

Every time a new tag (except for latest) is released for the injector image, use it to update the default in the Helm chart and publish a new Helm chart release.

@mmanciop mmanciop changed the title Set latest lumigo-injector image as default in Helm chart Set specific version tag lumigo-injector image as default in Helm chart Feb 16, 2023
@AkshayAwate
Copy link

Hi, @mmanciop before implementing want to discuss about the solution, can we keep tag: ""

injectorWebhook:
  lumigoInjector:
    image:
      repository: public.ecr.aws/lumigo/lumigo-autotrace
      tag: ""

whenever user wants to deploy with particular version they can pass as tag: "1.0.0" else latest tag will be used. i have tried with using tag: "1.0.0", image was able to pick tag like this:
LUMIGO_INJECTOR_IMAGE: public.ecr.aws/lumigo/lumigo-autotrace:1.0.0, should i make changes and raise PR ?

@mmanciop
Copy link
Contributor Author

mmanciop commented Feb 17, 2023

Thanks for the idea but no, we don't want to use latest as default in the chart. It leaves very inconsistent results in terms of which image will be used on which K8s node, and it would lead to horribly complex bugs to debug. Instead, we are going to always pin a specific version in the Helm chart, release a new Helm chart version when there is an image update, and teach the operator to auto-update itself (see #5).

The goal of this "unusual" way of doing things is that the version of the Helm chart and operator (same version always) tells us pretty much everything we need to know about injector image, and therefore tracers, etc. Much less to ask and check when supporting this way ;-)

@AkshayAwate
Copy link

AkshayAwate commented Feb 17, 2023

@mmanciop ,Then we can remove default "latest" from here and keep it as
{{ .Values.injectorWebhook.lumigoInjector.image.repository }}:{{ .Values.injectorWebhook.lumigoInjector.image.tag }}. So will use specific tag, does this makes sense ?

@mmanciop
Copy link
Contributor Author

mmanciop commented Feb 17, 2023

That's pretty much the idea, but it should be done entirely in the build process, where a regularly-scheduled GitHub workflow checks what is the latest tag on the injector image, runs end-to-end tests, and then opens a PR against main to update. However, before getting to that, I want to improve the test coverage and automate the integration tests, because such advanced automation requires excellent, equally-automated quality assurance :-)

@AkshayAwate
Copy link

Yup, sounds good!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants