Hey Ashish, 

I think for now you could stick to deployment. Have you been ever to discover 
the data you need to move to the shared file system? Is the in-memory caching 
mechanism causing problems? 

@Thomas/Vincent - Can you please help us understand the implications of running 
XWiki in a clustered mode by sharing data volumes? 

Best,
Shubham. 


Best,
Shubham? 

> On 19-Jul-2019, at 5:35 AM, Ashish Sharma <[email protected]> wrote:
> 
> Resent the email at the mail thread.
> 
> On Fri, Jul 19, 2019 at 2:01 AM Ashish Sharma <[email protected]>
> wrote:
> 
>> Hello everyone,
>> 
>> I am trying to implement xwiki helm chart in High availability but facing
>> some problems.
>> 
>> How we can implement High Availability(HA) in Kubernetes:-
>> 
>> 1. Through Deployment:-  In this approach we would use a shared file
>> storage, that would get attached to multiple pods(or containers)
>> 2. Through StatefulSet:- In this approach every pod(or container) would
>> have it’s own different volume and state, which should be synchronised by
>> an consensus algorithm
>> 
>> Problem faced in xwiki case:-
>> 
>> 1. In deployment case we need a locking mechanism for our filesystem,
>> moreover caching and states should also be maintained outside the container.
>> 2. In StatefulSet the consensus algorithm is not present so it is
>> currently not possible.
>> 
>> Could anyone help me through it.
>> 
>> Thanks,
>> Ashish
>> 
>> On Wed, 10 Jul 2019 at 10:32 AM, Shubham Jain <[email protected]>
>> wrote:
>> 
>>> Hey Ashish,
>>> 
>>> I think Vincent/Thomas can help with the PR on the xwiki-docker project.
>>> 
>>> Regarding adding docs for High-Availability setup using shared data
>>> volumes, I think you can use could create a docs folder in the GitHub repo,
>>> and add the docs in Markdown format. I think you can also document it in
>>> XWiki blog <https://www.xwiki.org/xwiki/bin/view/Blog/>. The chart
>>> should support enabling HA, and then passing a storage class which supports
>>> shareable volumes to Pods, and then you can document examples for using
>>> this with something like Rook+GKE setup.
>>> 
>>> Best,
>>> Shubham.
>>> 
>>> 
>>>> On 08-Jul-2019, at 1:57 PM, Ashish Sharma <[email protected]>
>>> wrote:
>>>> 
>>>> Hello everyone,
>>>> 
>>>> I require the xwiki solr docker container to do progress with my work. I
>>>> have made a pull request
>>>> <https://github.com/xwiki-contrib/docker-xwiki/pull/22>, for the same.
>>>> Please look into it.
>>>> 
>>>> Moreover, I was working with Rook(Ceph Operator) for a shared file
>>> system
>>>> which would be a better approach to deploy our app on production. So I
>>>> think we should document it somewhere. Can anyone help me where should
>>> I do
>>>> that. It may contain the details to configure rook-ceph, and then
>>>> connecting it.
>>>> 
>>>> P.S. I am writing a blog at Medium on how to configure rook on Google
>>>> Kubernetes Engine. We could also use that?
>>>> 
>>>> Thanks,
>>>> Ashish
>>>> 
>>>> On Mon, Jun 24, 2019 at 8:31 PM Ashish Sharma <
>>> [email protected]>
>>>> wrote:
>>>> 
>>>>> Hi Shubham,
>>>>> 
>>>>> Thank you Shubham, I will start working on adding test cases.
>>>>> 
>>>>> Thanks,
>>>>> Ashish
>>>>> 
>>>>> On Mon, 24 Jun 2019 at 3:32 PM, Shubham Jain <[email protected]>
>>>>> wrote:
>>>>> 
>>>>>> Hey Ashish,
>>>>>> 
>>>>>> Thanks for the update.
>>>>>> 
>>>>>> Adding our chart to incubator section of helm community charts
>>> repository
>>>>>> sounds great. Although (unlike Dockerhub) this repo is for community
>>> charts
>>>>>> and not really official charts of the respective installations, but
>>>>>> supporting this chart in the community chart repo should help with the
>>>>>> visibility.
>>>>>> 
>>>>>> Lets also work on adding tests to the helm chart to ensure things are
>>>>>> going fine.
>>>>>> 
>>>>>> Best,
>>>>>> Shubham.
>>>>>> 
>>>>>>> On 21-Jun-2019, at 4:37 AM, Ashish Sharma <
>>> [email protected]>
>>>>>> wrote:
>>>>>>> 
>>>>>>> Hi everyone,
>>>>>>> 
>>>>>>> Update on HELM project:-
>>>>>>> 
>>>>>>> We have added some features to the chart that includes:-
>>>>>>> * Making chart configurable with both mysql and postgres database
>>>>>>> * We are now using configmaps and secrets for storing database
>>>>>> credentials
>>>>>>> * We use helm dependency to manage the dependencies of the chart
>>>>>>> 
>>>>>>> I think our chart is ready to be deployed in the incubator section of
>>>>>> helm
>>>>>>> community repo. <https://github.com/helm/charts> If you guys agree I
>>>>>> would
>>>>>>> make the necessary changes required to deploy it there.
>>>>>>> 
>>>>>>> Thanks
>>>>>>> - Ashish
>>>>>>> 
>>>>>>> On Wed, Jun 5, 2019 at 7:40 PM Vincent Massol <[email protected]>
>>>>>> wrote:
>>>>>>> 
>>>>>>>> Hi Ashish,
>>>>>>>> 
>>>>>>>>> On 5 Jun 2019, at 15:07, Ashish Sharma <[email protected]
>>>> 
>>>>>>>> wrote:
>>>>>>>>> 
>>>>>>>>> Hi everyone,
>>>>>>>>> 
>>>>>>>>> The first week update of helm chart xwiki project. We currently
>>> have a
>>>>>>>>> chart that would deploy xwiki mysql stateful service with a
>>> persistent
>>>>>>>>> volume. The link to the repo:-
>>>>>>>>> 
>>>>>>>>> https://github.com/xwiki-contrib/xwiki-helm
>>>>>>>> 
>>>>>>>> Thanks for the update.
>>>>>>>> 
>>>>>>>> Would be great if you could update the README file to explain who to
>>>>>> use
>>>>>>>> it.
>>>>>>>> 
>>>>>>>> Thanks
>>>>>>>> -Vincent
>>>>>>>> 
>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> Thank You
>>>>>>>>> Ashish
>>>>>>>>> 
>>>>>>>>> On Thu, 23 May 2019 at 7:27 PM, Ashish Sharma <
>>>>>>>> [email protected]>
>>>>>>>>> wrote:
>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> On Wed, May 22, 2019 at 12:42 PM Vincent Massol <
>>> [email protected]>
>>>>>>>>>> wrote:
>>>>>>>>>> 
>>>>>>>>>>> Hi Ashish,
>>>>>>>>>>> 
>>>>>>>>>>>> On 21 May 2019, at 19:37, Ashish Sharma <
>>>>>> [email protected]>
>>>>>>>>>>> wrote:
>>>>>>>>>>>> 
>>>>>>>>>>>> Hi everyone,
>>>>>>>>>>>> Thanks for having me here
>>>>>>>>>>>> 
>>>>>>>>>>>> About Me
>>>>>>>>>>>> 
>>>>>>>>>>>> I am Ashish Sharma, selected as a student for Google Summer of
>>>>>> Code. I
>>>>>>>>>>> am
>>>>>>>>>>>> final year student enrolled in Guru Gobind Singh Indraprastha
>>>>>>>>>>> University,
>>>>>>>>>>>> Delhi. I am a resident of India.
>>>>>>>>>>>> 
>>>>>>>>>>>> Profiles
>>>>>>>>>>>> GitHub -  https://github.com/ashish932/xwiki-helm-chart/
>>>>>>>>>>>> LinkedIn - https://www.linkedin.com/in/ashish932/
>>>>>>>>>>>> Riot - @ashish932:matrix.org
>>>>>>>>>>>> 
>>>>>>>>>>>> I will be presenting my project "Helm Chart for XWiki" to all of
>>>>>> you.
>>>>>>>>>>>> Following
>>>>>>>>>>>> are the relevant details.
>>>>>>>>>>>> 
>>>>>>>>>>>> Helm Chart for XWiki
>>>>>>>>>>>> 
>>>>>>>>>>>> Mentors: Shubham Jain, Neha Gupta
>>>>>>>>>>>> 
>>>>>>>>>>>> Technologies: Kubernetes, Docker, other if required
>>>>>>>>>>>> 
>>>>>>>>>>>> Overview
>>>>>>>>>>>> The proposed project is a helm chart that would deploy xwiki as
>>>>>> highly
>>>>>>>>>>>> available and reliable. It should be configurable with different
>>>>>>>>>>>> databases(either a standalone database or a clustered one) that
>>> are
>>>>>>>>>>>> configurable with xwiki. It would give the option to either
>>>>>> configure
>>>>>>>>>>> solr
>>>>>>>>>>>> externally (standalone or clustered) or managed within the
>>>>>> container.
>>>>>>>>>>> 
>>>>>>>>>>> It also needs to be deployed on various Servlet Containers and
>>> with
>>>>>> a
>>>>>>>>>>> LibreOffice server configured.
>>>>>>>>>>> 
>>>>>>>>>>> In short, it should support all the configurations supported by
>>> the
>>>>>>>>>>> official XWiki Docker images :)
>>>>>>>>>>> 
>>>>>>>>>>>> It
>>>>>>>>>>>> should deploy the app on a shared file system like a rook. It
>>>>>> should
>>>>>>>>>>>> support Istio virtual services, istio matrix, and istio
>>> distributed
>>>>>>>>>>> tracing
>>>>>>>>>>>> and should be a secured system with RBAC and security credential
>>>>>>>>>>> rotation.
>>>>>>>>>>> 
>>>>>>>>>>> Ok I have no knowledge about this… The shared file system sounds
>>>>>> good
>>>>>>>> to
>>>>>>>>>>> support clustering XWiki for the permanent directory sharing.
>>>>>>>>>>> 
>>>>>>>>>>>> The chart should be easily deployed on GKE and amazon EKS.
>>>>>>>>>>> 
>>>>>>>>>>> On locally on minikube for testing I guess?
>>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> Yes we can test using minikube one
>>>>>>>>>> 
>>>>>>>>>>> 
>>>>>>>>>>>> Features
>>>>>>>>>>>> 
>>>>>>>>>>>> ->  Support for different Databases
>>>>>>>>>>>> ->  Choice between using an external database, a single node DB
>>> or
>>>>>> a
>>>>>>>>>>>> multi-cluster DB setup
>>>>>>>>>>>> -> Support for shared file system
>>>>>>>>>>>> -> Support for istio and it's services
>>>>>>>>>>>> -> RBAC, SSL and other security methods
>>>>>>>>>>>> 
>>>>>>>>>>>> If you have any features in mind that should be added please
>>> feel
>>>>>> free
>>>>>>>>>>> to
>>>>>>>>>>>> reply to this mail.
>>>>>>>>>>>> 
>>>>>>>>>>>> Some Design Questions?
>>>>>>>>>>>> -> Which Databases should be supported?
>>>>>>>>>>> 
>>>>>>>>>>> See
>>>>>>>>>>> 
>>>>>>>> 
>>>>>> 
>>> https://dev.xwiki.org/xwiki/bin/view/Community/SupportStrategy/DatabaseSupportStrategy
>>>>>>>>>>> 
>>>>>>>>>>> More generally see the XWiki Docker image documentation and
>>>>>>>>>>> https://dev.xwiki.org/xwiki/bin/view/Community/SupportStrategy
>>>>>>>>>>> 
>>>>>>>>>>>> -> As we have to detach solr out of the docker container(run it
>>> in
>>>>>> an
>>>>>>>>>>>> independent container) would be there a requirement for a code
>>>>>> change,
>>>>>>>>>>> and
>>>>>>>>>>>> we should approach it?
>>>>>>>>>>> 
>>>>>>>>>>> See the doc for Solr which explains how to configure an external
>>>>>> SOLR.
>>>>>>>>>>> There are some XWiki code/config to deploy in the external SOLR
>>>>>> AFAIR.
>>>>>>>>>>> comunity controls chart
>>>>>>>>>>>> -> Apart from solr is there any other stateful service that
>>> could
>>>>>> or
>>>>>>>>>>> should
>>>>>>>>>>>> be detached from the docker container?
>>>>>>>>>>> 
>>>>>>>>>>> Which docker container are you referring to? The Servlet
>>> Container
>>>>>> one?
>>>>>>>>>>> 
>>>>>>>>>>> xwiki:lts-mysql-tomcat
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>>>> Here is my current repository which deploys XWiki for MySQL
>>>>>> database
>>>>>>>>>>> using
>>>>>>>>>>>> official XWiki docker container:-
>>>>>>>>>>>> https://github.com/ashish932/xwiki-helm-chart/
>>>>>>>>>>> 
>>>>>>>>>>> Will need to have a look. Some additional questions:
>>>>>>>>>>> 
>>>>>>>>>>> 1) Is there an official place for publishing helm charts,
>>> similar to
>>>>>>>>>>> dockerhub for docker images? How do you provide the helm charts
>>> to
>>>>>>>> XWiki
>>>>>>>>>>> users in term of packaging? In other words, what will we/you
>>>>>> document
>>>>>>>> on
>>>>>>>>>>> 
>>>>>>>> 
>>>>>> 
>>> https://www.xwiki.org/xwiki/bin/view/Documentation/AdminGuide/Installation/
>>>>>>>>>>> ?
>>>>>>>>>>> 
>>>>>>>>>>> Yes, There is a centralized community control chart management
>>>>>>>>>> repository. Helm charts are hosted there. Organizations like
>>> mysql,
>>>>>>>>>> wordpress uses it.
>>>>>>>>>> https://github.com/helm/charts
>>>>>>>>>> But in addition to that, we can build our own charts repository
>>>>>> locally,
>>>>>>>>>> and host it. Similar to docker run command, we have helm update
>>>>>> command
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>>> 2) How do you plan to have smoke tests for the XWiki Helm
>>> charts, as
>>>>>>>> part
>>>>>>>>>>> of the build, to verify that they work fine? How can we execute
>>>>>> XWik’s
>>>>>>>>>>> functional tests based on TestContainers using Helm Charts?
>>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> There are some tools available
>>>>>>>>>> chart-testing(started by helm) -98 commits
>>>>>>>>>> terratest - 1039 commits (It looks a good tool to use)
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>>> 3) Do the helm charts for XWiki need to be built? If so, can it
>>> be
>>>>>> done
>>>>>>>>>>> with Maven? Since we’ll be offering several I guess, how do you
>>>>>> avoid
>>>>>>>> code
>>>>>>>>>>> duplication and make maintenance of them as simple as possible?
>>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> No, the charts don’t need to be built externally, though it gets
>>>>>>>>>> compressed when pushed f we build to chart repository(this is an
>>>>>>>> automatic
>>>>>>>>>> step in case of official chart repo and we can automate using ci
>>> our
>>>>>> own
>>>>>>>>>> chart repo)
>>>>>>>>>> 
>>>>>>>>>> 4) Could you provide a roadmap with various milestones and dates?
>>> See
>>>>>>>> the
>>>>>>>>>>> last roadmap email I sent on the devs list and please reply to
>>> it.
>>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> Okay I would work on that and update the progress on the mail
>>> thread
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>>> 5) It seems you missed the bonding period so you’ll need to catch
>>>>>> up on
>>>>>>>>>>> that. Could you pick some jira issue and work on them quickly?
>>> This
>>>>>> is
>>>>>>>> to
>>>>>>>>>>> make sure you use the proper xwiki communication channels, learn
>>> to
>>>>>>>> work
>>>>>>>>>>> with the xwiki team and start understanding the xwiki
>>> architecture,
>>>>>>>> and how
>>>>>>>>>>> extensions are developed for XWiki. Since you’re a bit late,
>>> you’ll
>>>>>>>> need to
>>>>>>>>>>> catch up and achieve this very quickly now and be present full
>>> time
>>>>>> on
>>>>>>>> the
>>>>>>>>>>> xwiki chat :)
>>>>>>>>>>> 
>>>>>>>>>> I would start doing that
>>>>>>>>>> 
>>>>>>>>>>> 
>>>>>>>>>>> 6) Idea: please review the issues on the XWiki Docker project’s
>>>>>> jira.
>>>>>>>>>>> Maybe you can help with those too as part of onboarding/bonding.
>>> It
>>>>>>>> should
>>>>>>>>>>> also give you additional use cases for the XWiki Helm Charts IMO.
>>>>>>>>>>> 
>>>>>>>>>>> Thanks! I’m eager to follow your work and see xwiki helm charts
>>> in
>>>>>>>> action.
>>>>>>>>>>> 
>>>>>>>>>>> -Vincent
>>>>>>>>>>> 
>>>>>>>>>>>> 
>>>>>>>>>>>> 
>>>>>>>>>>>> Thank You
>>>>>>>>>>>> Ashish Sharma
>>>>>>>>>>> 
>>>>>>>>>>> Thank You
>>>>>>>>>> Ashish
>>>>>>>>>> 
>>>>>>>> 
>>>>>>>> 
>>>>>> 
>>>>>> 
>>> 
>>> 

Reply via email to