Support OCI for XWiki Helm Charts

Hi,

Today, the XWiki Helm Chart is uploaded and is using Github pages and releases to serve chart releases.
The idea of supporting an OCI-based registry is to use only container files to install a XWiki instance. This is a chance to install an XWiki instance on a restricted environment like Air-Gaped or using a Container Registry Proxy.

Current initial alternatives of container registry that we have are:

  • DockerHub
  • Gitlab Packages
  • Nexus (xwiki.org)

At first, I think it’s better to use nexus.xwiki.org because it’s where other contrib projects store their artifacts (maven). I’m not sure if the current version of nexus.xwiki.org has a place to store containers. This feature may only be available on Nexus 3.

About other options, my first thoughts are:

  • Gitlab Packages are simple and easy to set up, but today there are no artifacts being stored on Gitlab Packages for contrib projects.
  • DockerHub can be a viable alternative, but it will require time to see how to do and how to manage.

Any other ideas or thoughts are appreciated.

Hi @gsautner

Today the XWiki core devs use dockerhub for our docker images. We have not yet explored using nexus.xwiki.org for that but even if it worked, there could be a problem of bandwidth that we would need to support (and thus cost). The danger with dockerhub is that one day they may remove the free options for open source projects. However, we can always move when/if that happens.

Could you explain what is needed to be stored and what size it is? Is it just yml files or some docker images too?

One question would be under which account you’d use dockerhub. I guess we could create a xwiki contrib account there (right now we only have an xwiki account but the helm charts are part of the contrib github org and not managed by the XWiki core devs - a topic to be discussed too, but different ;)).

Thanks!

We need to store a tar.gz file that is not huge, current size is 169KB. This file contains all Chart template files (yaml).

Sounds good to me to use a xwiki-contrib account. We only need a Personal Access Token (PAT) to be added as Repository Secret on xwiki-contrib/xwiki-helm project.