Adoptable Cookbooks List

Supermarket Belongs to the Community

Supermarket belongs to the community. While Chef has the responsibility to keep it running and be stewards of its functionality, what it does and how it works is driven by the community. The chef/supermarket repository will continue to be where development of the Supermarket application takes place. Come be part of shaping the direction of Supermarket by opening issues and pull requests or by joining us on the Chef Mailing List.

Need to create a build pipeline for releases of various versions of things.

Release all the docker files used to build fpm and parsoid (the fpm build is kind of opinionated at the moment).

The code block insert is not working with the visual editor. It’s something to do with the parsoid service. I’m still working on that. Some documentation says VE is integrated since 1.26. But then other documentation says it only works in full with a parsoid service.

What is it?

Installing mediawiki is a bit of a pain (especially with the visual editor). The directions are sometimes unclear on which packages are required for the php compile. At the very least in a platform agnostic manner. As it stands it should work with either debian or redhat based systems that docker supports (at this very moment only tested on Centos 7.2.)

Why it's better than the mediawiki sponsored docker setup.

The official mediawiki docker image doesn’t really subscribe to the docker ideology. It’s all blob’d into one container. This follows the one service per container concept and is built in a way that that allows for agnostic immutable system setup. I’ll touch on this in the setup section.

Setup

There are three folders of interest:

/var/lib/mysql (Can use existing installation. See Caveat Emptor)
/var/www/mediawiki (This will be initialized only one. See Caveat Emptor)
/etc/parsoid (This I think is going to be overridden each time. Todo:fix)

These will be configured on system initialization by chef. The following is not required, just a suggestion.
So ideally your data is on designated data volumes. Our setup is such that there is a mounted data volume mounted on let’s say /app. Then you have all your folders in this folder so:

This is nice, because now your system can be truly ephemeral and your data can live wherever.

Usage and Common Tasks

Starting and Stopping Services

docker stop CONTAINER_NAME; docker start CONTAINER_NAME

Accessing Daemon Logs

docker logs [ -f ] CONTAINER_NAME

Accessing a Shell

docker exec -ti CONTAINER_NAME /bin/sh

Managing the Database

docker exec -ti mariadb mysql

Caveat Emptor

Per the usual, this is an open source project maintained by some random guy on the internet. Use at your own risk.

Things

The mariadb container will not reinitialize an existing mysql directory. I have not reviewed their code on how that works. I think I grabbed the latest mariadb image (drop in mysql replacement) so if you have an old mysql and use it as your base dir it may try to upgrade things. I don’t know, I have not tried it. So just be aware and use at your own risk if you’re trying to use and existing mysql install.

Mediawiki is pulled from git using the chef git resource provider. It does a checkout and only does it once based on a set attribute. Still make backups of important things. It should go without saying.

Requirements

Chef 12+ (probably the latest chef 12 would be best)

Attributes

Nope, don't use em. You can go poke a bit if you want, but it works out of the box. It'll get better in terms of customization.

Contributing

Feel free to sumbit bugs, and submit pulls. I'll try to be as engaged as possible. This is my first community project so bear with me.

Collaborator Number Metric

1.0.8 failed this metric

Failure: Cookbook has 0 collaborators. A cookbook must have at least 2 collaborators to pass this metric.

Foodcritic Metric

1.0.8 failed this metric

FC002: Avoid string interpolation where not required: /tmp/0c63bb23812a17df57b3d671/mediawiki/recipes/default.rb:78FC002: Avoid string interpolation where not required: /tmp/0c63bb23812a17df57b3d671/mediawiki/recipes/default.rb:83FC064: Ensure issues_url is set in metadata: /tmp/0c63bb23812a17df57b3d671/mediawiki/metadata.rb:1FC065: Ensure source_url is set in metadata: /tmp/0c63bb23812a17df57b3d671/mediawiki/metadata.rb:1