diff --git a/playbooks/manual/ocp4-sysadmin-openshift.yml b/playbooks/manual/ocp4-sysadmin-openshift.yml new file mode 100644 index 0000000000..06d89113bb --- /dev/null +++ b/playbooks/manual/ocp4-sysadmin-openshift.yml @@ -0,0 +1,16 @@ +--- +- hosts: os_control_stg:os_control + gather_facts: false + + roles: + - role: openshift/sysadmin-openshift + appowners: + - mobrien + - siddharthvipul1 + - kevin + - dkirwan + - jrichardson + - scoady + - lenkaseg + - asaleh + - t0xic0der diff --git a/roles/openshift/sysadmin-openshift/defaults/main.yaml b/roles/openshift/sysadmin-openshift/defaults/main.yaml new file mode 100644 index 0000000000..d9cc9f6634 --- /dev/null +++ b/roles/openshift/sysadmin-openshift/defaults/main.yaml @@ -0,0 +1,4 @@ +appowners: [] +project_templates: + - group.yaml + - rolebinding.yaml diff --git a/roles/openshift/sysadmin-openshift/tasks/main.yaml b/roles/openshift/sysadmin-openshift/tasks/main.yaml new file mode 100644 index 0000000000..33d90fdeaf --- /dev/null +++ b/roles/openshift/sysadmin-openshift/tasks/main.yaml @@ -0,0 +1,3 @@ +- import_tasks: resources.yaml +- import_tasks: upgrade.yaml + diff --git a/roles/openshift/sysadmin-openshift/tasks/resources.yaml b/roles/openshift/sysadmin-openshift/tasks/resources.yaml new file mode 100644 index 0000000000..7613993e93 --- /dev/null +++ b/roles/openshift/sysadmin-openshift/tasks/resources.yaml @@ -0,0 +1,28 @@ +- name: Create the directories to hold the templates + file: + path: "/root/ocp4/openshift-apps/" + state: directory + owner: root + group: root + mode: 0770 + recurse: yes + tags: + - create-resources + +# generate the templates for project to be created +- name: create the templates + template: + src: "{{ item }}" + dest: "/root/ocp4/openshift-apps/{{ item }}" + mode: 0770 + with_items: "{{ project_templates }}" + tags: + - create-resources + +# apply created openshift resources +- name: oc apply resources + command: "/root/bin/oc apply -f /root/ocp4/openshift-apps/{{ item }}" + with_items: "{{ project_templates }}" + tags: + - create-resources + diff --git a/roles/openshift/sysadmin-openshift/tasks/upgrade.yaml b/roles/openshift/sysadmin-openshift/tasks/upgrade.yaml new file mode 100644 index 0000000000..d42a43f8fb --- /dev/null +++ b/roles/openshift/sysadmin-openshift/tasks/upgrade.yaml @@ -0,0 +1,7 @@ +- name: Install oc-client.prm package. + yum: + name: /srv/web/infra/bigfiles/openshiftboot/oc-client/oc-client.rpm + state: present + delegate_to: 127.0.0.1 + tags: + - upgrade-rpm diff --git a/roles/openshift/sysadmin-openshift/templates/group.yaml b/roles/openshift/sysadmin-openshift/templates/group.yaml new file mode 100644 index 0000000000..f009677abe --- /dev/null +++ b/roles/openshift/sysadmin-openshift/templates/group.yaml @@ -0,0 +1,8 @@ +kind: Group +apiVersion: user.openshift.io/v1 +metadata: + name: "sysadmin-openshift" +users: +{% for item in appowners %} +- "{{ item }}" +{% endfor %} diff --git a/roles/openshift/sysadmin-openshift/templates/rolebinding.yaml b/roles/openshift/sysadmin-openshift/templates/rolebinding.yaml new file mode 100644 index 0000000000..19ac13a64c --- /dev/null +++ b/roles/openshift/sysadmin-openshift/templates/rolebinding.yaml @@ -0,0 +1,12 @@ +kind: RoleBinding +apiVersion: rbac.authorization.k8s.io/v1 +metadata: + name: "sysadmin-openshift" +subjects: + - kind: Group + apiGroup: rbac.authorization.k8s.io + name: "sysadmin-openshift" +roleRef: + apiGroup: rbac.authorization.k8s.io + kind: ClusterRole + name: cluster-admin