diff options
author | Michael Hanselmann <hansmi@vshn.ch> | 2017-09-22 15:36:51 +0200 |
---|---|---|
committer | Michael Hanselmann <hansmi@vshn.ch> | 2017-10-23 14:59:53 +0200 |
commit | 6039b8928ba8b172d95f10c9d0ae7880f393f2f7 (patch) | |
tree | 152afc6e60bbafcc49b2ea4187690d9ce4103fd1 /roles/openshift_project_request_template/tasks | |
parent | cd53b726430977bdd5cab772765bae3aed149727 (diff) | |
download | openshift-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.yml | 40 |
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 |