File ardana-tls-8.0+git.1534267264.6b1e899.obscpio of Package ardana-tls
07070100000000000081A40000000000000000000000015B730F8000000127000000000000000000000000000000000000003700000000ardana-tls-8.0+git.1534267264.6b1e899/.copyrightignore.copyrightignore
.rsync-filter
roles/tls-trust/files/openssl.cnf
roles/tls-trust/templates/ardana-openssl.cnf
roles/tls-trust/files/public/ardana-internal-cacert.crt
roles/tls-trust/files/public/frontend_cacert.pem
roles/tls-frontend/files/public/my-public-cert
roles/tls-trust/files/cacert.pem
07070100000001000081A40000000000000000000000015B730F800000007F000000000000000000000000000000000000003100000000ardana-tls-8.0+git.1534267264.6b1e899/.gitreview[gerrit]
host=gerrit.suse.provo.cloud
port=29418
project=ardana/tls-ansible.git
defaultremote=ardana
defaultbranch=stable/pike
07070100000002000081A40000000000000000000000015B730F800000000C000000000000000000000000000000000000003400000000ardana-tls-8.0+git.1534267264.6b1e899/.rsync-filter- ardana-ci
07070100000003000081A40000000000000000000000015B730F800000279F000000000000000000000000000000000000002E00000000ardana-tls-8.0+git.1534267264.6b1e899/LICENSE
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.
07070100000004000081A40000000000000000000000015B730F80000006CF000000000000000000000000000000000000003000000000ardana-tls-8.0+git.1534267264.6b1e899/README.md#
# (c) Copyright 2018 SUSE LLC
#
# 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.
#
Generate a self-signed CA
Note: In a production setting you will not perform this step. You will use your
company CA or a valid public CA.
This section demonstrates to how you can create your own self-signed CA and
then use this CA to sign server certificates. This CA can be thought of as a
Company IT internal CA that is self-signed and whose CA certificates are
deployed on the company machines. This way the server certificate becomes
legitimate.
export EXAMPLE_CA_KEY_FILE='example-CA.key'
export EXAMPLE_CA_CERT_FILE='example-CA.crt'
openssl req -x509 -batch -newkey rsa:2048 -nodes -out "${EXAMPLE_CA_CERT_FILE}" \
-keyout "${EXAMPLE_CA_KEY_FILE}" \
-subj "/C=DE/O=Micro Focus International/CN=Autogenerated Ardana Certificate Authority" \
-days 365
You can tweak the subj and days above to your needs. For instance, if you want
to test what happens when a CA expires, you can keep 'days' to very low values.
Note that the issuer has to be unique. So if you already installed a CA for a
particular DN (subj), make sure it's different the next time. For example:
-subj "/C=DE/O=Micro Focus International/CN=Autogenerated Ardana Certificate Authority 2" \
07070100000005000081A40000000000000000000000015B730F80000007A0000000000000000000000000000000000000003C00000000ardana-tls-8.0+git.1534267264.6b1e899/_tls-deploy-certs.yml#
# (c) Copyright 2016 Hewlett Packard Enterprise Development LP
# (c) Copyright 2017 SUSE LLC
#
# 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.
#
---
# Bootstrap CA
- hosts: TLS-CA
roles:
- tls-trust
tasks:
- include: roles/tls-trust/tasks/bootstrap.yml
# Generate internal certificate from one ardana CA
- hosts: TLS-CA--first-member[0]
roles:
- tls-trust
tasks:
- include: roles/tls-trust/tasks/create_certs.yml
# Copy user provided certificates to temp
- hosts: TLS-CA--first-member[0]
roles:
- tls-frontend
tasks:
- include: roles/tls-frontend/tasks/bootstrap_certs.yml
# Install trust chains on all nodes except HyperV
- hosts: OPS-LMTGT:!*-HYP
roles:
- tls-trust
tasks:
- include: roles/tls-trust/tasks/install.yml
# Install trust chains on HyperV
- hosts: OPS-LMTGT:&*-HYP
roles:
- tls-trust
- win-install-package
tasks:
- include: roles/win-install-package/tasks/_setvars.yml
- include: roles/tls-trust/tasks/win_install.yml
# Update trust chains on Java keystores on hosts that
# are known to require Java
- hosts: MON-API
roles:
- tls-trust
tasks:
- include: roles/tls-trust/tasks/install_java.yml
# deploy certificates for ip-cluster
- hosts: FND-CLU
roles:
- tls-trust
- haproxy
tasks:
- include: roles/tls-trust/tasks/cert_deploy.yml
# Cleanup
- hosts: TLS-CA
roles:
- tls-trust
tasks:
- include: roles/tls-trust/tasks/cleanup.yml
07070100000006000081A40000000000000000000000015B730F8000000313000000000000000000000000000000000000004100000000ardana-tls-8.0+git.1534267264.6b1e899/_tls-terminator-config.yml#
# (c) Copyright 2016 Hewlett Packard Enterprise Development LP
# (c) Copyright 2017 SUSE LLC
#
# 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.
#
---
- hosts: FND-STN:&FND-CLU
roles:
- haproxy
- tls-trust
tasks:
- include: roles/tls-trust/tasks/config_service_termination.yml
07070100000007000041ED0000000000000000000000025B730F8000000000000000000000000000000000000000000000002D00000000ardana-tls-8.0+git.1534267264.6b1e899/config07070100000008000081A40000000000000000000000015B730F800000031A000000000000000000000000000000000000004700000000ardana-tls-8.0+git.1534267264.6b1e899/config/tls-frontend-symlinks.yml#
# (c) Copyright 2015,2016 Hewlett Packard Enterprise Development LP
# (c) Copyright 2017 SUSE LLC
#
# 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.
#
# The following relative symlinks are created under the
# my_cloud/config directory.
---
symlinks:
"tls/certs": "roles/tls-frontend/files/public"
07070100000009000081A40000000000000000000000015B730F8000000353000000000000000000000000000000000000004400000000ardana-tls-8.0+git.1534267264.6b1e899/config/tls-trust-symlinks.yml#
# (c) Copyright 2015,2016 Hewlett Packard Enterprise Development LP
# (c) Copyright 2017 SUSE LLC
#
# 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.
#
# The following relative symlinks are created under the
# my_cloud/config directory.
---
symlinks:
"tls/cacerts": "roles/tls-trust/files/public"
"tls/trust-config": "roles/tls-trust/defaults/main.yml"
0707010000000A000041ED0000000000000000000000025B730F8000000000000000000000000000000000000000000000003500000000ardana-tls-8.0+git.1534267264.6b1e899/filter_plugins0707010000000B000081A40000000000000000000000015B730F800000046C000000000000000000000000000000000000004400000000ardana-tls-8.0+git.1534267264.6b1e899/filter_plugins/tls_filters.py#
# (c) Copyright 2015 Hewlett Packard Enterprise Development LP
# (c) Copyright 2017 SUSE LLC
#
# 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.
#
# Set of filters for TLS playbooks
# Get a list of certificate names and return a unique list
def get_cert_files(d):
ret = list()
for service in d.keys():
if 'networks' in d[service].keys():
for network in d[service]['networks']:
if 'cert_file' in network.keys():
ret.append(network['cert_file'])
return list(set(ret))
class FilterModule(object):
def filters(self):
return {'get_cert_files': get_cert_files}
0707010000000C000041ED0000000000000000000000025B730F8000000000000000000000000000000000000000000000002E00000000ardana-tls-8.0+git.1534267264.6b1e899/library0707010000000D000081A40000000000000000000000015B730F800000142B000000000000000000000000000000000000003B00000000ardana-tls-8.0+git.1534267264.6b1e899/library/ardana_ca.py#!/usr/bin/python -tt
# -*- coding: utf-8 -*-
# (c) Copyright 2016 Hewlett Packard Enterprise Development LP
# (c) Copyright 2017 SUSE LLC
#
# 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.
#
from subprocess import check_output, CalledProcessError
import os
def _ca(ca):
create_ca =[ "/usr/bin/openssl", "req",
"-new",
"-x509",
"-batch",
"-nodes",
"-key", ca["key"],
"-out", ca["cert"],
"-days", ca["days"],
"-subj", ca["subj"],
]
check_output(create_ca, stderr=subprocess.STDOUT)
def _csr(req, key, csr):
create_csr =[ "/usr/bin/openssl", "req",
"-newkey", "rsa:2048",
"-nodes",
"-keyout", key,
"-out", csr,
"-extensions", "v3_req",
"-config", req,
]
check_output(create_csr, stderr=subprocess.STDOUT)
def _sign(ca, csr, cert):
check_output("touch index.txt".split(), stderr=subprocess.STDOUT)
check_output("/usr/bin/openssl rand -hex -out serial 6".split(),
stderr=subprocess.STDOUT)
cert_sign =[ "/usr/bin/openssl", "ca",
"-batch",
"-notext",
"-in", csr,
"-out", cert,
"-config", ca["conf"],
"-extensions", "v3_req",
"-cert", ca["cert"],
"-keyfile", ca["key"],
]
check_output(cert_sign, stderr=subprocess.STDOUT)
def main():
module = AnsibleModule(
argument_spec = dict(
cacert = dict(required=True),
cakey = dict(required=True),
conf = dict(required=True),
subj = dict(required=True),
cert = dict(required=False, type='str'),
ca_days = dict(required=False, type='str'),
req = dict(required=False, type='str'),
csr = dict(required=False, type='str'),
key = dict(required=False, type='str'),
chdir = dict(required=False, type='str'),
combined = dict(required=False, type='bool'),
generate_ca = dict(required=False, type='bool'),
),
add_file_common_args=True,
supports_check_mode=True,
)
# Initialize return values
changed = False
# Change to the working directory
chdir = module.params['chdir']
if chdir:
chdir = os.path.abspath(os.path.expanduser(chdir))
os.chdir(chdir)
# Get CA credentials first
cakey = module.params['cakey']
if not os.path.exists(cakey) or not os.access(cakey, os.R_OK):
module.fail_json(msg="CA key file %s not found or not readable" % (cakey))
generate_CA = module.params['generate_ca']
cacert = module.params['cacert']
if not os.path.exists(cacert) or not os.access(cacert, os.R_OK):
generate_CA = True
ca_days = module.params['ca_days']
if not ca_days:
ca_days = "3650" # Ten years
ca = {"key": cakey,
"cert": cacert,
"days": ca_days,
"conf": module.params['conf'],
"subj": module.params['subj'],
}
# If CA is to be generated do it now
if generate_CA:
try:
_ca(ca)
changed = True
except CalledProcessError as err:
module.fail_json(msg=err.output, exit_status=err.returncode)
req = module.params['req']
if req: # User wants a cert generated
if not os.path.exists(req) or not os.access(req, os.R_OK):
module.fail_json(msg="Request file %s not found or not readable" % (req))
csr = module.params['csr']
if not csr:
csr = req + ".csr"
key = module.params['key']
if not key:
key = req + ".key"
cert = module.params['cert']
# Create CSR and Sign the cert
try:
_csr(req, key, csr)
_sign(ca, csr, cert)
changed = True
except CalledProcessError as err:
module.fail_json(msg=err.output, exit_status=err.returncode)
combined = module.params['combined']
if combined:
with open(cert, "a") as certfile, open(key, "r") as keyfile:
certfile.write(keyfile.read())
changed = True
module.exit_json(
changed = changed,
)
# import module snippets
from ansible.module_utils.basic import *
main()
0707010000000E000041ED0000000000000000000000055B730F8000000000000000000000000000000000000000000000002C00000000ardana-tls-8.0+git.1534267264.6b1e899/roles0707010000000F000041ED0000000000000000000000055B730F8000000000000000000000000000000000000000000000003900000000ardana-tls-8.0+git.1534267264.6b1e899/roles/tls-frontend07070100000010000041ED0000000000000000000000025B730F8000000000000000000000000000000000000000000000004200000000ardana-tls-8.0+git.1534267264.6b1e899/roles/tls-frontend/defaults07070100000011000081A40000000000000000000000015B730F800000039B000000000000000000000000000000000000004B00000000ardana-tls-8.0+git.1534267264.6b1e899/roles/tls-frontend/defaults/main.yml#
# (c) Copyright 2015,2016 Hewlett Packard Enterprise Development LP
# (c) Copyright 2017 SUSE LLC
#
# 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.
#
---
frontend_server_cert_directory: "/etc/ssl/private/"
tls_temp_dir: "/tmp/ardana_tls/"
tls_req_dir: "/tmp/ardana_tls/"
tls_req_file: "ardana-internal-req"
tls_certs_dir: "/tmp/ardana_tls_certs/"
install_vip_certs_items: "{{ FND_CLU.has_proxy | default({}) | get_cert_files }}"
07070100000012000041ED0000000000000000000000035B730F8000000000000000000000000000000000000000000000003F00000000ardana-tls-8.0+git.1534267264.6b1e899/roles/tls-frontend/files07070100000013000041ED0000000000000000000000025B730F8000000000000000000000000000000000000000000000004600000000ardana-tls-8.0+git.1534267264.6b1e899/roles/tls-frontend/files/public07070100000014000081A40000000000000000000000015B730F800000113F000000000000000000000000000000000000005500000000ardana-tls-8.0+git.1534267264.6b1e899/roles/tls-frontend/files/public/my-public-cert-----BEGIN CERTIFICATE-----
MIIHpTCCBY2gAwIBAgIFDLQjcF8wDQYJKoZIhvcNAQELBQAwfjELMAkGA1UEBhMC
REUxEDAOBgNVBAgMB0JhdmFyaWExEjAQBgNVBAcMCU51cmVtYmVyZzEiMCAGA1UE
CgwZTWljcm8gRm9jdXMgSW50ZXJuYXRpb25hbDENMAsGA1UECwwEU1VTRTEWMBQG
A1UEAwwNQ2xvdWQgVGVzdCBDQTAeFw0xODAyMTIwMTE4NDZaFw0xOTAyMTIwMTE4
NDZaMBUxEzARBgNVBAMMCmFyZGFuYS12aXAwggEiMA0GCSqGSIb3DQEBAQUAA4IB
DwAwggEKAoIBAQDUHGV6BUpshf60t66MkOw1wFyx+q9lxwDm7JIQIskIVBr5Y6xj
bh+W/d7IbfzF0drR5j8oYivf72O+g9lyvId5mEQl3TF8AJF6pE9RIrjyNIb0ae1+
8rdFRM0LGwqNJSkuL4wS2D4xAkpU9e4uRiN5q8FpfYv5YUEIvUZvsw5dW9h+g9A+
S0sEtqmRL7Y649ynrVphu7X40/SzHK5zl/mDOe+diLt3XNpLSLPes+6bI3M/ieWo
QJf2n/sxizWOjHvcwTxy21AvSGdk4SI7+Y/KlpZc9PxgabsecgG2z3Fw25tXj3Mb
2eiuThcFtLcY0YhUzTVtv428wZoUgicbrA+nAgMBAAGjggORMIIDjTAJBgNVHRME
AjAAMB0GA1UdDgQWBBSg2qwiplV3SU/3RbQU9pERZleQPjALBgNVHQ8EBAMCBeAw
ggNSBgNVHREEggNJMIIDRYINbXlhcmRhbmEudGVzdIInYXJkYW5hLWNjcC12aXAt
cHVibGljLUtFWU1HUi1BUEktZXh0YXBpgiRhcmRhbmEtY2NwLXZpcC1wdWJsaWMt
TE9HLUFQSS1leHRhcGmCJGFyZGFuYS1jY3AtdmlwLXB1YmxpYy1OT1YtQVBJLWV4
dGFwaYIkYXJkYW5hLWNjcC12aXAtcHVibGljLUtFWS1BUEktZXh0YXBpgiRhcmRh
bmEtY2NwLXZpcC1wdWJsaWMtU1dGLVBSWC1leHRhcGmCJGFyZGFuYS1jY3Atdmlw
LXB1YmxpYy1ERVMtQVBJLWV4dGFwaYIkYXJkYW5hLWNjcC12aXAtcHVibGljLU5P
Vi1WTkMtZXh0YXBpgiRhcmRhbmEtY2NwLXZpcC1wdWJsaWMtRlJFLUFQSS1leHRh
cGmCJGFyZGFuYS1jY3AtdmlwLXB1YmxpYy1NQUctQVBJLWV4dGFwaYIkYXJkYW5h
LWNjcC12aXAtcHVibGljLU1PTi1BUEktZXh0YXBpgiRhcmRhbmEtY2NwLXZpcC1w
dWJsaWMtSEVBLUFDRi1leHRhcGmCJGFyZGFuYS1jY3AtdmlwLXB1YmxpYy1PUFMt
V0VCLWV4dGFwaYIkYXJkYW5hLWNjcC12aXAtcHVibGljLUhFQS1BUEktZXh0YXBp
giRhcmRhbmEtY2NwLXZpcC1wdWJsaWMtTkVVLVNWUi1leHRhcGmCJGFyZGFuYS1j
Y3AtdmlwLXB1YmxpYy1BUkQtU1ZDLWV4dGFwaYIkYXJkYW5hLWNjcC12aXAtcHVi
bGljLUhFQS1BQ1ctZXh0YXBpgiRhcmRhbmEtY2NwLXZpcC1wdWJsaWMtR0xBLUFQ
SS1leHRhcGmCJGFyZGFuYS1jY3AtdmlwLXB1YmxpYy1DTkQtQVBJLWV4dGFwaYIk
YXJkYW5hLWNjcC12aXAtcHVibGljLUNFSS1BUEktZXh0YXBpgiRhcmRhbmEtY2Nw
LXZpcC1wdWJsaWMtSFpOLVdFQi1leHRhcGmCJGFyZGFuYS1jY3AtdmlwLXB1Ymxp
Yy1OT1YtUExDLWV4dGFwaYINMTkyLjE2OC4xMTQuNIcEwKhyBDANBgkqhkiG9w0B
AQsFAAOCAgEAcBAWamX+wp8ln362mf838iLeBr+lPoFU5e7HPxrhLVGldBb+ihwq
g6qa50JnkkzzTCI8hikvJrQPuZ7FUZzN7quee217Fce7M+8HKE9jKuTYZ5xNwfTZ
8IAIpaCZGqRy/azPJgxhS19U+tpEx29XtGmnMiNaP4XPIwqCEfQNj0Nf9t3REJSm
sGuP3ukiEPkaITYMSvR2rMIfQcPpNF7/diZCa1/6ZKstR3gLfGH+VlnBELQgZMXm
y9wTV+bo+BVS6FedL5WwimQ1eeSB1tE/KQmC2X+ESnwDMsrmDjlxEart4tzXYP29
4SAuVg8ZvhC8Ehk2VOpWqIdDDx2H0FID+BJUq6nfe7P0NCLYZcF04goZj5WurYeA
9UMjS0KZMFAjM9/EKSuCEQuXM9vG7SQKcxUnA2xDKZ1on/gJTptc4vh+ymlp7EQl
CMcOabZ6qo1Iej+IoCYYheSIpJhBg2W7YJryRirDHe+yaWVut4AOJuW8uve/uoD/
twzHT5VE+R0JL/8UZG8e8o7GJJ7l9c1hPSVfg8VtE2qQ0WOCzjohc1Vt8oOI3l3h
bUxFmegat56w74M+FJO5co8s41VDAAZOJH7ClJJm9jwUh/8pODMhYqM7qAhlNU5N
Lgwiwy9I4J+1/cEvpbW59PDUPeR1kD9y/WAbQDupcQI26VFLU55WbRA=
-----END CERTIFICATE-----
-----BEGIN PRIVATE KEY-----
MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDUHGV6BUpshf60
t66MkOw1wFyx+q9lxwDm7JIQIskIVBr5Y6xjbh+W/d7IbfzF0drR5j8oYivf72O+
g9lyvId5mEQl3TF8AJF6pE9RIrjyNIb0ae1+8rdFRM0LGwqNJSkuL4wS2D4xAkpU
9e4uRiN5q8FpfYv5YUEIvUZvsw5dW9h+g9A+S0sEtqmRL7Y649ynrVphu7X40/Sz
HK5zl/mDOe+diLt3XNpLSLPes+6bI3M/ieWoQJf2n/sxizWOjHvcwTxy21AvSGdk
4SI7+Y/KlpZc9PxgabsecgG2z3Fw25tXj3Mb2eiuThcFtLcY0YhUzTVtv428wZoU
gicbrA+nAgMBAAECggEBALFdIVmcLPR8Q1S4N2PhFzOHK7vDpIEVm+J9NVH61GF7
eqbJOvBVuGKY3H56wiBkb3aO8ocBODDjy2MWe3DexuXddja3NFa9XujPlmeBAme9
lo+wN+CscqWgd1hu/y6xQTMWnSlw2ug+QwuyLb1R9v4Zqfxc9/vK4Ae/xbNHZZ6X
1LA+kdW9cxzFNT1zXjEC/bv4HbwCCJNfPDYa7o5tm7JY1B5m1V9l96Ia50qM6X0G
oiDE2YmVAFqtdcZab+D+lmbYoAXH7icXZ3xt5CqYZhFTZnrQYWPKFt8Wq20E3F7I
/RWYbPBiB1aP4VTpFNaS4boECHUroC7cFWZXevIJBnECgYEA+xHlnpKkPUkEWzSe
iWMdqdWMMHxtYDbZzEtkx76W2aPQ6qlrm/fOQntxkLDJyvWLbmHkqZJnBNOzAKvj
ogBnZUPCqB6imMM++QPaN0q2JAlMpUYioi4wPC7CkdEbqHMntucbYWpDHQRdQDw6
k4OFaQcyyxSAI6W9einHeKQCUy8CgYEA2EaoFBSC3oqL9UiJqkdfzmYd9d6GLe6G
ZYnubr4ahcfRJMw5eG6lEAIEwJO1jEOjPmglBoB37+dODJZjAMy54G9SAeVZgXUV
NIdRLn+mr6Mau6bF41D/czSXXz/rrVs8x8b3Wl0XkLiuzwAthhUQEJMVLvugeK+X
++94p2gOTQkCgYEA6XV+2rDo38PhtR18vavYjW/w57ULz4exhnIkyEfE5aOaRFo9
oc4PkWpP84cwXPVuLboBclycRrTDokAzbxSJEHStsL6r2vjSuaKHaxqhu2iaSKSq
17uzRoMEkaqr2TsbFsxXfYHd3kGMpIpcvYZyq3LyHDx32q3nPo1S2i9HqikCgYA8
ls7PkU94eOfst32ZrpUwhXsvPj/o7kHIgHPDoo5bnDcDUBNpodWsPmSGbtsViH1b
JmH5CFSRaQN8k0T5HGGWdplK3q3Mjrh6Fs6vcCOKYO9EUtxtamumIr2leYrU7hKB
BUSWlC3d5V9TroESZyQxAIOWvfee19KESfpLK+OVwQKBgCcU5nowEfMf8OALvuaM
E93+W1bHJUIx5Sy0faGgBYfiVY9qV5lJG0+8kF0C4JCy0XI8libr9rlSiIK5KAuY
80FgwYdQ8PdtmuwLGU/dXAmCvCLQzvKLVUfwRg7/I8eAKI4clyEnpivHkh8A8jeI
t3JBMfxPE2tG7ok5rJYeWY2q
-----END PRIVATE KEY-----
07070100000015000041ED0000000000000000000000025B730F8000000000000000000000000000000000000000000000003F00000000ardana-tls-8.0+git.1534267264.6b1e899/roles/tls-frontend/tasks07070100000016000081A40000000000000000000000015B730F800000041F000000000000000000000000000000000000005300000000ardana-tls-8.0+git.1534267264.6b1e899/roles/tls-frontend/tasks/bootstrap_certs.yml#
# (c) Copyright 2016 Hewlett Packard Enterprise Development LP
# (c) Copyright 2017 SUSE LLC
#
# 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.
#
---
- name: tls-frontend | bootstrap_certs | Create source cert directory
file:
path: "{{ tls_certs_dir }}"
state: directory
mode: 0755
run_once: true
delegate_to: localhost
- name: tls-frontend | bootstrap_certs | Bootstrap user supplied certs
copy:
src: "{{ item }}"
dest: "{{ tls_certs_dir }}"
mode: 0600
with_fileglob:
- public/*
run_once: true
delegate_to: localhost
07070100000017000081A40000000000000000000000015B730F80000002FB000000000000000000000000000000000000004B00000000ardana-tls-8.0+git.1534267264.6b1e899/roles/tls-frontend/tasks/cleanup.yml#
# (c) Copyright 2016 Hewlett Packard Enterprise Development LP
# (c) Copyright 2017 SUSE LLC
#
# 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.
#
---
- name: tls-frontend | cleanup | Delete temporary certs dir
file:
path: "{{ tls_certs_dir }}"
state: absent
07070100000018000081A40000000000000000000000015B730F80000003CF000000000000000000000000000000000000004B00000000ardana-tls-8.0+git.1534267264.6b1e899/roles/tls-frontend/tasks/install.yml#
# (c) Copyright 2015,2016 Hewlett Packard Enterprise Development LP
# (c) Copyright 2017 SUSE LLC
#
# 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.
#
---
- name: tls-frontend | install | install vip certificates
copy:
src: "{{ tls_certs_dir }}/{{ item }}"
dest: "{{ frontend_server_cert_directory }}/{{ item }}"
owner: root
group: root
mode: 0440
with_items: "{{ install_vip_certs_items }}"
become: yes
register: ardana_notify_haproxy_restart_required
07070100000019000041ED0000000000000000000000075B730F8000000000000000000000000000000000000000000000003600000000ardana-tls-8.0+git.1534267264.6b1e899/roles/tls-trust0707010000001A000041ED0000000000000000000000025B730F8000000000000000000000000000000000000000000000003F00000000ardana-tls-8.0+git.1534267264.6b1e899/roles/tls-trust/defaults0707010000001B000081A40000000000000000000000015B730F80000007A1000000000000000000000000000000000000004800000000ardana-tls-8.0+git.1534267264.6b1e899/roles/tls-trust/defaults/main.yml#
# (c) Copyright 2015-2017 Hewlett Packard Enterprise Development LP
# (c) Copyright 2017-2018 SUSE LLC
#
# 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.
#
---
# The variable below will be referred to by horizon
external_cacert_filename: "/etc/ssl/certs/ardana_frontend_cacert.pem"
node_cert_directory: "/etc/ssl/private/"
tls_temp_dir: "/tmp/ardana_tls/"
tls_req_dir: "/tmp/ardana_tls/"
tls_req_file: "ardana-internal-req"
tls_certs_dir: "/tmp/ardana_tls_certs/"
tls_cacerts_dir: "/tmp/ardana_tls_cacerts/"
tls_certs:
cert_name: ardana-node-cert
haproxy_conf_dir: "/etc/haproxy/ardana-conf.d"
ip_cluster_certs: "{{ cert_data.services.FND_CLU | default([]) }}"
_internal_ca_info: "{{ TLS_CA.vars.ardana_internal_ca }}"
ardana_internal_ca:
private: "{{ _internal_ca_info.private }}"
public: "{{ _internal_ca_info.public }}"
days: 3650
key: "ardana-internal-ca.key"
cert: "ardana-internal-{{ inventory_hostname }}-ca.crt"
subj: "/CN={{ inventory_hostname }}"
conf: "ardana-openssl.cnf"
tls_expiry_check: "2592000" #30 days
tls_force_cert_regeneration: False
tls_java_ca:
keystore: /usr/lib/jvm/default-java/jre/lib/security/cacerts
storepass: changeit
tls_mysql:
certs: "{{ cert_data.services.FND_MDB | default([]) }}"
tls_rmq:
certs: "{{ cert_data.services.FND_RMQ | default([]) }}"
tls_facts_dir: /etc/ansible/facts.d
tls_int_ca_fact: ardana_int_ca_first_crt
tls_fact_file: "{{ tls_facts_dir}}/{{ tls_int_ca_fact }}.fact"
0707010000001C000041ED0000000000000000000000035B730F8000000000000000000000000000000000000000000000003C00000000ardana-tls-8.0+git.1534267264.6b1e899/roles/tls-trust/files0707010000001D000081A40000000000000000000000015B730F8000000567000000000000000000000000000000000000004700000000ardana-tls-8.0+git.1534267264.6b1e899/roles/tls-trust/files/cacert.pem-----BEGIN CERTIFICATE-----
MIIDzzCCAregAwIBAgIJAOTDLJ8fbnGVMA0GCSqGSIb3DQEBCwUAMH4xCzAJBgNV
BAYTAkRFMRAwDgYDVQQIDAdCYXZhcmlhMRIwEAYDVQQHDAlOdXJlbWJlcmcxIjAg
BgNVBAoMGU1pY3JvIEZvY3VzIEludGVybmF0aW9uYWwxDTALBgNVBAsMBFNVU0Ux
FjAUBgNVBAMMDUNsb3VkIFRlc3QgQ0EwHhcNMTgwMjEyMDEzMTE2WhcNMjgwMjEw
MDEzMTE2WjB+MQswCQYDVQQGEwJERTEQMA4GA1UECAwHQmF2YXJpYTESMBAGA1UE
BwwJTnVyZW1iZXJnMSIwIAYDVQQKDBlNaWNybyBGb2N1cyBJbnRlcm5hdGlvbmFs
MQ0wCwYDVQQLDARTVVNFMRYwFAYDVQQDDA1DbG91ZCBUZXN0IENBMIIBIjANBgkq
hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA1eNNniTSlUuRhsQLDTFG3rULa+UmzZ5v
pngtlqd2SQ4bmxBplHrWugRVxpNsNwMUt5ygw+tAdyTha/pSd8ZC4yK/mwahWrCh
wgd9RJsmNycKMtsn3m/oqmE/czpz6JiVqNehhH4l650GdrxVJub2HxGghl+LNRiG
2bXQXaBqdXA0tdvKRCFrTBdp0luprTs3mowUcYwVYihKjwfTpXyIMKgcVk0t9nDC
DTzUoTdQAJuJ6sNK7Sp0vKWUFUk8CqybsMvMph+IGBUUYgwHVcUVJubUhxDsd+3a
Youpb0pssKxxlkJThqpXgRPjS5fxZI9JwTCK92O8sjz+VhTiPk6DGwIDAQABo1Aw
TjAdBgNVHQ4EFgQU+eRtmMLOyzuPjUOywXE6tyYXa7YwHwYDVR0jBBgwFoAU+eRt
mMLOyzuPjUOywXE6tyYXa7YwDAYDVR0TBAUwAwEB/zANBgkqhkiG9w0BAQsFAAOC
AQEAfD//xGe1R+SFWZq7mQMHsEait/kHVHt8FO48r5x1c0OtMAtuk531oA3P8CaL
aSS0noacyOV2NQvpp80XZ67qMixCnYz+5DX/mbEFaOK6kSUT9aNZkklazVrEbJP8
vIYeMwmcviYN4MUZT3N9FSKeuQq/lQCZStvOAkQ9D6FpgG2v/lc/P5ZknYhtqrpS
2uD4cx9gPk402AuF16ER8drC1NAwrAaiaj29wGNIzxNu8q4/6Ys9IR/TM1Cr3oqe
mAuMYBSxCbxzpCdYtv1R+EM1XILIVBEPIkLCEb9EJ+7zDrobxne1av0HoJET4MsA
2/N6udjz7+WrNsfoKLlTzRFqAA==
-----END CERTIFICATE-----
0707010000001E000081A40000000000000000000000015B730F80000006A8000000000000000000000000000000000000004600000000ardana-tls-8.0+git.1534267264.6b1e899/roles/tls-trust/files/cakey.pem-----BEGIN PRIVATE KEY-----
MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDV402eJNKVS5GG
xAsNMUbetQtr5SbNnm+meC2Wp3ZJDhubEGmUeta6BFXGk2w3AxS3nKDD60B3JOFr
+lJ3xkLjIr+bBqFasKHCB31EmyY3Jwoy2yfeb+iqYT9zOnPomJWo16GEfiXrnQZ2
vFUm5vYfEaCGX4s1GIbZtdBdoGp1cDS128pEIWtMF2nSW6mtOzeajBRxjBViKEqP
B9OlfIgwqBxWTS32cMINPNShN1AAm4nqw0rtKnS8pZQVSTwKrJuwy8ymH4gYFRRi
DAdVxRUm5tSHEOx37dpii6lvSmywrHGWQlOGqleBE+NLl/Fkj0nBMIr3Y7yyPP5W
FOI+ToMbAgMBAAECggEABznEl4Ea9Bw3cFwTG4D8qe1n019MbknZ77/DmoFRx6oI
WLa3OmLj+ijHVQwJ7dnWy1UpQTUjWmMOkn1EZ/N0swOrgWs57DxnWoyyOK0dH2Pc
PleVAzi4nXjnkdb5r3PoKmoOdNFmKo2FeGFoZwYKboZD7AYyR7rqY1R3E5Klxg3S
hSSFjTbBQJQiPFzMeEneMOBaFFCeiWOMEkPRV+UzzOj6gjuyyY9Mt3Yosnf/S73s
PmjfUuDJX5HzdbXM+RESJY7UwqXafdrazQIQRQVmNTcp284cQ01OIcFAdBLBUgZN
8WjMv/RSkbU85zQGkd1oo6EI+pZ+hpNK420KO1wV0QKBgQD2d1j4QIpGnpgpqWRF
gbZFCAacWxtllMftA90opw7BnJWLNshYv5mvc0V9PL8/iiBasLygJYCaQaeS5N4I
AbWlFvvB08RvvYApVBwFW/+mEf/z/+9Qq6MbK63LzFITXzmLv6CRPvQWS1rNb+Y/
7b3ENdv5fOYTL4gPilha968pnwKBgQDeKVimzL9T7lHUkZsGJ4yGBwLuLqQohEo6
LuiS+fjLpy06fk9LeLzop/i150eHIItfwHzenCy3DpyG5OI4j1G02f0ZrqvnIU5P
NDncnjt2pFphdN2cj0pZkg169+60ziOUs2UmygQgmWqeerDLYJ7RgeLzkxCcqvdd
e/YmkJZtBQKBgQCgWXmK2gKce2YoBMr15bQ+KUCTzTp/1lJUQ6VJY5bYJBWvIw8p
nk5QtcBKAJG0txrhpgaycnO+6GQrz7cconAZXmCg9DPjNvkA6nXojrg+xYsuph5+
74wIi1xhMSdc7yEzaJMArGKFdrU230x/3x8NXrUlFjth1BTDd5CQboCJpQKBgGkK
raL4TkKV/VT/n4fybSv15rnNjcqmeh42jbrovG02V1k/3ag2p0NuIFeJyjUm+x9D
+QacWzwWiYXydM//W8eiBlz9TMRU6Bzk+bLJkh4PqbhItHvQ+HuPZhZNYi1VBlfJ
1rrXa8oqH9Jc+ni+73jp6+/1Cja5U4p9ES680JMtAoGAeEq5FdS4t3s9UVnLnwtM
A2nhEvT1fLTEFStBSArVDMTiCU+bI6E7dmVq2Z2ajZ6xajNQg79aSeKBmVIIYkpe
FUm6qfZeVLcaN6FKIIv5XvCyy3Ngy5qDQOZYp3S+d67O1CqsqqActwbdSKtJt1Yd
vObzdWseu+dvY6VQexeg4T8=
-----END PRIVATE KEY-----
0707010000001F000081A40000000000000000000000015B730F8000000C76000000000000000000000000000000000000004800000000ardana-tls-8.0+git.1534267264.6b1e899/roles/tls-trust/files/openssl.cnf# Copyright 2010 United States Government as represented by the
# Administrator of the National Aeronautics and Space Administration.
# All Rights Reserved.
#
# 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.
#
# OpenSSL configuration file.
#
# Establish working directory.
dir = .
[ ca ]
default_ca = CA_default
[ CA_default ]
serial = $dir/serial
database = $dir/index.txt
new_certs_dir = $dir/
certificate = $dir/cacert.pem
private_key = $dir/cakey.pem
unique_subject = no
default_crl_days = 365
default_days = 365
default_md = md5
preserve = no
email_in_dn = no
nameopt = default_ca
certopt = default_ca
policy = policy_match
copy_extensions = copy
# NOTE(dprince): stateOrProvinceName must be 'supplied' or 'optional' to
# work around a stateOrProvince printable string UTF8 mismatch on
# RHEL 6 and Fedora 14 (using openssl-1.0.0-4.el6.x86_64 or
# openssl-1.0.0d-1.fc14.x86_64)
[ policy_match ]
countryName = optional
stateOrProvinceName = optional
organizationName = optional
organizationalUnitName = optional
commonName = supplied
emailAddress = optional
[ req ]
default_bits = 1024 # Size of keys
default_keyfile = key.pem # name of generated keys
default_md = md5 # message digest algorithm
string_mask = nombstr # permitted characters
distinguished_name = req_distinguished_name
req_extensions = v3_req
x509_extensions = v3_ca
[ req_distinguished_name ]
# Variable name Prompt string
#---------------------- ----------------------------------
0.organizationName = Organization Name (company)
organizationalUnitName = Organizational Unit Name (department, division)
emailAddress = Email Address
emailAddress_max = 40
localityName = Locality Name (city, district)
stateOrProvinceName = State or Province Name (full name)
countryName = Country Name (2 letter code)
countryName_min = 2
countryName_max = 2
commonName = Common Name (hostname, IP, or your name)
commonName_max = 64
# Default values for the above, for consistency and less typing.
# Variable name Value
#------------------------------ ------------------------------
0.organizationName_default = Micro Focus International
organizationalUnitName_default = SUSE
localityName_default = Nuremberg
stateOrProvinceName_default = Bavaria
countryName_default = DE
commonName_default = Cloud Test CA
[ v3_ca ]
basicConstraints = CA:TRUE
subjectKeyIdentifier = hash
authorityKeyIdentifier = keyid:always,issuer:always
subjectAltName = @alt_names
[ v3_req ]
basicConstraints = CA:FALSE
subjectKeyIdentifier = hash
[ alt_names ]
07070100000020000041ED0000000000000000000000025B730F8000000000000000000000000000000000000000000000004300000000ardana-tls-8.0+git.1534267264.6b1e899/roles/tls-trust/files/public07070100000021000081A40000000000000000000000015B730F8000000567000000000000000000000000000000000000005E00000000ardana-tls-8.0+git.1534267264.6b1e899/roles/tls-trust/files/public/ardana-internal-cacert.crt-----BEGIN CERTIFICATE-----
MIIDzzCCAregAwIBAgIJAOTDLJ8fbnGVMA0GCSqGSIb3DQEBCwUAMH4xCzAJBgNV
BAYTAkRFMRAwDgYDVQQIDAdCYXZhcmlhMRIwEAYDVQQHDAlOdXJlbWJlcmcxIjAg
BgNVBAoMGU1pY3JvIEZvY3VzIEludGVybmF0aW9uYWwxDTALBgNVBAsMBFNVU0Ux
FjAUBgNVBAMMDUNsb3VkIFRlc3QgQ0EwHhcNMTgwMjEyMDEzMTE2WhcNMjgwMjEw
MDEzMTE2WjB+MQswCQYDVQQGEwJERTEQMA4GA1UECAwHQmF2YXJpYTESMBAGA1UE
BwwJTnVyZW1iZXJnMSIwIAYDVQQKDBlNaWNybyBGb2N1cyBJbnRlcm5hdGlvbmFs
MQ0wCwYDVQQLDARTVVNFMRYwFAYDVQQDDA1DbG91ZCBUZXN0IENBMIIBIjANBgkq
hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA1eNNniTSlUuRhsQLDTFG3rULa+UmzZ5v
pngtlqd2SQ4bmxBplHrWugRVxpNsNwMUt5ygw+tAdyTha/pSd8ZC4yK/mwahWrCh
wgd9RJsmNycKMtsn3m/oqmE/czpz6JiVqNehhH4l650GdrxVJub2HxGghl+LNRiG
2bXQXaBqdXA0tdvKRCFrTBdp0luprTs3mowUcYwVYihKjwfTpXyIMKgcVk0t9nDC
DTzUoTdQAJuJ6sNK7Sp0vKWUFUk8CqybsMvMph+IGBUUYgwHVcUVJubUhxDsd+3a
Youpb0pssKxxlkJThqpXgRPjS5fxZI9JwTCK92O8sjz+VhTiPk6DGwIDAQABo1Aw
TjAdBgNVHQ4EFgQU+eRtmMLOyzuPjUOywXE6tyYXa7YwHwYDVR0jBBgwFoAU+eRt
mMLOyzuPjUOywXE6tyYXa7YwDAYDVR0TBAUwAwEB/zANBgkqhkiG9w0BAQsFAAOC
AQEAfD//xGe1R+SFWZq7mQMHsEait/kHVHt8FO48r5x1c0OtMAtuk531oA3P8CaL
aSS0noacyOV2NQvpp80XZ67qMixCnYz+5DX/mbEFaOK6kSUT9aNZkklazVrEbJP8
vIYeMwmcviYN4MUZT3N9FSKeuQq/lQCZStvOAkQ9D6FpgG2v/lc/P5ZknYhtqrpS
2uD4cx9gPk402AuF16ER8drC1NAwrAaiaj29wGNIzxNu8q4/6Ys9IR/TM1Cr3oqe
mAuMYBSxCbxzpCdYtv1R+EM1XILIVBEPIkLCEb9EJ+7zDrobxne1av0HoJET4MsA
2/N6udjz7+WrNsfoKLlTzRFqAA==
-----END CERTIFICATE-----
07070100000022000041ED0000000000000000000000025B730F8000000000000000000000000000000000000000000000003C00000000ardana-tls-8.0+git.1534267264.6b1e899/roles/tls-trust/tasks07070100000023000081A40000000000000000000000015B730F8000000D57000000000000000000000000000000000000004A00000000ardana-tls-8.0+git.1534267264.6b1e899/roles/tls-trust/tasks/bootstrap.yml#
# (c) Copyright 2016 Hewlett Packard Enterprise Development LP
# (c) Copyright 2017 SUSE LLC
#
# 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.
#
---
# Clean directories (TODO: secure delete)
- name: tls-trust | bootstrap | Clean working directory
file:
path: "{{ item }}"
state: absent
with_items:
- "{{ tls_temp_dir }}"
# Create directories
- name: tls-trust | bootstrap | Create working directory
file:
path: "{{ item }}"
state: directory
mode: 0755
with_items:
- "{{ tls_temp_dir }}"
# Create directories on deployer
- name: tls-trust | bootstrap | Create cert source directory
file:
path: "{{ item }}"
state: directory
mode: 0755
with_items:
- "{{ tls_certs_dir }}"
- "{{ tls_cacerts_dir }}"
run_once: true
delegate_to: localhost
- name: tls-trust | bootstrap | Get CA private key from CP
template:
src: "{{ ardana_internal_ca.key }}"
dest: "{{ tls_temp_dir }}"
mode: 0600
- name: tls-trust | bootstrap | Check modulus of the CA key
command: >
/usr/bin/openssl rsa -in {{ ardana_internal_ca.key }} -noout -modulus
args:
chdir: "{{ tls_temp_dir }}"
register: _tls_ca_modulus_result
- name: tls-trust | bootstrap | Check for existing internal CA on deployer
stat:
path: "{{ tls_cacerts_dir }}/{{ ardana_internal_ca.cert }}"
register: _tls_deployer_cacert_stat_result
delegate_to: localhost
- name: tls-trust | bootstrap | Check modulus of the CA cert on deployer
command: >
/usr/bin/openssl x509 -in {{ ardana_internal_ca.cert }} -noout -modulus
args:
chdir: "{{ tls_cacerts_dir }}"
register: _tls_cacert_modulus_result
delegate_to: localhost
when: _tls_deployer_cacert_stat_result.stat.exists
- name: tls-trust | bootstrap | Create Internal CA cert if modules differ
ardana_ca:
chdir: "{{ tls_temp_dir }}"
cakey: "{{ ardana_internal_ca.key }}"
cacert: "{{ ardana_internal_ca.cert }}"
conf: "{{ ardana_internal_ca.conf }}"
ca_days: "{{ ardana_internal_ca.days }}"
subj: "{{ ardana_internal_ca.subj }}"
combined: False
generate_ca: True
register: _tls_cacert_result
when: >
not _tls_deployer_cacert_stat_result.stat.exists or
_tls_cacert_modulus_result.stdout != _tls_ca_modulus_result.stdout
- name: tls-trust | bootstrap | Fetch new Internal CA to deployer
fetch:
src: "{{ tls_temp_dir }}/{{ ardana_internal_ca.cert }}"
dest: "{{ tls_cacerts_dir }}"
flat: yes
validate_checksum: no
when: _tls_cacert_result.changed
- name: tls-trust | bootstrap | Copy user CA
copy:
src: "{{ item }}"
dest: "{{ tls_cacerts_dir }}"
mode: 0644
with_fileglob:
- "public/*.crt"
run_once: true
delegate_to: localhost
- name: tls-trust | bootstrap | Copy openssl config
template:
src: "{{ item }}"
dest: "{{ tls_temp_dir }}/{{ item }}"
mode: 0644
with_items:
- "{{ ardana_internal_ca.conf }}"
07070100000024000081A40000000000000000000000015B730F8000000415000000000000000000000000000000000000004900000000ardana-tls-8.0+git.1534267264.6b1e899/roles/tls-trust/tasks/cert_csr.yml#
# (c) Copyright 2016 Hewlett Packard Enterprise Development LP
# (c) Copyright 2017 SUSE LLC
#
# 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.
#
---
- name: tls-trust | cert_csr | search for the req file fetched from server
shell: find {{ tls_req_dir }} -name {{ tls_req_file }}
register: req_file_result
- name: tls-trust | cert_csr | create the csr
command: /usr/bin/openssl req -newkey rsa:2048 -nodes -keyout key.pem -out
csr.pem -extensions v3_req -config {{ req_file_result.stdout }}
args:
chdir: "{{ tls_temp_dir }}"
07070100000025000081A40000000000000000000000015B730F8000000FC7000000000000000000000000000000000000004C00000000ardana-tls-8.0+git.1534267264.6b1e899/roles/tls-trust/tasks/cert_deploy.yml#
# (c) Copyright 2016 Hewlett Packard Enterprise Development LP
# (c) Copyright 2017-2018 SUSE LLC
#
# 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.
#
---
# First check if cert directories exist on the deployer
# and fail if not
- name: tls-trust | cert_deploy | Check cert source directory
stat:
path: "{{ tls_certs_dir }}"
delegate_to: localhost
register: _tls_certs_dir_result
- name: tls-trust | cert_deploy | Fail if certs not available
fail:
msg: "TLS certs missing on deployer. Run with TLS-CA in the hosts list"
when: not _tls_certs_dir_result.stat.exists | bool
- name: tls-trust | cert_deploy | Check CA source directory
stat:
path: "{{ tls_cacerts_dir }}"
delegate_to: localhost
register: _tls_cacerts_dir_result
- name: tls-trust | cert_deploy | Fail if certs not available
fail:
msg: "TLS CA certs missing on deployer. Run with TLS-CA in the hosts list"
when: not _tls_cacerts_dir_result.stat.exists | bool
- name: tls-trust | cert_deploy | install vip cert requests
copy:
src: "{{ tls_certs_dir }}/{{ item }}.req"
dest: "{{ frontend_server_cert_directory }}/{{ item }}.req"
owner: root
group: root
mode: 0440
with_items:
- "{{ install_vip_certs_items }}"
- "ardana-node-cert"
become: yes
register: cert_request_copy_result
- name: tls-trust | cert_deploy | install vip certificates
copy:
src: "{{ tls_certs_dir }}/{{ item }}"
dest: "{{ frontend_server_cert_directory }}/{{ item }}"
owner: root
group: root
mode: 0440
with_items:
- "{{ install_vip_certs_items }}"
- "ardana-node-cert"
become: yes
register: ardana_notify_haproxy_restart_required
# Find out if there are certs about to expire
- name: tls-trust | cert_deploy | check expiry
command: "openssl x509 -in {{ item }} -checkend {{ tls_expiry_check }}"
args:
chdir: "{{ frontend_server_cert_directory }}"
with_items:
- "{{ install_vip_certs_items }}"
- "ardana-node-cert"
register: _expiry_checks_result
become: yes
ignore_errors: yes
- name: tls-trust | cert_deploy | replace expiring certificates
copy:
src: "{{ tls_certs_dir }}/{{ item.item }}"
dest: "{{ frontend_server_cert_directory }}/{{ item.item }}"
owner: root
group: root
mode: 0440
with_items:
- "{{ _expiry_checks_result.results }}"
when: item.rc == 1
become: yes
register: ardana_notify_haproxy_restart_required
# Finally, if we are told to regenerate all certs
- name: tls-trust | cert_deploy | install vip cert requests
file:
path: "{{ frontend_server_cert_directory }}/{{ item }}.req"
state: absent
with_items:
- "{{ install_vip_certs_items }}"
- "ardana-node-cert"
become: yes
when: tls_force_cert_regeneration
- name: tls-trust | cert_deploy | install vip cert requests
copy:
src: "{{ tls_certs_dir }}/{{ item }}.req"
dest: "{{ frontend_server_cert_directory }}/{{ item }}.req"
owner: root
group: root
mode: 0440
with_items:
- "{{ install_vip_certs_items }}"
- "ardana-node-cert"
become: yes
register: _cert_request_copy_result
when: tls_force_cert_regeneration
- name: tls-trust | cert_deploy | install vip certificates
copy:
src: "{{ tls_certs_dir }}/{{ item.item }}"
dest: "{{ frontend_server_cert_directory }}/{{ item.item }}"
owner: root
group: root
mode: 0440
with_items:
- "{{ _cert_request_copy_result.results }}"
when: item.changed and tls_force_cert_regeneration
become: yes
register: ardana_notify_haproxy_restart_required
07070100000026000081A40000000000000000000000015B730F800000037D000000000000000000000000000000000000004A00000000ardana-tls-8.0+git.1534267264.6b1e899/roles/tls-trust/tasks/cert_sign.yml#
# (c) Copyright 2016 Hewlett Packard Enterprise Development LP
# (c) Copyright 2017 SUSE LLC
#
# 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.
#
---
- name: tls-trust | cert_sign | Sign the server certificate
command: /usr/bin/openssl ca -batch -notext -md sha256 -in
csr.pem -out cert.pem -config openssl.cnf -extensions
v3_req
args:
chdir: "{{ tls_temp_dir }}"
07070100000027000081A40000000000000000000000015B730F800000032A000000000000000000000000000000000000004800000000ardana-tls-8.0+git.1534267264.6b1e899/roles/tls-trust/tasks/cleanup.yml#
# (c) Copyright 2016 Hewlett Packard Enterprise Development LP
# (c) Copyright 2017 SUSE LLC
#
# 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.
#
---
- name: tls-trust | cleanup | Delete certs working dir
file:
path: "{{ item }}"
state: absent
with_items:
- "{{ tls_temp_dir }}"
ignore_errors: yes
07070100000028000081A40000000000000000000000015B730F800000041D000000000000000000000000000000000000005B00000000ardana-tls-8.0+git.1534267264.6b1e899/roles/tls-trust/tasks/config_service_termination.yml#
# (c) Copyright 2016 Hewlett Packard Enterprise Development LP
# (c) Copyright 2017 SUSE LLC
#
# 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.
#
---
- name: tls-trust | config_service_termination | Make sure conf.d exists
become: yes
file:
path: "{{ haproxy_conf_dir }}"
state: directory
mode: 0755
- name: tls-trust | config_service_termination | Add config snippet
become: yes
template:
src: tls-terminator
dest: "{{ haproxy_conf_dir }}/20-TLS-terminator.cfg"
mode: 0644
register: ardana_notify_haproxy_restart_required
07070100000029000081A40000000000000000000000015B730F8000000C1B000000000000000000000000000000000000004D00000000ardana-tls-8.0+git.1534267264.6b1e899/roles/tls-trust/tasks/create_certs.yml#
# (c) Copyright 2016 Hewlett Packard Enterprise Development LP
# (c) Copyright 2017-2018 SUSE LLC
#
# 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.
#
---
- name: tls-trust | create_certs | Create vip cert requests
template:
src: "ardana-vip-temp.req"
dest: "{{ tls_temp_dir }}/{{ item.cert_name }}.req"
mode: 0644
with_items:
- "{{ ip_cluster_certs }}"
- name: tls-trust | create_certs | Create node cert requests
template:
src: "{{ item.cert_name }}.req"
dest: "{{ tls_temp_dir }}/{{ item.cert_name }}.req"
mode: 0644
with_items:
- "{{ tls_certs }}"
- name: tls-trust | create_certs | Create mysql cert requests
template:
src: "mysql-admin.req"
dest: "{{ tls_temp_dir }}/{{ item.cert_name }}.req"
mode: 0644
with_items:
- "{{ tls_mysql.certs }}"
- name: tls-trust | create_certs | Create mysql cert requests
template:
src: "rmq-internal.req"
dest: "{{ tls_temp_dir }}/{{ item.cert_name }}.req"
mode: 0644
with_items:
- "{{ tls_rmq.certs }}"
- name: tls-trust | create_certs | create vip certs
ardana_ca:
req: "{{ item.cert_name }}.req"
cert: "{{ item.cert_name }}"
chdir: "{{ tls_temp_dir }}"
cakey: "{{ ardana_internal_ca.key }}"
cacert: "{{ ardana_internal_ca.cert }}"
conf: "{{ ardana_internal_ca.conf }}"
subj: "{{ ardana_internal_ca.subj }}"
combined: True
with_items:
- "{{ ip_cluster_certs }}"
- "{{ tls_certs }}"
- "{{ tls_mysql.certs }}"
- "{{ tls_rmq.certs }}"
- name: tls-trust | create_certs | Create ansible facts directory on deployer
file:
path: "{{ tls_facts_dir }}"
owner: root
group: root
mode: 0755
state: directory
delegate_to: localhost
become: yes
- name: tls-trust | create_certs | Create internal certificate fact on deployer
copy:
content: "{{ ardana_internal_ca.cert | to_json }}"
dest: "{{ tls_fact_file }}"
mode: 0644
delegate_to: localhost
become: yes
- name: tls-trust | create_certs | fetch certs to deployer
fetch:
src: "{{ tls_temp_dir }}/{{ item.cert_name }}"
dest: "{{ tls_certs_dir }}"
flat: yes
validate_checksum: no
with_items:
- "{{ ip_cluster_certs }}"
- "{{ tls_certs }}"
- "{{ tls_mysql.certs }}"
- "{{ tls_rmq.certs }}"
- name: tls-trust | create_certs | fetch reqs to deployer
fetch:
src: "{{ tls_temp_dir }}/{{ item.cert_name }}.req"
dest: "{{ tls_certs_dir }}"
flat: yes
validate_checksum: no
with_items:
- "{{ ip_cluster_certs }}"
- "{{ tls_certs }}"
- "{{ tls_mysql.certs }}"
- "{{ tls_rmq.certs }}"
0707010000002A000081A40000000000000000000000015B730F8000000A11000000000000000000000000000000000000004800000000ardana-tls-8.0+git.1534267264.6b1e899/roles/tls-trust/tasks/install.yml#
# (c) Copyright 2015-2017 Hewlett Packard Enterprise Development LP
# (c) Copyright 2017-2018 SUSE LLC
#
# 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.
#
---
- name: tls-trust | install | Set os-specific variables
include_vars: "{{ ansible_os_family | lower }}.yml"
- name: tls-trust | install | Install ca-certificates
become: yes
package:
name: "{{ item }}"
state: present
with_items:
- ca-certificates
- name: tls-trust | install | Create local cert directory
become: yes
file:
path: "{{ local_cert_directory }}"
state: directory
mode: 0755
- name: tls-trust | install | Install ca certificates
become: yes
copy:
src: "{{ item }}"
dest: "{{ local_cert_directory }}/{{ item | basename }}"
owner: root
group: root
mode: 0644
with_fileglob:
- "{{ tls_cacerts_dir }}/*.crt"
register: _tls_cacerts_copy_result
- name: tls-trust | install | Update cacert store on RedHat
become: yes
shell: |
set -eu
update-ca-trust force-enable
update-ca-trust extract
when: _tls_cacerts_copy_result.changed and ansible_os_family == "RedHat"
register: ardana_notify_certs_updated
- name: tls-trust | install | Update cacert store
become: yes
shell: /usr/sbin/update-ca-certificates --fresh
when: _tls_cacerts_copy_result.changed and ansible_os_family != "RedHat"
register: ardana_notify_certs_updated
- name: tls-trust | install | Make RedHat compatible with the certifi package
become: yes
file:
src: /etc/ssl/certs/ca-bundle.trust.crt
dest: /etc/ssl/ca-bundle.pem
state: link
when: ansible_os_family == "RedHat"
- name: tls-trust | install | Create ansible facts directory
file:
path: "{{ tls_facts_dir }}"
owner: root
group: root
mode: 0755
state: directory
become: yes
- name: tls-trust | install | Copy internal cert fact from deployer to nodes
copy:
src: "{{ tls_fact_file }}"
dest: "{{ tls_fact_file }}"
mode: 0644
become: yes
- name: tls-trust | install | Reread local facts to pick up internal cert
setup: filter=ansible_local
0707010000002B000081A40000000000000000000000015B730F8000000695000000000000000000000000000000000000004D00000000ardana-tls-8.0+git.1534267264.6b1e899/roles/tls-trust/tasks/install_java.yml#
# (c) Copyright 2016 Hewlett Packard Enterprise Development LP
# (c) Copyright 2017 SUSE LLC
#
# 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.
#
---
# Re-import into java keystore since update-ca-certificates doesn't
# detect modulus change. Note that we don't care if there's no java
# since a service that installs it later will get the java hook
# of update-ca-certificates triggered. We handle the updating of
# CA here.
- name: tls-trust | install_java | Remove CA from Java keystore
become: yes
command: >
keytool -keystore {{ tls_java_ca.keystore }} -storepass
{{ tls_java_ca.storepass }} -delete -alias
debian:{{ item | basename | regex_replace('^(.*).crt$', '\\1.pem') }}
ignore_errors: yes
with_fileglob:
- "{{ tls_cacerts_dir }}/*.crt"
- name: tls-trust | install_java | Import CA to Java keystore
become: yes
command: >
keytool -keystore {{ tls_java_ca.keystore }} -storepass
{{ tls_java_ca.storepass }} -alias
debian:{{ item | basename | regex_replace('^(.*).crt$', '\\1.pem') }} -file
{{ local_cert_directory }}/{{ item | basename }} -importcert -noprompt
ignore_errors: yes
with_fileglob:
- "{{ tls_cacerts_dir }}/*.crt"
0707010000002C000081A40000000000000000000000015B730F8000000447000000000000000000000000000000000000004C00000000ardana-tls-8.0+git.1534267264.6b1e899/roles/tls-trust/tasks/win_install.yml#
# (c) Copyright 2016 Hewlett Packard Enterprise Development LP
# (c) Copyright 2017 SUSE LLC
#
# 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.
#
---
- name: tls-trust | win_install | Delete old cert file on Windows
win_file:
path: "{{ win_certs_path }}"
state: absent
- name: tls-trust | win_install | Create new cert file on Windows
raw: powershell New-Item '{{ win_certs_path }}' -t file
- name: tls-trust | win_install | Install ca certificate on windows
win_lineinfile:
dest: "{{ win_certs_path }}"
line: "{{ lookup('file', item ) }}"
with_fileglob:
- "public/*.crt"
0707010000002D000041ED0000000000000000000000025B730F8000000000000000000000000000000000000000000000004000000000ardana-tls-8.0+git.1534267264.6b1e899/roles/tls-trust/templates0707010000002E000081A40000000000000000000000015B730F8000000021000000000000000000000000000000000000005700000000ardana-tls-8.0+git.1534267264.6b1e899/roles/tls-trust/templates/ardana-internal-ca.key{{ ardana_internal_ca.private }}
0707010000002F000081A40000000000000000000000015B730F800000036D000000000000000000000000000000000000005500000000ardana-tls-8.0+git.1534267264.6b1e899/roles/tls-trust/templates/ardana-node-cert.req#
# (c) Copyright 2016 Hewlett Packard Enterprise Development LP
# (c) Copyright 2017 SUSE LLC
#
# 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.
#
[ req ]
distinguished_name = req_distinguished_name
req_extensions = v3_req
prompt = no
[ req_distinguished_name ]
CN = "ardana-node"
[ v3_req ]
basicConstraints = CA:FALSE
keyUsage = nonRepudiation, digitalSignature, keyEncipherment
07070100000030000081A40000000000000000000000015B730F8000000CA1000000000000000000000000000000000000005300000000ardana-tls-8.0+git.1534267264.6b1e899/roles/tls-trust/templates/ardana-openssl.cnf# Copyright 2010 United States Government as represented by the
# Administrator of the National Aeronautics and Space Administration.
# All Rights Reserved.
#
# 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.
#
# OpenSSL configuration file.
#
# Establish working directory.
dir = .
[ ca ]
default_ca = CA_default
[ CA_default ]
serial = $dir/serial
database = $dir/index.txt
new_certs_dir = $dir/
certificate = $dir/{{ ardana_internal_ca.cert }}
private_key = $dir/{{ ardana_internal_ca.key }}
unique_subject = no
default_crl_days = 366
default_days = 365
default_md = sha256
preserve = no
email_in_dn = no
nameopt = default_ca
certopt = default_ca
policy = policy_match
copy_extensions = copy
# NOTE(dprince): stateOrProvinceName must be 'supplied' or 'optional' to
# work around a stateOrProvince printable string UTF8 mismatch on
# RHEL 6 and Fedora 14 (using openssl-1.0.0-4.el6.x86_64 or
# openssl-1.0.0d-1.fc14.x86_64)
[ policy_match ]
countryName = optional
stateOrProvinceName = optional
organizationName = optional
organizationalUnitName = optional
commonName = supplied
emailAddress = optional
[ req ]
default_bits = 2048 # Size of keys
default_keyfile = key.pem # name of generated keys
default_md = sha256 # message digest algorithm
string_mask = nombstr # permitted characters
distinguished_name = req_distinguished_name
req_extensions = v3_req
x509_extensions = v3_ca
[ req_distinguished_name ]
# Variable name Prompt string
#---------------------- ----------------------------------
0.organizationName = Organization Name (company)
organizationalUnitName = Organizational Unit Name (department, division)
emailAddress = Email Address
emailAddress_max = 40
localityName = Locality Name (city, district)
stateOrProvinceName = State or Province Name (full name)
countryName = Country Name (2 letter code)
countryName_min = 2
countryName_max = 2
commonName = Common Name (hostname, IP, or your name)
commonName_max = 64
# Default values for the above, for consistency and less typing.
# Variable name Value
#------------------------------ ------------------------------
0.organizationName_default = Micro Focus International
organizationalUnitName_default = SUSE
localityName_default = Nuremberg
stateOrProvinceName_default = Bavaria
countryName_default = DE
commonName_default = Cloud Test CA
[ v3_ca ]
basicConstraints = CA:TRUE
subjectKeyIdentifier = hash
authorityKeyIdentifier = keyid:always,issuer:always
subjectAltName = @alt_names
[ v3_req ]
basicConstraints = CA:FALSE
subjectKeyIdentifier = hash
[ alt_names ]
07070100000031000081A40000000000000000000000015B730F80000004FB000000000000000000000000000000000000004F00000000ardana-tls-8.0+git.1534267264.6b1e899/roles/tls-trust/templates/ardana-vip-req#
# (c) Copyright 2016 Hewlett Packard Enterprise Development LP
# (c) Copyright 2017 SUSE LLC
#
# 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.
#
[ req ]
distinguished_name = req_distinguished_name
req_extensions = v3_req
prompt = no
[ req_distinguished_name ]
CN = "ardana-vip"
[ v3_req ]
basicConstraints = CA:FALSE
keyUsage = nonRepudiation, digitalSignature, keyEncipherment
{% if item.names or item.ips %}
subjectAltName = @alt_names
[ alt_names ]
{% set service = item %}
{% for name in service.names %}
DNS.{{ loop.index }} = "{{ name }}"
{% endfor %}
{% set offset = service.names | length %}
{% for ip in service.ips %}
DNS.{{ loop.index + offset }} = "{{ ip }}"
{% endfor %}
{% for ip in service.ips %}
IP.{{ loop.index }} = "{{ ip }}"
{% endfor %}
{% endif %}
07070100000032000081A40000000000000000000000015B730F800000062A000000000000000000000000000000000000005400000000ardana-tls-8.0+git.1534267264.6b1e899/roles/tls-trust/templates/ardana-vip-temp.req#
# (c) Copyright 2016 Hewlett Packard Enterprise Development LP
# (c) Copyright 2017 SUSE LLC
#
# 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.
#
[ req ]
distinguished_name = req_distinguished_name
req_extensions = v3_req
prompt = no
[ req_distinguished_name ]
CN = "ardana-vip"
[ v3_req ]
basicConstraints = CA:FALSE
keyUsage = nonRepudiation, digitalSignature, keyEncipherment
{% if item.names or item.ips %}
subjectAltName = @alt_names
[ alt_names ]
{% set dns_offset = 0 %}
{% set ip_offset = 0 %}
{% for server in cert_data.services.FND_CLU %}
{% if server.cert_name == item.cert_name %}
{% for name in server.names %}
DNS.{{ loop.index + dns_offset }} = "{{ name }}"
{% endfor %}
{% set dns_offset = dns_offset + (server.names | length) %}
{% for ip in server.ips %}
DNS.{{ loop.index + dns_offset }} = "{{ ip }}"
{% endfor %}
{% set dns_offset = dns_offset + (server.ips | length) %}
{% for ip in server.ips %}
IP.{{ loop.index + ip_offset }} = "{{ ip }}"
{% endfor %}
{% set ip_offset = ip_offset + (server.ips | length) %}
{% endif %}
{% endfor %}
{% endif %}
07070100000033000081A40000000000000000000000015B730F800000062C000000000000000000000000000000000000005000000000ardana-tls-8.0+git.1534267264.6b1e899/roles/tls-trust/templates/mysql-admin.req#
# (c) Copyright 2016 Hewlett Packard Enterprise Development LP
# (c) Copyright 2017 SUSE LLC
#
# 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.
#
[ req ]
distinguished_name = req_distinguished_name
req_extensions = v3_req
prompt = no
[ req_distinguished_name ]
CN = "ardana-mysql"
[ v3_req ]
basicConstraints = CA:FALSE
keyUsage = nonRepudiation, digitalSignature, keyEncipherment
{% if item.names or item.ips %}
subjectAltName = @alt_names
[ alt_names ]
{% set dns_offset = 0 %}
{% set ip_offset = 0 %}
{% for server in cert_data.services.FND_MDB %}
{% if server.cert_name == item.cert_name %}
{% for name in server.names %}
DNS.{{ loop.index + dns_offset }} = "{{ name }}"
{% endfor %}
{% set dns_offset = dns_offset + (server.names | length) %}
{% for ip in server.ips %}
DNS.{{ loop.index + dns_offset }} = "{{ ip }}"
{% endfor %}
{% set dns_offset = dns_offset + (server.ips | length) %}
{% for ip in server.ips %}
IP.{{ loop.index + ip_offset }} = "{{ ip }}"
{% endfor %}
{% set ip_offset = ip_offset + (server.ips | length) %}
{% endif %}
{% endfor %}
{% endif %}
07070100000034000081A40000000000000000000000015B730F800000062F000000000000000000000000000000000000005100000000ardana-tls-8.0+git.1534267264.6b1e899/roles/tls-trust/templates/rmq-internal.req#
# (c) Copyright 2016 Hewlett Packard Enterprise Development LP
# (c) Copyright 2017 SUSE LLC
#
# 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.
#
[ req ]
distinguished_name = req_distinguished_name
req_extensions = v3_req
prompt = no
[ req_distinguished_name ]
CN = "ardana-rabbitmq"
[ v3_req ]
basicConstraints = CA:FALSE
keyUsage = nonRepudiation, digitalSignature, keyEncipherment
{% if item.names or item.ips %}
subjectAltName = @alt_names
[ alt_names ]
{% set dns_offset = 0 %}
{% set ip_offset = 0 %}
{% for server in cert_data.services.FND_RMQ %}
{% if server.cert_name == item.cert_name %}
{% for name in server.names %}
DNS.{{ loop.index + dns_offset }} = "{{ name }}"
{% endfor %}
{% set dns_offset = dns_offset + (server.names | length) %}
{% for ip in server.ips %}
DNS.{{ loop.index + dns_offset }} = "{{ ip }}"
{% endfor %}
{% set dns_offset = dns_offset + (server.ips | length) %}
{% for ip in server.ips %}
IP.{{ loop.index + ip_offset }} = "{{ ip }}"
{% endfor %}
{% set ip_offset = ip_offset + (server.ips | length) %}
{% endif %}
{% endfor %}
{% endif %}
07070100000035000081A40000000000000000000000015B730F800000015D000000000000000000000000000000000000004F00000000ardana-tls-8.0+git.1534267264.6b1e899/roles/tls-trust/templates/tls-terminator{% for service in host.tls_in %}
{% if loop.first %}
listen {{ service.name }}
mode http
bind {{ service.accept.ip_address }}:{{ service.accept.port }} ssl crt /etc/ssl/private/ardana-node-cert
server {{ service.name }} {{ service.connect.ip_address }}:{{ service.connect.port }} check inter 2000 rise 2 fall 5
{% endif %}
{% endfor %}
07070100000036000041ED0000000000000000000000025B730F8000000000000000000000000000000000000000000000003B00000000ardana-tls-8.0+git.1534267264.6b1e899/roles/tls-trust/vars07070100000037000081A40000000000000000000000015B730F80000002BC000000000000000000000000000000000000004600000000ardana-tls-8.0+git.1534267264.6b1e899/roles/tls-trust/vars/debian.yml#
# (c) Copyright 2016 Hewlett Packard Enterprise Development LP
# (c) Copyright 2017 SUSE LLC
#
# 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.
#
---
local_cert_directory: "/usr/local/share/ca-certificates"
07070100000038000081A40000000000000000000000015B730F80000002BC000000000000000000000000000000000000004600000000ardana-tls-8.0+git.1534267264.6b1e899/roles/tls-trust/vars/redhat.yml#
# (c) Copyright 2016 Hewlett Packard Enterprise Development LP
# (c) Copyright 2017 SUSE LLC
#
# 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.
#
---
local_cert_directory: "/etc/pki/ca-trust/source/anchors"
07070100000039000081A40000000000000000000000015B730F80000002B2000000000000000000000000000000000000004400000000ardana-tls-8.0+git.1534267264.6b1e899/roles/tls-trust/vars/suse.yml#
# (c) Copyright 2017 Hewlett Packard Enterprise Development LP
# (c) Copyright 2017-2018 SUSE LLC
#
# 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.
#
local_cert_directory: /etc/pki/trust/anchors
0707010000003A000041ED0000000000000000000000035B730F8000000000000000000000000000000000000000000000003500000000ardana-tls-8.0+git.1534267264.6b1e899/roles/tls-vars0707010000003B000041ED0000000000000000000000025B730F8000000000000000000000000000000000000000000000003E00000000ardana-tls-8.0+git.1534267264.6b1e899/roles/tls-vars/defaults0707010000003C000081A40000000000000000000000015B730F80000002B9000000000000000000000000000000000000004700000000ardana-tls-8.0+git.1534267264.6b1e899/roles/tls-vars/defaults/main.yml#
# (c) Copyright 2015-2016 Hewlett Packard Enterprise Development LP
# (c) Copyright 2017-2018 SUSE LLC
#
# 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.
#
---
trusted_ca_bundle: "/etc/ssl/ca-bundle.pem"
0707010000003D000081A40000000000000000000000015B730F80000002D0000000000000000000000000000000000000003500000000ardana-tls-8.0+git.1534267264.6b1e899/tls-deploy.yml#
# (c) Copyright 2015,2016 Hewlett Packard Enterprise Development LP
# (c) Copyright 2017 SUSE LLC
#
# 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.
#
---
- include: _tls-deploy-certs.yml
- include: _tls-terminator-config.yml
0707010000003E000081A40000000000000000000000015B730F800000029E000000000000000000000000000000000000003A00000000ardana-tls-8.0+git.1534267264.6b1e899/tls-pre-upgrade.yml#
# (c) Copyright 2016 Hewlett Packard Enterprise Development LP
# (c) Copyright 2017 SUSE LLC
#
# 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.
#
---
- include: tls-upgrade.yml
0707010000003F000081A40000000000000000000000015B730F80000002CB000000000000000000000000000000000000003A00000000ardana-tls-8.0+git.1534267264.6b1e899/tls-reconfigure.yml#
# (c) Copyright 2016 Hewlett Packard Enterprise Development LP
# (c) Copyright 2017 SUSE LLC
#
# 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.
#
---
- include: _tls-deploy-certs.yml
- include: _tls-terminator-config.yml
07070100000040000081A40000000000000000000000015B730F800000032A000000000000000000000000000000000000003B00000000ardana-tls-8.0+git.1534267264.6b1e899/tls-trust-deploy.yml#
# (c) Copyright 2015,2016 Hewlett Packard Enterprise Development LP
# (c) Copyright 2017 SUSE LLC
#
# 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.
#
# Installs CA certs on the local host
---
- hosts: localhost
connection: local
roles:
- tls-trust
tasks:
- include: roles/tls-trust/tasks/install.yml
07070100000041000081A40000000000000000000000015B730F80000002D0000000000000000000000000000000000000003600000000ardana-tls-8.0+git.1534267264.6b1e899/tls-upgrade.yml#
# (c) Copyright 2015,2016 Hewlett Packard Enterprise Development LP
# (c) Copyright 2017 SUSE LLC
#
# 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.
#
---
- include: _tls-deploy-certs.yml
- include: _tls-terminator-config.yml
07070100000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000B00000000TRAILER!!!175 blocks