Chef cookbook for Jacobine. Jacobine is a project to analyze different data sources of various open source projects (source code, ecosystem, community) to detect new information about your community and your contribution
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
attributes
recipes
templates/default
.gitignore
README.md
metadata.rb

README.md

Jacobine Cookbook

Sets up a working environment for Jacobine

Requirements

A checkout of Jacobine

packages

  • composer
  • database
  • mysql
  • supervisor
  • logrotate
  • apache2
  • apt
  • dotdeb

Attributes

This is the main cookbook to deploy the Jacobine application. Please see attributes/default.rb for all available attributes.

Usage

This is the main cookbook to deploy the Jacobine application. Please see recipes/* for all available recipes. Here is a small list about available recipes:

  • clone: Creates the directory for the application and clones Jacobine in the new directory
  • composer: Executes a composer install command to install all (PHP based) dependencies of Jacobine
  • cron: Adds commands as a cronjob to the crontab of the deployed node
  • database: Sets up the mysql database + user for Jacobine backend and frontend and imports the basic scheme
  • default: Empty recipe to fits Chef needs
  • directories: Creation of various directories for data storage and logs
  • dotdeb-php: Inits dotdeb repository, pins all php5 packages and installs php
  • logrotate: Configures logrotate to rotate written logs by Jacobine
  • php: Installs dotdeb + php. Just a wrapper recipe
  • supervisord: Configures supervisor to take care of our consumers
  • systemuser: Setup of a systemuser to execute Jacobines processes under an own user
  • website: Setup of the Jacobine FE (create directories, clone, deploy webservers vhost, etc.)

jacobine::default

The default cookbook is empty. The normal way is to add every single recipe to your deployment.

The Jacobine ecosystem uses this cookbook to deploy its Vagrant machine + live servers.

jacobine::*

Choose your recipe you want to add to your run list from recipes/* and include it in your node's run_list. E.g. for the database recipe:

{
  "name":"my_node",
  "run_list": [
    "recipe[jacobine::database]"
  ]
}

License

This code is released under the terms of the Apache License in version 2.0.

Contributing

  1. Fork and clone it (git clone https://github.com/andygrunwald/chef-jacobine.git)
  2. Create a named feature branch (git checkout -b my-new-feature)
  3. Write you change (hack hack hack)
  4. Commit your changes (git commit -am 'Add some feature')
  5. Push to the branch (git push origin my-new-feature)
  6. Submit a Pull Request using Github