Create an Ansible role to install Alpaca and Api-X, adding them to the CLAW playbook.
As with all Ansible roles, check Galaxy for an existing role. If one is found, look to see if it supports both Ubuntu and CENTOS. If it does not support CENTOS, ask the maintainer if they would be receptive to a pull request later on. If it looks well used and either supports CENTOS or is agreeable to a PR for supporting CENTOS, we should use it instead of creating new one.
If creating a new role, start by looking at https://github.com/Islandora-CLAW/claw_vagrant as a starting point. Be sure that it is idempotent and can be run over and over again with no new effect. Use Jinja templating to alter config when deploying instead of using sed a la claw_vagrant.
Test the role by running the CLAW playbook after pulling in the changes. Be sure to execute it multiple times to confirm it is idempotent.
Update: this is advancing and already working. Would like to refine a bit, test more and should be pulling on Thursday.
@dannylamb @jonathangreen @whikloj do you want api-x to be built from source or just deployed from published artifacts?
@DiegoPino published artifacts is probably good.
@dannylamb any ideas on how you want this role named? i went for apix. It is basically API-X (main feature) and allows extra features to be added, which happen to be by default Alpaca, but could be extended to any number of extra ones
@DiegoPino Name it what you want. Api-X and Alpaca will get split out soon enough. As long as we all know that's what's going on it doesn't really matter.
Ok, cool.
@dannylamb @whikloj @jonathangreen is alpaca getting an mvn: repo? Or are we going to build each time?
@ajs6f do you know if we want featuresBootAsynchronous=false or true? Can't decide on this one
I generally leave it true unless I have a specific reason not, because asynch really speeds up installation/boot time. Any dependencies that need to be calculated in really ought to be explicitly called out in the feature catalog.
@DiegoPino We're building alpaca each time in lieu of putting up snapshot builds.
If ever you have any doubts, just stick to what we're doing in claw_vagrant and we can improve later.
@dannylamb yeah, was aware of that but had high hopes. The issue with that is the idempotency thingy and of course checking if compiling actually worked out. Kinda the talk you all had with @jonathangreen about making an rpm instead of compiling libraries from source.
For now will continue as is then. I have found until know a few issues with timings so tunning that a bit, should have finished last week if not for that, hopefully i get around that today. But api-x deploys nicely! (was the easy part)
https://github.com/Islandora-Devops/claw-playbook/pull/8 is my progress so-far
Since @DiegoPino has been super busy as release manager, I'm going to work on finishing up the work on this one, I closed the PR that was attached, and there is a new PR incoming that builds on this work.