summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMartin André <m.andre@redhat.com>2017-01-06 17:14:22 +0100
committerMartin André <m.andre@redhat.com>2017-01-09 15:16:50 +0100
commita21f1a193a7076a335d82f47cab04340da9c93ff (patch)
treed348895cefab88effd72c0af7c446d4a73e163fa
parent8c990738900cd74c2c5c046435517393d1afb92e (diff)
Add Docker Registry profile
The profile was moved out of instack-undercloud puppet manifest and changed to install a v2 Docker registry rather than the old, deprecated v1 registry. Change-Id: Iecf7a4c7e86349e6ecaa0a8ee6d37223e3af7862
-rw-r--r--manifests/profile/base/docker_registry.pp73
-rw-r--r--templates/docker_distribution/registry_config.yml.erb11
2 files changed, 84 insertions, 0 deletions
diff --git a/manifests/profile/base/docker_registry.pp b/manifests/profile/base/docker_registry.pp
new file mode 100644
index 0000000..05a516d
--- /dev/null
+++ b/manifests/profile/base/docker_registry.pp
@@ -0,0 +1,73 @@
+# Copyright 2017 Red Hat, Inc.
+#
+# Licensed under the Apache License, Version 2.0 (the "License"); you may
+# not use this file except in compliance with the License. You may obtain
+# a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations
+# under the License.
+#
+# == Class: tripleo::profile::base::docker_registry
+#
+# Docker Registry profile for tripleo
+#
+# === Parameters:
+#
+# [*registry_host*]
+# (String) IP address on which the Docker registry is listening on
+# Defaults to hiera('controller_host')
+#
+# [*registry_port*]
+# (Integer) The port on which the Docker registry is listening on
+# Defaults to 8787
+#
+# [*controller_admin_vip*]
+# (String) VIP of the host
+# Defaults to hiera('controller_admin_vip')
+#
+class tripleo::profile::base::docker_registry (
+ $registry_host = hiera('controller_host'),
+ $registry_port = 8787,
+ $controller_admin_vip = hiera('controller_admin_vip'),
+) {
+ # We want a v2 registry
+ package{'docker-registry':
+ ensure => absent,
+ }
+ package{'docker-distribution': }
+ package{'docker': }
+ file { '/etc/docker-distribution/registry/config.yml' :
+ ensure => file,
+ content => template('tripleo/docker_distribution/registry_config.yml.erb'),
+ owner => 'root',
+ group => 'root',
+ mode => '0644',
+ require => Package['docker-distribution'],
+ notify => Service['docker-distribution'],
+ }
+ file_line { 'docker insecure registry':
+ path => '/etc/sysconfig/docker',
+ line => join ([
+ 'INSECURE_REGISTRY="',
+ '--insecure-registry ', $registry_host, ':', $registry_port, ' ',
+ '--insecure-registry ', $controller_admin_vip, ':', $registry_port, '"']),
+ match => 'INSECURE_REGISTRY=',
+ require => Package['docker'],
+ notify => Service['docker'],
+ }
+ service { 'docker-distribution':
+ ensure => running,
+ enable => true,
+ require => Package['docker-distribution'],
+ }
+ service { 'docker':
+ ensure => running,
+ enable => true,
+ require => Package['docker'],
+ }
+}
diff --git a/templates/docker_distribution/registry_config.yml.erb b/templates/docker_distribution/registry_config.yml.erb
new file mode 100644
index 0000000..d5228fb
--- /dev/null
+++ b/templates/docker_distribution/registry_config.yml.erb
@@ -0,0 +1,11 @@
+version: 0.1
+log:
+ fields:
+ service: registry
+storage:
+ cache:
+ layerinfo: inmemory
+ filesystem:
+ rootdirectory: /var/lib/registry
+http:
+ addr: <%= @registry_host %>:<%= @registry_port %>