Giuseppe Lavagetto has uploaded a new change for review. ( 
https://gerrit.wikimedia.org/r/385342 )

Change subject: profile::docker::registry: allow using an external certificate
......................................................................

profile::docker::registry: allow using an external certificate

This allows to offer an https endpoint to clients through the discovery
DNS name

Bug: T178606
Change-Id: Ie48a63d17c6fbbaa84d495492a84f3594dc85e52
---
A files/ssl/docker-registry.discovery.wmnet.crt
M hieradata/role/common/docker/registry.yaml
M modules/profile/manifests/docker/registry.pp
3 files changed, 43 insertions(+), 3 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/operations/puppet 
refs/changes/42/385342/1

diff --git a/files/ssl/docker-registry.discovery.wmnet.crt 
b/files/ssl/docker-registry.discovery.wmnet.crt
new file mode 100644
index 0000000..b5b8927
--- /dev/null
+++ b/files/ssl/docker-registry.discovery.wmnet.crt
@@ -0,0 +1,26 @@
+-----BEGIN CERTIFICATE-----
+MIIEczCCAlugAwIBAgICDQ8wDQYJKoZIhvcNAQELBQAwKzEpMCcGA1UEAwwgUHVw
+cGV0IENBOiBwYWxsYWRpdW0uZXFpYWQud21uZXQwHhcNMTcxMDE5MDg1MDAxWhcN
+MjIxMDE5MDg1MDAxWjCBiTEoMCYGA1UEAwwfZG9ja2VyLXJlZ2lzdHJ5LmRpc2Nv
+dmVyeS53bW5ldDEjMCEGA1UECgwaV2lraW1lZGlhIEZvdW5kYXRpb24sIEluYy4x
+CzAJBgNVBAYTAlVTMRMwEQYDVQQIDApDYWxpZm9ybmlhMRYwFAYDVQQHDA1TYW4g
+RnJhbmNpc2NvMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE7O1Gd4wgaKP+5JRg
+V4QhE3ioVFx2xP7YYO8elAqfDhADOWGhQbOJGuJy9XygqzAlHuVtGSa4pNefnFVi
+gJJRe6OCAQswggEHMDUGCWCGSAGG+EIBDQQoUHVwcGV0IFJ1YnkvT3BlblNTTCBJ
+bnRlcm5hbCBDZXJ0aWZpY2F0ZTBOBgNVHREERzBFgiJkb2NrZXItcmVnaXN0cnkt
+cncuZGlzY292ZXJ5LndtbmV0gh9kb2NrZXItcmVnaXN0cnkuZGlzY292ZXJ5Lndt
+bmV0MA4GA1UdDwEB/wQEAwIFoDAgBgNVHSUBAf8EFjAUBggrBgEFBQcDAQYIKwYB
+BQUHAwIwDAYDVR0TAQH/BAIwADAdBgNVHQ4EFgQUNXW9GzvaOqV5VgvCR59tuldj
+fWowHwYDVR0jBBgwFoAUWeSGMH4Crw0ApnTtmvYOF65srrowDQYJKoZIhvcNAQEL
+BQADggIBAHzBZHFDpquyHs8alWIyttJDAop//7PT/sUF0HjiIY4fvDj9C4oMcyte
+ri67W80JKD1jVt9gitsY/H7iiRfd5exZypglG+ciDBfzikptFXoK1gZxvdUpzo8e
+ETJpS3Dibf0Ochgw5iOdrCWP5tApVrbfd2yiws5xVz5VskL8cQYkKLjrNsllmgg5
+owV1X//HrBB9luytYaTe9r/LQECxExXo/0ozq70TRVoVtsanclZ+X4EGSIcbvMey
+ufywtvd+sAKEhMQYmrad+8UsTKqn8IOZPRLI4CN0wTcagwHIdDWFHKHpOId/y2uJ
+oRyZU+VzL+Dv9g321Si8kHxQmHezC0yj8JGQKqSuZ6ybA4/86ZGEr6pF2vhzwzqC
+9wkNTBHywuLquGhVWuVqWU7aVBTCBdgmcm4fp8HCbk6J1IdV0XxmlScdQQNnFwJX
+HV7QSVMjfihBzOmaTVXgovJ9rdyS9pw4oCaAyg9xr5SYKEFijPRvbYEqS+Tl/zBO
+E7hk1WoTETQ4gWzH6L/pqaQeJOfnxTQUkGP07is6ozFj08X632jhrBeF8vt3Xm1G
+i/eR9PAxeDu+vXXbQ4G6EBksZQJMRdeKoXIuuriV8veXwYyMIqatBh65tcdmXsLu
+q9+bRxQtZ8/Lc3TeJrttddaHe3uIZxY8tnCEv4lN3EUyoodFClgD
+-----END CERTIFICATE-----
diff --git a/hieradata/role/common/docker/registry.yaml 
b/hieradata/role/common/docker/registry.yaml
index d1f59d5..cfece08 100644
--- a/hieradata/role/common/docker/registry.yaml
+++ b/hieradata/role/common/docker/registry.yaml
@@ -10,3 +10,4 @@
 #profile::docker::registry::swift_password defined in the private repo
 profile::docker::registry::swift_auth_url: "http://ms-fe.svc.codfw.wmnet/v1/";
 profile::docker::swift_container: "docker_registry"
+profile::docker::registry::certname: "docker-registry.discovery.wmnet"
diff --git a/modules/profile/manifests/docker/registry.pp 
b/modules/profile/manifests/docker/registry.pp
index e465f2f..fdb18f1 100644
--- a/modules/profile/manifests/docker/registry.pp
+++ b/modules/profile/manifests/docker/registry.pp
@@ -7,8 +7,9 @@
     # cache misc nodes are allowed to connect via HTTP, if defined
     $hnodes = hiera('cache::misc::nodes', {}),
     # Storage configuration
-    $storage_backend = hiera('profile::docker::registry::storage_backend', 
'filebackend')
-
+    $storage_backend = hiera('profile::docker::registry::storage_backend', 
'filebackend'),
+    $certname = hiera('profile::docker::registry::certname', undef),
+    $rw_sitename = hiera('profile::docker::registry::rw_sitename', 
$facts['fqdn']),
 ) {
     require ::network::constants
     # Hiera configurations
@@ -29,12 +30,24 @@
     # Nginx frontend
     class { '::sslcert::dhparam': }
 
+    if $certname {
+        sslcert::certificate { $certname:
+            ensure       => present,
+            skip_private => false,
+            before       => Service['nginx'],
+        }
+        $use_puppet = false
+    } else {
+        $use_puppet = true
+    }
+
     class { '::docker::registry::web':
         docker_username      => $username,
         docker_password_hash => $hash,
         allow_push_from      => $image_builders,
         ssl_settings         => ssl_ciphersuite('nginx', 'mid'),
-        use_puppet_certs     => true,
+        use_puppet_certs     => $use_puppet,
+        ssl_certificate_name => $certname,
         http_endpoint        => true,
         http_allowed_hosts   => $http_allowed_hosts,
     }

-- 
To view, visit https://gerrit.wikimedia.org/r/385342
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ie48a63d17c6fbbaa84d495492a84f3594dc85e52
Gerrit-PatchSet: 1
Gerrit-Project: operations/puppet
Gerrit-Branch: production
Gerrit-Owner: Giuseppe Lavagetto <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to