Adoptable Cookbooks List

Looking for a cookbook to adopt? You can now see a list of cookbooks available for adoption!
List of Adoptable Cookbooks

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.

Select Badges

Select Supported Platforms

Select Status

RSS

drone (37) Versions 3.1.0

Installs/Configures Drone

Policyfile
Berkshelf
Knife
cookbook 'drone', '= 3.1.0', :supermarket
cookbook 'drone', '= 3.1.0'
knife supermarket install drone
knife supermarket download drone
README
Dependencies
Changelog
Quality 100%

Drone cookbook

Build Status

Installs Drone, a CI server built on Docker.

More information also @ http://readme.drone.io.

Requirements

Chef

  • Chef 12+

Platforms

This cookbook is tested against:

  • Ubuntu 15.10
  • Ubuntu 16.04
  • CentOS 7.x

...but it might work on other platforms.

Usage

Recipes

drone::default

Installs the drone server.

Include recipe[drone::default] in your run list.

drone::reverse_proxy

Fronts drone server with a reverse_proxy using nginx for HTTPS.

Include recipe[drone::reverse_proxy] in your run list.

drone::worker

Installs and sets up the drone worker. For use with Drone <= 0.4

Basically installs docker and exposes the socket over TCP for the Drone server to send builds to.

Include recipe[drone::worker] in your run list.

drone::agent

Installs and sets up the drone agent. For use with Drone >= 0.5

Include recipe[drone::agent] in your run list.

Attributes

For Drone ENV config settings see:
* http://readme.drone.io/setup/overview/#configure - Drone 0.4
* http://readme.drone.io/0.5/manage/server/ - Drone 0.5

Attribute Description Type Default
node['drone']['version'] Version of Drone String Default is '0.4'. Tested some also with '0.5'
node['drone']['vault']['bag'] Name of vault with secrets String Default is 'vault_drone'. See Vault section below.
node['drone']['config'] Hash of Drone ENV configuration options Hash See Configuration section below.
node['drone']['agent']['config'] Hash of configuration options for Drone Agent Hash See Configuration section below.

Configuration

The configuration in Drone 0.4.0 changed from TOML to BASH RC file.

The minimum required attribute is to set following tokens for your "remote" driver (gitlab, github, etc..)

  • node['drone']['config']['oauth_client']
  • node['drone']['config']['oauth_secret']

See the drone documentations and attributes/default.rb for more options.

Vault

For drone::reverse_proxy you need:
* [certs](test/integration/data_bags/vault_drone/certs.json)

Other optional items include:
* drone_secret
* drone_github_client
* drone_github_secret
* database_config

Docker

See attributes/docker.rb for more options.

Testing

  • Linting - Rubocop and Foodcritic
  • Spec - ChefSpec
  • Integration - Test Kitchen

Testing requires ChefDK be installed using it's native gems.

gem install docker-api
foodcritic -f any -X spec .
rubocop
rspec --color --format progress

If you run into issues testing please first remove any additional gems you may
have installed into your ChefDK environment. Extra gems can be found and removed
at ~/.chefdk/gem.

Drone Cookbook Changelog

v3.1.0

  • Add ability to set docker daemon logging level

v3.0.2

  • Allow bypassing loading secrets on chef-vault failure (permissions)

v3.0.1

  • Fix allowing user to specify docker version

v3.0.0

  • BREAKING CHANGE (maybe): No longer pin version of docker to install by default. You still can do it if you want manually though.

v2.5.0

  • Support for CentOS 7.x

v2.4.0

  • Remove DEPRECATED drone token secrets management items
  • Added drone_secret support

v2.3.0

  • Allow drone_github_client to be in a Vault

v2.2.0

  • Attributize logging for Drone containers

v2.1.0

  • Allow specifying version of drone to use
  • Added drone::agent recipe for installing Drone 0.5 agent
  • Added ability to apply secrets drone_agent_secret, drone_token, drone_github_secret and database_config from vault

v2.0.0

  • BREAKING CHANGE: Move Drone app config items to node['drone']['config']
  • BREAKING CHANGE: Removed package install method as it's not supported
  • Added drone::reverse_proxy recipe to be able to front Drone with HTTPS via a reverse proxy
  • Added drone::worker recipe to be able to create additional systems to run drone builds on
  • Version bump on docker community cookbook
  • Make docker_container resource sensitive to prevent displaying secrets passed through ENV to drone

v1.0.0

  • BREAKING CHANGE: Use drone containers rather then installing drone package by default
  • Add ability to deploy drone using drone docker container

v0.7.7

  • Uses docker version from attributes (default 1.8.3)
  • Specify docker tls certs or use self-generated

v0.7.0

  • Deploy Drone v0.4.0 (a dev branch)
  • Add dronerc template
  • Add docker recipe to install docker from cookbook
  • Add update recipe to update docker images
  • For integrations generates docker self-signed certs

v0.6.0

  • Docker can now be disabled (Graham Weldon)
  • Fix registration option - moving to each VCS config (Graham Weldon)
  • Extend / improve README documentation

v0.5.0

  • Configure Drone with TOML (Graham Weldon)
  • Use new Drone package URL (Ke Zhu)

v0.4.0

  • Add Apache 2.0 license
  • Fix options being passed to droned (Ross Timson)
  • Numerous development/test improvements (Ross Timson)

v0.3.1

  • Settable drone_tmp (Eric Buth)

v0.2.0

  • Add ability to specify custom drone options (Brint O'Hearn)

v0.1.0

  • Initial Drone cookbook (Justin Campbell)

Collaborator Number Metric
            

3.1.0 passed this metric

Foodcritic Metric
            

3.1.0 passed this metric