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

Add OPERATOR_SIDECAR_IMAGE to K8s operator docs #1293

Open
ramondeklein opened this issue Aug 6, 2024 · 5 comments
Open

Add OPERATOR_SIDECAR_IMAGE to K8s operator docs #1293

ramondeklein opened this issue Aug 6, 2024 · 5 comments
Labels
tiny Small, bite-sized fixes that require minimal effort

Comments

@ramondeklein
Copy link
Contributor

Please add the OPERATOR_SIDECAR_IMAGE environment variable to this page: https://min.io/docs/minio/kubernetes/upstream/reference/operator-environment-variables.html#envvar.MINIO_OPERATOR_IMAGE. It can be set to override the default operator image.

See also minio/operator#2258

@ramondeklein ramondeklein changed the title @fouadsemaan You're right. I'll forward this to the docs team. Add OPERATOR_SIDECAR_IMAGE to K8s operator docs Aug 6, 2024
@ravindk89 ravindk89 transferred this issue from minio/docs-k8s Aug 6, 2024
@ravindk89
Copy link
Collaborator

@pjuarezd indeed MINIO_OPERATOR_IMAGE appears to no longer be in the codebase. Does OPERATOR_SIDECAR_IMAGE have any difference in functionality?

What purpose does this serve otherwise? I assume maybe setting a tenant so the sidecar has an older or newer version of Operator. but is that safe or normal?

@ramondeklein
Copy link
Contributor Author

AFAIK, the operator image included the sidecar binary before v6. When the sidecar container is deployed, then it actually deployed the operator image and used the sidecar binary instead of the operator. Now it uses a dedicated image for the sidecar, so this variable name has been changed.

The functionality of the variable is identical. But this text "Omit to use the Operator image." should be changed to "Omit to use the default sidecar image.".

@pjuarezd
Copy link
Member

pjuarezd commented Aug 6, 2024

@pjuarezd indeed MINIO_OPERATOR_IMAGE appears to no longer be in the codebase. Does OPERATOR_SIDECAR_IMAGE have any difference in functionality?

What purpose does this serve otherwise? I assume maybe setting a tenant so the sidecar has an older or newer version of Operator. but is that safe or normal?

some differences:

  • MINIO_OPERATOR_IMAGE was renamed to OPERATOR_SIDECAR_IMAGE
  • OPERATOR_SIDECAR_IMAGE Is the image to use in the Tenant pods for initContainer and sidecar container
  • If not set defaults to DefaultSidecarImage value in https://github.com/minio/operator/blob/master/pkg/resources/statefulsets/minio-sidecar.go
  • Sidecar image is a self-contained image, with a different lifecycle than Operator image, the Idea is that sidecar will be released less frequently that operator.
  • When the OPERATOR_SIDECAR_IMAGE is set and this value changes in the tenant Statefulsets causes a rolling restart in Tenant pods, tha's why we did a separated release, to avoid cause a Tenant pods restart when Operator is updated.

@ramondeklein
Copy link
Contributor Author

ramondeklein commented Aug 6, 2024

@ravindk89 Some customers only allow fetching images from their own Docker repositories and block all other repositories. So they'll pull the image from quay.io, review/scan it and push it to their own repository. Then set OPERATOR_SIDECAR_IMAGE to fetch the image from that particular repository. So it's often more for safety reasons. Maybe "compliance" is a better term to describe this...

@ravindk89
Copy link
Collaborator

OK, that works for docs purposes. Thanks folks!

@djwfyi djwfyi added the tiny Small, bite-sized fixes that require minimal effort label Sep 5, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
tiny Small, bite-sized fixes that require minimal effort
Projects
None yet
Development

No branches or pull requests

4 participants