summaryrefslogtreecommitdiffstats
path: root/roles/openshift_project_request_template/tasks
diff options
context:
space:
mode:
authorMichael Hanselmann <hansmi@vshn.ch>2017-09-22 15:36:51 +0200
committerMichael Hanselmann <hansmi@vshn.ch>2017-10-23 14:59:53 +0200
commit6039b8928ba8b172d95f10c9d0ae7880f393f2f7 (patch)
tree152afc6e60bbafcc49b2ea4187690d9ce4103fd1 /roles/openshift_project_request_template/tasks
parentcd53b726430977bdd5cab772765bae3aed149727 (diff)
downloadopenshift-6039b8928ba8b172d95f10c9d0ae7880f393f2f7.tar.gz
openshift-6039b8928ba8b172d95f10c9d0ae7880f393f2f7.tar.bz2
openshift-6039b8928ba8b172d95f10c9d0ae7880f393f2f7.tar.xz
openshift-6039b8928ba8b172d95f10c9d0ae7880f393f2f7.zip
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.
Diffstat (limited to 'roles/openshift_project_request_template/tasks')
-rw-r--r--roles/openshift_project_request_template/tasks/main.yml40
1 files changed, 40 insertions, 0 deletions
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