cookbook 'dokku', '= 2.1.0'
dokku (5) Versions 2.1.0 Follow3
Manages a dokku install.
cookbook 'dokku', '= 2.1.0', :supermarket
knife supermarket install dokku
knife supermarket download dokku
dokku
This is a Chef cookbook which provides the ability to install and configure
dokku. It provides a set of recipes and Lightweight Resource Providers
(LWRPs) for managing apps and it's components.
It's pinned against a specific version of dokku to protect
your installation against being accidentally broken. This marks a hold
against the installed packages.
Usage
Recipes
-
dokku::default
: Includes install and provides the LWRPs. -
dokku::install
: Installs and configures dokku from the Debian package. -
dokku::ssh_keys
: Adds SSH keys from attributes. -
dokku::plugins
: Manages plugins from attributes. -
dokku::apps
: Manages apps from attributes. -
dokku::certificates
: Manages certificates from a data bag.
Attributes
default
-
node["dokku"]["domain"]
: The domain for Dokku to serve under. -
node["dokku"]["ssh_keys"]
: A list of ssh keys to allow for deployment. -
node["dokku"]["plugins"]
: A list of plugins to manage. -
node["dokku"]["apps"]
: A list of apps to manage.
These optional settings can be overridden to customise the default Nginx
configuration (which is used for all apps):
-
node["dokku"]["nginx"]["server_tokens"]
: Defaults tooff
. -
node["dokku"]["nginx"]["ssl_session_cache"]
: Defaults toshared:SSL:20m
. -
node["dokku"]["nginx"]["ssl_session_timeout"]
: Defaults to10m
. -
node["dokku"]["nginx"]["ssl_protocols"]
: Defaults toTLSv1 TLSv1.1 TLSv1.2
. -
node["dokku"]["nginx"]["ssl_ciphers"]
: Defaults toEECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH
. -
node["dokku"]["nginx"]["dhparam_file"]
: Defaults to/etc/ssl/certs/dhparam.pem
. -
node["dokku"]["nginx"]["dhparam_key_length"]
: Defaults to4096
.
Data Bags
dokku_certificates
Used in combination with the dokku::certificates
recipe, these allow for
the management of SSL certificates apps. It's expected that they look like
this:
{ "id": "app-name", "cert": "", "key": }
The id
value should be the name of the app the certificate will set on. (The
format is inspired by the certificate cookbook.)
LWRPs
ssh_key
Provides add
and remove
actions for setting the Dokku SSH public keys.
Defaults to add
. e.g.:
dokku_ssh_key "user" do key "ssh_public_key" end
plugin
Provides install
and uninstall
actions for handling plugins. Defaults
to install
. e.g.:
dokku_plugin "redis" do url "https://github.com/dokku/dokku-redis.git" end
app
Provides create
, destroy
and rename
actions for managing Dokku apps.
Defaults to create
. e.g.:
dokku_app "demo"
certificate
Provides add
and remove
actions for managing Dokku certificates. Defaults
to add
: e.g.:
dokku_certificate "wildcard" do cert "An SSL Certificate as a string" key "An SSL Certificate's private key as a string" end
The name of the action should be the id
of an available data bag item.
Testing
ChefSpec is used for unit tests. Test Kitchen is used for integration
tests, with serverspec.
# unit tests chef exec rspec # integration tests chef exec kitchen test
Author
Copyright (c) Nick Charlton 2015. MIT licensed.
Dependent cookbooks
apt ~> 2.9 |
docker = 2.6.6 |
packagecloud ~> 0.1 |
openssl ~> 4.4 |
Contingent cookbooks
There are no cookbooks that are contingent upon this one.
CHANGELOG
2.0.1 (31/05/2016)
- Remove duplicate nginx configuration, breaking deploys.
2.0.0 (17/05/2016)
- Check that SSH keys do not already exist before adding. (PR #16)
- Remove support for global certificates. (PR #17)
- Upgrade
dokku
to0.5.6
. - Upgrade
herokuish
to0.3.12
. - Upgrade
sshcommand
to0.4.0
.
1.3.0 (14/05/2016)
- Fixes a bug where deleting apps would fail because it'd return a
1
. - Adds support for specifying the "committish" of a plugin. (PR #13)
- Brings the Nginx configuration inline instead of a dependency. (PR #14)
1.2.0 (18/04/2016)
- Install and mark a hold on specific versions of dokku dependencies to guard against breakages (PR #11)
- Fix test run issues with Docker (PR #12).
1.1.0 (05/03/2016)
- Improves the provided SSL ciphers and adds an option for configuring SSL providers.
- Includes generation of
dhparams
to safeguard against Weak DH attacks.
1.0.0 (19/02/2016)
- Initial release.
Collaborator Number Metric
2.1.0 failed this metric
Failure: Cookbook has 1 collaborators. A cookbook must have at least 2 collaborators to pass this metric.
Contributing File Metric
2.1.0 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
2.1.0 failed this metric
FC029: No leading cookbook name in recipe metadata: dokku/metadata.rb:14
FC029: No leading cookbook name in recipe metadata: dokku/metadata.rb:15
FC029: No leading cookbook name in recipe metadata: dokku/metadata.rb:16
FC029: No leading cookbook name in recipe metadata: dokku/metadata.rb:17
FC029: No leading cookbook name in recipe metadata: dokku/metadata.rb:18
FC064: Ensure issues_url is set in metadata: dokku/metadata.rb:1
FC065: Ensure source_url is set in metadata: dokku/metadata.rb:1
FC066: Ensure chef_version is set in metadata: dokku/metadata.rb:1
FC067: Ensure at least one platform supported in metadata: dokku/metadata.rb:1
FC069: Ensure standardized license defined in metadata: dokku/metadata.rb:1
Run with Foodcritic Version 14.3.0 with tags metadata,correctness ~FC031 ~FC045 and failure tags any
No Binaries Metric
2.1.0 passed this metric
Testing File Metric
2.1.0 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
2.1.0 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
2.1.0 failed this metric
2.1.0 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
2.1.0 failed this metric
FC029: No leading cookbook name in recipe metadata: dokku/metadata.rb:14
FC029: No leading cookbook name in recipe metadata: dokku/metadata.rb:15
FC029: No leading cookbook name in recipe metadata: dokku/metadata.rb:16
FC029: No leading cookbook name in recipe metadata: dokku/metadata.rb:17
FC029: No leading cookbook name in recipe metadata: dokku/metadata.rb:18
FC064: Ensure issues_url is set in metadata: dokku/metadata.rb:1
FC065: Ensure source_url is set in metadata: dokku/metadata.rb:1
FC066: Ensure chef_version is set in metadata: dokku/metadata.rb:1
FC067: Ensure at least one platform supported in metadata: dokku/metadata.rb:1
FC069: Ensure standardized license defined in metadata: dokku/metadata.rb:1
Run with Foodcritic Version 14.3.0 with tags metadata,correctness ~FC031 ~FC045 and failure tags any
No Binaries Metric
2.1.0 passed this metric
Testing File Metric
2.1.0 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
2.1.0 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
2.1.0 failed this metric
FC029: No leading cookbook name in recipe metadata: dokku/metadata.rb:15
FC029: No leading cookbook name in recipe metadata: dokku/metadata.rb:16
FC029: No leading cookbook name in recipe metadata: dokku/metadata.rb:17
FC029: No leading cookbook name in recipe metadata: dokku/metadata.rb:18
FC064: Ensure issues_url is set in metadata: dokku/metadata.rb:1
FC065: Ensure source_url is set in metadata: dokku/metadata.rb:1
FC066: Ensure chef_version is set in metadata: dokku/metadata.rb:1
FC067: Ensure at least one platform supported in metadata: dokku/metadata.rb:1
FC069: Ensure standardized license defined in metadata: dokku/metadata.rb:1
Run with Foodcritic Version 14.3.0 with tags metadata,correctness ~FC031 ~FC045 and failure tags any
2.1.0 passed this metric
Testing File Metric
2.1.0 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
2.1.0 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
2.1.0 failed this metric
2.1.0 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