cookbook 'drone_app', '~> 1.0.1'
drone_app (2) Versions 1.0.1 Follow0
Installs drone.io behind an nginx ssl proxy with letsencrypt certs
cookbook 'drone_app', '~> 1.0.1', :supermarket
knife supermarket install drone_app
knife supermarket download drone_app
Description
Installs the drone.io docker image with an nginx ssl proxy passthrough with
certificiate registration and renewal managed by letsencrypt.
For more information about drone.io:
Changes
v1.0.0
- Install an nginx ssl proxy in front of a drone.io server both configured via docker.
Requirements
Platform:
- Ubuntu 16.04
Warning! Due to differences in letsencrypt implementations it's highly unlikely
this cookbook will function on other platforms. I don't need anything other than
Ubuntu 16.04, but pull requests are very welcome to resolve this issue.
Attributes
See attributes/default.rb
for defaults.
-
node['drone']['version']
- The version of drone to install. -
node['drone']['port']
- The drone.io web port. -
node['drone']['remote']['driver']
- The drone.io remote driver -
node['drone']['remote']['config']
- The drone.io remote config -
node['drone']['database']['driver']
- The drone.io database driver -
node['drone']['database']['config']
- The drone.io database config
Recipes
default
Installs and configures drone.io with nginx an ssl proxy using letsencrypt
certificates.
Uses:
recipe[drone_app::drone]
recipe[drone_app::nginx]
recipe[drone_app::letsencrypt]
recipe[drone_app::firewall]
drone
Installs, configures, and runs the drone.io docker container.
nginx
Installs, configures, and runs the nginx docker container as an ssl proxy
for drone.io. Configures itself with self-signed certificates.
The certificates referenced by nginx are controlled via symlinks located at
/etc/nginx/ssl/<machine fqdn>/
.
cert.pem
- should link to the site public certificate chain.
cert.key
- should link to the site's private key.
If the symlinks already exist, this recipe will not create or update them.
letsencrypt
Installs the letsencrypt executable, configures it for webroot verification,
requests a certificate for the node's FQDN, and updates the site's cert.pem
and cert.key
to point to the newly requested letsencrypt certificates.
firewall
Configure the machine firewall to allow SSH, HTTP, and HTTPS on ports 22, 80,
and 443 repectively.
Usage
To get drone running on a machine, use recipe[drone_app]
. Once it is installed
and configured nginx will be listening on both port 80 and 443. Nginx will be
configured to proxy to drone as well as provide a web frontend for letsencrypt
renewal requests.
Author
Author:: Joe Bauser coderjoe@coderjoe.net
License
See the file LICENSE for license information.
Dependent cookbooks
hostname >= 0.0.0 |
firewall ~> 2.5.2 |
openssl ~> 5.0.1 |
docker ~> 2.9.6 |
drone ~> 3.1.2 |
Contingent cookbooks
There are no cookbooks that are contingent upon this one.
Collaborator Number Metric
1.0.1 failed this metric
Failure: Cookbook has 0 collaborators. A cookbook must have at least 2 collaborators to pass this metric.
Contributing File Metric
1.0.1 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must contain a CONTRIBUTING.md file
Foodcritic Metric
1.0.1 failed this metric
FC069: Ensure standardized license defined in metadata: drone_app/metadata.rb:1
Run with Foodcritic Version 16.3.0 with tags metadata,correctness ~FC031 ~FC045 and failure tags any
No Binaries Metric
1.0.1 passed this metric
Testing File Metric
1.0.1 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must contain a TESTING.md file
Version Tag Metric
1.0.1 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must include a tag that matches this cookbook version number
1.0.1 failed this metric
1.0.1 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must contain a CONTRIBUTING.md file
Foodcritic Metric
1.0.1 failed this metric
FC069: Ensure standardized license defined in metadata: drone_app/metadata.rb:1
Run with Foodcritic Version 16.3.0 with tags metadata,correctness ~FC031 ~FC045 and failure tags any
No Binaries Metric
1.0.1 passed this metric
Testing File Metric
1.0.1 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must contain a TESTING.md file
Version Tag Metric
1.0.1 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must include a tag that matches this cookbook version number
1.0.1 failed this metric
Run with Foodcritic Version 16.3.0 with tags metadata,correctness ~FC031 ~FC045 and failure tags any
1.0.1 passed this metric
Testing File Metric
1.0.1 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must contain a TESTING.md file
Version Tag Metric
1.0.1 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must include a tag that matches this cookbook version number
1.0.1 failed this metric
1.0.1 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must include a tag that matches this cookbook version number