-
Notifications
You must be signed in to change notification settings - Fork 31
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
Adds initContainer option to the helmcharts and allows default QW_CONFIG to be overridden by chart values. #92
Adds initContainer option to the helmcharts and allows default QW_CONFIG to be overridden by chart values. #92
Conversation
Hi thanks for your contribution, I made few comments following some tests. Thanks in advance :) |
Hello, Thanks for the review, I made the fixes based on your suggestions. However, I am still working on testing the changes. I will keep you posted once I confirm everything is working as expected. |
@hgudladona do you need another look on your PR? |
I have fixed the syntax issues and tested the rendering. I am working on rolling out the components onto my EKS cluster and ensure functionality. I will let you know after this test. I am pretty close. Would you like me to move this PR to draft state? |
NIce. Keep it as is, that's fine. Let us know the outcome of your tests on your EKS cluster! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hi. I made other feedbacks and mark the previous ones as solved.
Thanks :)
4830aa1
to
ac9d0bf
Compare
Hello, I have made necessary fixes and tested these templates while integrating to export my spark logs via Vector --> Warpstream --> Quickwit on AWS. Please take a look at the proposed changes and let me know. The init container is particularly useful as follows. Having this in the jobs template allows a new config file to be created while substituting
|
Hi LGTM, I'll run some tests with kind ASAP (probably tomorrow) and merge it if it's okay. Thanks for your work! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Following the result of the tests, we still have some changes to make ^^
Thanks
Use nodeSelector, affinity, tolerations from bootstrap config values. This ensures pods generated from k8s Job have these settings propagated. Allow command and args to be overridden via values files. This helps in providing custom config files generated from templates as necessary
ac9d0bf
to
198152e
Compare
Tests with this value file: ---
config:
default_index_root_uri: s3://qw-indexes
storage:
s3:
endpoint: https://s3.fr-par.scw.cloud
region: fr-par
access_key_id: SCWXXXXXXX
secret_access_key: XXXXXXXXXXX
environment:
QW_METASTORE_URI: s3://qw-indexes
indexer:
initContainers: &initContainers
- name: hello
image: busybox:1.28
command: ['echo', 'heyyyyy']
searcher:
initContainers: *initContainers
janitor:
initContainers: *initContainers
control_plane:
initContainers: *initContainers
metastore:
initContainers: *initContainers Result ok ✅: $ helm template . --values values.yaml --values values2.yaml --namespace=quickwit|kubectl -n quickwit apply -f -
$ kubectl -n quickwit logs release-name-quickwit-searcher-0 -c hello
heyyyyy
$ kubectl -n quickwit logs release-name-quickwit-indexer-0 -c hello
heyyyyy |
Other test changing the location of the config file : ---
configLocation: /tmp/yo.yml
config:
default_index_root_uri: s3://qw-indexes
storage:
s3:
endpoint: https://s3.fr-par.scw.cloud
region: fr-par
access_key_id: SCWXXXXXX
secret_access_key: XXXXXXXX
environment:
QW_METASTORE_URI: s3://qw-indexes
indexer:
initContainers: &initContainers
- name: show
image: busybox:1.28
command: ['cat', '/tmp/yo.yaml']
- name: move
image: busybox:1.28
command: ['cp', '/tmp/yo.yaml', '/quickwit/node.yaml']
searcher:
initContainers: *initContainers
janitor:
initContainers: *initContainers
control_plane:
initContainers: *initContainers
metastore:
initContainers: *initContainers Test ko ❌: $ kubectl -n quickwit logs release-name-quickwit-searcher-0 -c show
cat: can't open '/tmp/yo.yaml': No such file or directory The value field - name: QW_CONFIG
value: {{ .Values.configLocation }} But I think it should also change the configmap path mounted into the pods. Maybe It'll be good if we get the opinion of other reviewers on this. On my side, I think changing only the environment variable to tell quickwit "the config file is there" on one side and continue to write it in |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
See the last test
Usually config maps are immutable from the pod itself, a more probable usage would be to mount an emptyDir to the pod's init and main containers where the mutated config is copied to. If the user IS doing the mutation of the config I'd expect they would also update the configLocation. |
Explanation good enough to me, I agree for the configmap immutability. Let's see if in the future other users will have issues with that. For now, we can deal with overriding completely the config from an initContainers with this version. So LGTM, I think there is some linter issues to fix (see the github action pipelines) and we're good to merge :) Thanks for your work |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We just have to fix the linter issues and increment the Chart.yaml
version (we can increment the last digit because there's no breaking changes, so 0.6.2
at the time of writing).
EDIT: the linter issue is only the missing bump of the Chart.yaml
, so only one thing remaining and we're good to go ^^
Thanks in advance
thank you @hgudladona and @idrissneumann for you work! |
PR for #91