On this topic I started exploring Kubernetes and Helm Charts on my side too. I’d like to gather the knowledge to help maintain it on the long term (similar to what I do for the docker images) and make it an official distribution option for XWiki.
This is mostly a FYI message. I still need some time to ramp up my knowledge of k8s/helm
Some questions (sorry I haven’t checked the helm chart yet…):
How does upgrade currently works in the XWiki Helm chart? For ex, it happens that there’s the need to perform some actions when upgrading (for ex turn on database migration, merge config files, etc). Is this supported right now or not? If not, then it would be interesting to handle it.
What DBs are currently supported? Both MySQL and PostgreSQL?
Same question for Servlet container? Both Tomcat and Jetty?Just Tomcat?
Is libreoffice supported already in the helm chart?
How does upgrade currently work in the XWiki Helm chart? For ex, it happens that there’s the need to perform some actions when upgrading (for ex turn on database migration, merge config files, etc). Is this supported right now or not? If not, then it would be interesting to handle it.
During an upgrade, essentially newer container images would be used. Volumes and DBs would be preserved. However I think you’re referring to automatically turning on migrations config during a helm upgrade, and then disabling once migrations are done. That’s not done yet, however we can do it via helm chart hooks
We may potentially need to change how we handle config, unless XWiki (or the docker image) can turn-on database migration from environment variables.
What DBs are currently supported? Both MySQL and PostgreSQL?
Yes both MySQL and PostgresSQL and you can use the chart to setup DBs while installation, or use external DBs.
Same question for Servlet container? Both Tomcat and Jetty?Just Tomcat?
I think this depends on the image being used. By default it just picks the latest default official XWiki image. If a user wants to use a different image, he can easily override it.
We could also explicitly expose a Helm option to toggle the servlet container. It’s pretty trivial and the user would not require going to the official docker repo for finding the right tag.
Is libreoffice supported already in the helm chart?
I don’t think so. We can add support for enabling Libreoffice with a single flag.
For GSOC this year. I have come up with the following points.
Add support for XWiki migrations via helm upgrade command. For example, there may need to be temporary config changes required during the migration process. ~ 1-2 weeks
Add support for LibreOffice and Jetty. ~ 1-2 days
Add Support for Clustered XWiki – this depends if we should support Jgroups or other implementtion.
@vmassol WDYT? How about we add tasks from xwiki-docker as well in this?