Adding an optional deployment to increase AI pickup speed
Description of the change
The aim of this PR is to add the process described in increasing AI pickup speed in a simple but functional way to the helm-chart.
It functions similarly to the cronjob sidecar by mounting the volumes under nextcloud-main.
Benefits
The deployment is completely optional as it only has relevance to those who want to use the nextcloud-assistant or other AI integrations. Additionally this method allows for scaling by increasing the number of replicas of the deployment. (This is why I decided against using a container withing the main pod).
It makes use of the same image and volumes as the main nextcloud pod, so I don't think it will require additional maintenance unless something about how AI Tasks are handled changes in the future. Maybe we won't even need this anymore who knows :)
Possible drawbacks
None that I can think of.
Applicable issues
I didn't find any open issues concerning this functionality.
Additional information
I created a modified version of the nextcloud.volumeMounts helper template to reduce the required volumes that need to be mounted to the pods as much as possible.
Checklist
- [X] I have read the CONTRIBUTING.md doc.
- [X] DCO has been signed off on the commit.
- [X] Chart version bumped in
Chart.yamlaccording to semver. - [X] (optional) Parameters are documented in the README.md
Alright no worries, I add these workers per kustomization myself at the moment. Works like a charm. I made the PR because I thought it might increase the ease of use for others that decide to use the assistant.
Ah and I forgot to mention that I tested it with both the apache and fpm-alpine images.
Hello, this is still on my todo list, I've been rather busy lately. I think I might have time on saturday to implement the suggested changes.
I can provide the values I used to test, if that's helpful.
Could you check if my changes works?
And maybe add your test-values in an test?
- therefore put a values.yaml here: https://github.com/nextcloud/helm/tree/main/charts/nextcloud/test-values
- call them as a testcase job in the github-actions matrix: https://github.com/nextcloud/helm/blob/7785d699867a27b8e01ffdfad9771f98b2c0e4d9/.github/workflows/lint-test.yaml#L70
Tested your changes and added a test-case with values. Works like a charm :)
I'll rebase once the we agree on the changes. I didn't get a chance to check your suggested change yet.
Hey guys, any updates on this PR? Seems like Nextcloud is still using the delay introducing job based executions for the AI features so getting this merged would be quite handy :)