Code Monkey home page Code Monkey logo

chef-drone's Introduction

Drone cookbook

Build Status

Installs Drone, a CI server built on Docker.

Requirements

Chef

  • Chef 11+

Platforms

This cookbook is tested against:

  • Ubuntu 12.04
  • Ubuntu 14.04

...but it might work on other platforms.

Usage

Include recipe[drone] in your run list.

Attributes

These attributes are under the node['drone'] namespace.

Attribute Description Type Default
package_url URL of the Drone package to download and install String http://downloads.drone.io/master/drone.deb
temp_file Path to store the downloaded package String /tmp/drone.deb
config_file Location of Drone config file String /etc/init/drone.conf
config Hash of configuration options Hash See Config section below

Configuration

The configuration is defined as a hash, and converted to TOML format for drone's configuration.

The default configuration is minimal:

default['drone']['config'] = {
  'server' => {
    'port' => ':80',
  },
  'database' => {
    'driver' => 'sqlite3',
    'datasource' => '/var/lib/drone/drone.sqlite'
  }
}

Note: It is recommended that you link at least one source control system to drone, to enable the capability to login.

The following example configuration enables Drone to authenticate off a Github Enterprise installation:

default['drone']['config'] = {
  'server' => {
    'port' => ':80',
  },
  'database' => {
    'driver' => 'sqlite3',
    'datasource' => '/var/lib/drone/drone.sqlite'
  },
  'github_enterprise' => {
    'client' => 'YOURCLIENT',
    'secret' => 'YOURSECRET',
    'api' => 'http://github.mycompany.com/api/v3/',
    'url' => 'http://github.mycompany.com',
    'private_mode' => true,
    'open' => true
  }
}

There are many more configuration options that you can specify, and the complete config is shown below:

default['drone']['config'] = {
  'server' => {
    'port' => ':80',
    'ssl' => {
      'key' => '',
      'cert' => ''
    },
    'assets' => {
      'folder' => ''
    },
    'session' => {
      'secret' => '',
      'expires' => ''
    }
  },
  'session' => {
    'secret' => '',
    'expires' => ''
  },
  'database' => {
    'driver' => 'sqlite3',
    'datasource' => '/var/lib/drone/drone.sqlite'
  },
  'github' => {
    'client' => '',
    'secret' => '',
    'orgs' => [],
    'open' => false
  },
  'github_enterprise' => {
    'client' => '',
    'secret' => '',
    'api' => '',
    'url' => '',
    'private_mode' => false,
    'open' => false
  },
  'bitbucket' => {
    'client' => '',
    'secret' => '',
    'open' => false
  },
  'gitlab' => {
    'url' => '',
    'client' => '',
    'secret' => '',
    'skip_verify' => false,
    'open' => false
  },
  'gogs' => {
    'url' => '',
    'secret' => '',
    'open' => false
  },
  'smtp' => {
    'host' => '',
    'port' => '',
    'from' => '',
    'user' => '',
    'pass' => ''
  },
  'docker' => {
    'cert' => '',
    'key' => ''
  },
  'worker' => {
    'nodes' => [
      'unix:///var/run/docker.sock'
    ]
  }
}

Recipes

  • recipe[drone] Installs/Configures Drone

chef-drone's People

Contributors

balser avatar brint avatar buth avatar justincampbell avatar paulczar avatar predominant avatar rosstimson avatar shawnzhu avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.