# This example generates HTML and JSON reports and
#
# Copies of the generated HTML and JSON reports are uploaded to the masters,
# which is particularly useful when this playbook is run from a container.
#
# All certificates (healthy or not) are included in the results
#
# Optional environment variables to alter the behaviour of the playbook:
# CERT_EXPIRY_WARN_DAYS: Length of the warning window in days (45)
# COPY_TO_PATH: path to copy reports to in the masters (/etc/origin/certificate_expiration_report)
---
- name: Generate certificate expiration reports
hosts: nodes:masters:etcd
gather_facts: no
vars:
openshift_certificate_expiry_save_json_results: yes
openshift_certificate_expiry_generate_html_report: yes
openshift_certificate_expiry_show_all: yes
openshift_certificate_expiry_warning_days: "{{ lookup('env', 'CERT_EXPIRY_WARN_DAYS') | default('45', true) }}"
roles:
- role: openshift_certificate_expiry
- name: Upload reports to master
hosts: masters
gather_facts: no
vars:
destination_path: "{{ lookup('env', 'COPY_TO_PATH') | default('/etc/origin/certificate_expiration_report', true) }}"
timestamp: "{{ lookup('pipe', 'date +%Y%m%d') }}"
tasks:
- name: Ensure that the target directory exists
file:
path: "{{ destination_path }}"
state: directory
- name: Copy the reports
copy:
dest: "{{ destination_path }}/{{ timestamp }}-{{ item }}"
src: "/tmp/{{ item }}"
with_items:
- "cert-expiry-report.html"
- "cert-expiry-report.json"