From 6039b8928ba8b172d95f10c9d0ae7880f393f2f7 Mon Sep 17 00:00:00 2001 From: Michael Hanselmann Date: Fri, 22 Sep 2017 15:36:51 +0200 Subject: Add role to configure project request template The OpenShift master role already supports changing the master configuration to refer to a project template, but there's no way to manage that template directly. This role adds the necessary code to generate a default template and to apply customizations using the "yedit" module. --- .../tasks/main.yml | 40 ++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 roles/openshift_project_request_template/tasks/main.yml (limited to 'roles/openshift_project_request_template/tasks') diff --git a/roles/openshift_project_request_template/tasks/main.yml b/roles/openshift_project_request_template/tasks/main.yml new file mode 100644 index 000000000..c31ee5795 --- /dev/null +++ b/roles/openshift_project_request_template/tasks/main.yml @@ -0,0 +1,40 @@ +--- +- name: Create temp file for template + command: mktemp /tmp/openshift-ansible-XXXXXX.yaml + register: mktemp + changed_when: False + +- name: Generate default project template + command: | + {{ openshift.common.client_binary | quote }} \ + --config {{ openshift.common.config_base | quote }}/master/admin.kubeconfig \ + --output yaml \ + adm create-bootstrap-project-template \ + --name {{ openshift_project_request_template_name | quote }} + register: default_project_template + +- name: Write default project template to file + copy: + mode=0600 + content="{{ default_project_template.stdout }}" + dest="{{ mktemp.stdout }}" + +- name: Apply template modifications + yedit: + state: present + src: "{{ mktemp.stdout }}" + edits: "{{ openshift_project_request_template_edits }}" + when: "openshift_project_request_template_edits | length > 0" + +- name: Create or update project request template + command: | + {{ openshift.common.client_binary }} \ + --config {{ openshift.common.config_base }}/master/admin.kubeconfig \ + --namespace {{ openshift_project_request_template_namespace | quote }} \ + apply --filename {{ mktemp.stdout }} + +- name: Delete temp file + file: + name: "{{ mktemp.stdout }}" + state: absent + changed_when: False -- cgit v1.2.3