docker-grid Cookbook
====================
-This cookbook sets up Docker engine.
+This cookbook sets up Docker engine etc.
## Contents
- [docker-grid::compose](#docker-gridcompose)
- [docker-grid::engine](#docker-gridengine)
- [docker-grid::registry](#docker-gridregistry)
+ - [docker-grid::registry-docker-compose](#docker-gridregistry-docker-compose)
+ - [docker-grid::registry-server](#docker-gridregistry-server)
- [Role Examples](#role-examples)
- [SSL server keys and certificates management by `ssl_cert` cookbook](#ssl-server-keys-and-certificates-management-by-ssl_cert-cookbook)
- [License and Authors](#license-and-authors)
|`['docker-grid']['engine']['users_allow']`|Array|Non-root users allowed to manage Docker daemon.|`[]`|
|`['docker-grid']['registry']['with_ssl_cert_cookbook']`|Boolean|If this attribute is true, `node['docker-grid']['registry']['docker-compose']['config']` are are overridden by the following `common_name` attributes.|`false`|
|`['docker-grid']['registry']['ssl_cert']['common_name']`|String|Registry server common name for TLS|`node['fqdn']`|
+|`['docker-grid']['registry']['server']['config']`|Hash|Registry server configurations.|See `attributes/default.rb`|
|`['docker-grid']['registry']['docker-compose']['app_dir']`|String||`"#{node['docker-grid']['compose']['app_dir']}/registry"`|
|`['docker-grid']['registry']['docker-compose']['host_data_volume']`|String|Data directory path on the host filesystem or `nil` (unset).|`'/var/lib/docker-registry'`|
|`['docker-grid']['registry']['docker-compose']['config_format_version']`|String|`docker-compose.yml` format version. `'1'` or `'2'`|`'1'`|
This recipe sets up Docker Compose configurations for the Docker registry service.
+#### docker-grid::registry-docker-compose
+
+This recipe is alias of the `docker-grid::registry` recipe.
+
+#### docker-grid::registry-server
+
+This recipe sets up a Docker registry service on real host.
+
### Role Examples
- `roles/docker.rb`: installs the `docker-engine` package.
)
```
-- `roles/docker-registry.rb`
+- `roles/docker-registry.rb`: on Docker.
```ruby
name 'docker-registry'
)
```
-- `roles/docker-registry-with-ssl-cert.rb`
+- `roles/docker-registry-with-ssl-cert.rb`: on Docker.
```ruby
name 'docker-registry-with-ssl-cert'
description 'Docker Registry Server'
+registry_fqdn = 'registry.docker.example.com'
+
run_list(
#'recipe[ssl_cert::server_key_pairs]', # docker-grid <= 0.3.9
'recipe[docker-grid::registry]',
)
-registry_fqdn = 'registry.docker.example.com'
-
override_attributes(
+ 'ssl_cert' => {
+ 'common_names' => [
+ registry_fqdn,
+ ],
+ },
'docker-grid' => {
'engine' => {
'version_on_centos' => '17.03.1.ce-1',
)
```
-- `roles/docker-registry-by-entire-config.rb`
+- `roles/docker-registry-by-entire-config.rb`: on Docker.
```ruby
name 'docker-registry-by-entire-config'
)
```
+- `roles/registry-server-with-ssl-cert.rb`: on real host.
+
+```ruby
+name 'registry-server-with-ssl-cert'
+description 'Docker Registry Server'
+
+registry_fqdn = 'registry.docker.example.com'
+
+run_list(
+ 'recipe[docker-grid::registry-server]',
+)
+
+override_attributes(
+ 'ssl_cert' => {
+ 'common_names' => [
+ registry_fqdn,
+ ],
+ },
+ 'docker-grid' => {
+ 'registry' => {
+ 'with_ssl_cert_cookbook' => true,
+ 'ssl_cert' => {
+ 'common_name' => registry_fqdn,
+ },
+ 'server' => {
+ 'config' => {
+ 'storage' => {
+ 'filesystem' => {
+ 'rootdirectory' => '/var/lib/docker-registry',
+ },
+ },
+ 'proxy' => {
+ 'remoteurl' => 'https://registry-1.docker.io',
+ },
+ },
+ },
+ },
+ },
+)
+```
+
### SSL server keys and certificates management by `ssl_cert` cookbook
- create vault items.