A 'DevOps' Configuration for Islandora

144 views
Skip to first unread message

Peter Murray

unread,
Jun 12, 2013, 9:54:37 PM6/12/13
to islandora@googlegroups.com List
This evening I publicly published a work-in-progress on GitHub that is my attempt to wrap some control around this thing called Islandora. It is a git repo that is a "Self-Contained" Islandora installation source tree.

https://github.com/lyrasis/reposervice

The goals of this setup are listed in the README file:

• Put (most) everything in a self-contained directory using relative paths for most components with a configuration script that generates configuration files for absolute paths.
• Make it easy to track the upstream Islandora work so that you can bring selected commits into your own environment, if desired [using git submodules].
• Put the configuration of Fedora Commons, FedoraGSearch, SOLR, and other associated components under version control.
• Use Drupal Features to store the Drupal configuration and put it under version control.
• Support multi-site setups for separate Islandora/Drupal instances using a common Fedora Commons, SOLR, and djatoka installation.

The first four bullets are there along with hints of the fifth. (There is some as-yet unfinished, uncommitted code that automates much of the work of creating multi-site setups under a single Drupal installation.)

There are a few LYRASIS-specific things in here, but I've tried to make the basic building blocks replicable for others. This git repo, as it is further developed and documented, will be the foundation of a presentation I'm giving at Open Repositories next month. Comments, questions, observations, and even pull requests (should you find this setup useful in your own work) welcome!


Peter
--
Peter Murray
Assistant Director, Technology Services Development
LYRASIS
Peter....@lyrasis.org
+1 678-235-2955
800.999.8558 x2955

Nick Ruest

unread,
Jun 12, 2013, 10:17:48 PM6/12/13
to isla...@googlegroups.com
Wow Peter, this is great! A round of applause to you, and your team!

pmurray++
lyrasis++

Now, this is where I ask the core dev team a question :-), and hopefully
don't detract from the great work above!

Do y'all use anything similar to develop in a clean environment? I
imagine you've moved away from the old virtual images. Anything along
the lines of some sort of chef/puppet/vagrant combination? And, maybe,
how about the great work y'all have been doing with Travis, is that
process documented anywhere yet? I'd love to know how it works.

-nruest

On 13-06-12 09:54 PM, Peter Murray wrote:
> This evening I publicly published a work-in-progress on GitHub that is my attempt to wrap some control around this thing called Islandora. It is a git repo that is a "Self-Contained" Islandora installation source tree.
>
> https://github.com/lyrasis/reposervice
>
> The goals of this setup are listed in the README file:
>
> � Put (most) everything in a self-contained directory using relative paths for most components with a configuration script that generates configuration files for absolute paths.
> � Make it easy to track the upstream Islandora work so that you can bring selected commits into your own environment, if desired [using git submodules].
> � Put the configuration of Fedora Commons, FedoraGSearch, SOLR, and other associated components under version control.
> � Use Drupal Features to store the Drupal configuration and put it under version control.
> � Support multi-site setups for separate Islandora/Drupal instances using a common Fedora Commons, SOLR, and djatoka installation.

Pottinger, Hardy J.

unread,
Jun 12, 2013, 10:44:31 PM6/12/13
to <islandora@googlegroups.com>, islandora@googlegroups.com List
Peter, this looks very interesting, thanks for sharing it. I was wondering, since you mentioned DevOps, if you have toyed at all with using Vagrant (and possibly Chef or Puppet) for this kind of thing?

In case you're wondering, "Vagrant?" Here is a little write-up: http://lso.umsystem.edu/~pottingerhj/article/24/my-new-toy-vagrant

Anybody out there using Vagrant with Islandora? If so, would you be interested in sharing?

--Hardy

Sent from my iPad
--
You received this message because you are subscribed to the Google Groups "islandora" group.
To unsubscribe from this group and stop receiving emails from it, send an email to islandora+...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


Peter Murray

unread,
Jun 13, 2013, 12:35:15 PM6/13/13
to isla...@googlegroups.com
Thanks Nick and Hardy. I'm hoping others find it useful -- if not in this raw form at least with some of the techniques employed.

On Jun 12, 2013, at 10:44 PM, "Pottinger, Hardy J." <Potti...@missouri.edu> wrote:
>
> Peter, this looks very interesting, thanks for sharing it. I was wondering, since you mentioned DevOps, if you have toyed at all with using Vagrant (and possibly Chef or Puppet) for this kind of thing?
>
> In case you're wondering, "Vagrant?" Here is a little write-up: http://lso.umsystem.edu/~pottingerhj/article/24/my-new-toy-vagrant
>
> Anybody out there using Vagrant with Islandora? If so, would you be interested in sharing?

Well, what started as a simple git repo and a shell script has blossomed into what you see today. Starting this I didn't think I'd be (re)creating a token replacement file template system and managing a half dozen binary dependencies. I'm not experienced in Chef or Puppet (or Vagrant), but those kinds of systems may be more suited for this kind of activity. (And maybe I'll have cause to reengineer the setup some day.) I'm certainly interested in continuing the discussion, though!

Nick Ruest

unread,
Jun 13, 2013, 12:39:50 PM6/13/13
to isla...@googlegroups.com
I nearly forgot! Graham Steward at UofT has a few recipes up in his
Github account[1] and there is a recording of his presentation from the
2012 Access[2].

-nruest

[1] https://github.com/librarychef
[2] http://www.youtube.com/watch?v=eTNBmy4ZznA

Pottinger, Hardy J.

unread,
Jun 13, 2013, 1:50:01 PM6/13/13
to isla...@googlegroups.com
Cool, thanks, Nick. Race you to a working Vagranfile!
--
HARDY POTTINGER <potti...@umsystem.edu>
University of Missouri Library Systems
http://lso.umsystem.edu/~pottingerhj/
https://MOspace.umsystem.edu/
"Do not bubble. Do not spin your wheels. Use words I know." --Kurt
Vonnegut, final instructions to writing students

Peter Murray

unread,
Jun 19, 2013, 10:59:10 AM6/19/13
to isla...@googlegroups.com
Huh! Nice. That recipe [1] does automate much of what I'm doing. *sigh* -- time to learn another tool!

If anyone was looking at http://github.com/lyrasis/reposervice prior to yesterday, you probably noticed that one key piece was missing -- the Drupal submodule. This is is a clone of the main Drupal distribution, but the key point I'm adding is the relative symbolic links to the Islandora modules at the root level of reposervice [2].

[1] https://github.com/LibraryChef/islandora/blob/master/recipes/islandora12.rb
[2] https://github.com/lyrasis/drupal/tree/lyr-master/sites/all/modules


Peter

Nick Ruest

unread,
Jun 19, 2013, 12:16:43 PM6/19/13
to isla...@googlegroups.com
If I wasn't my own development shop, and sysadmin for Islandora, I would
totally!

-nruest

Peter Murray

unread,
Jun 19, 2013, 3:32:33 PM6/19/13
to isla...@googlegroups.com
Until folks tell me otherwise, I'll probably send occasional messages about the reposervice git repo as new improvements are made. I just committed a version that has some documentation about how to add a git submodule and the steps to follow to make sure it is properly linked into the environment:

https://github.com/lyrasis/reposervice/blob/master/Building%20Instructions.md#adding-a-new-islandora-module-as-a-git-submodule

As always, comments and questions and observations are welcome.
Reply all
Reply to author
Forward
0 new messages