Add manifests to inject and trust CA certificates
authorJuan Antonio Osorio Robles <jaosorior@redhat.com>
Tue, 9 Aug 2016 17:12:38 +0000 (20:12 +0300)
committerJiri Stransky <jistr@redhat.com>
Tue, 23 Aug 2016 14:36:20 +0000 (14:36 +0000)
Change-Id: I84273b4cd6576a63fa78dc93ad6b077dd2a780c7

manifests/trusted_ca.pp [new file with mode: 0644]
manifests/trusted_cas.pp [new file with mode: 0644]

diff --git a/manifests/trusted_ca.pp b/manifests/trusted_ca.pp
new file mode 100644 (file)
index 0000000..4e62418
--- /dev/null
@@ -0,0 +1,39 @@
+# Copyright 2016 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::trusted_ca
+#
+# Does the necessary action to deploy and trust a CA certificate.
+#
+# === Parameters
+#
+# [*content*]
+#   The content of the CA certificate in PEM format.
+#
+define tripleo::trusted_ca(
+  $content,
+) {
+  file { "/etc/pki/ca-trust/source/anchors/${name}.pem":
+    content => $content,
+    mode    => '0644',
+    owner   => 'root',
+    group   => 'root',
+  }
+  exec { "trust-ca-${name}":
+    command     => 'update-ca-trust extract',
+    path        => '/usr/bin',
+    subscribe   => File["/etc/pki/ca-trust/source/anchors/${name}.pem"],
+    refreshonly => true,
+  }
+}
diff --git a/manifests/trusted_cas.pp b/manifests/trusted_cas.pp
new file mode 100644 (file)
index 0000000..265a700
--- /dev/null
@@ -0,0 +1,28 @@
+# Copyright 2016 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::trusted_cas
+#
+# Does the necessary actions to deploy and trust a set of CA certificates.
+#
+# === Parameters
+#
+# [*ca_map*]
+#   The content of the CA certificate in PEM format.
+#
+class tripleo::trusted_cas(
+  $ca_map = {},
+) {
+  create_resources('::tripleo::trusted_ca', $ca_map)
+}