--- - name: Install Openshift Client VM packages yum: state: present name: - java-1.8.0-openjdk-devel - java-11-openjdk-devel - docker - podman - skopeo - buildah - golang tags: - install_openshift_client_vm_packages - name: Create docker group become: yes group: name: docker state: present - name: Create users group become: yes group: name: users state: present - when: - student_name is defined - student_name != '' name: Add user to docker and users groups become: yes user: name: "{{ student_name }}" append: yes groups: docker,users - name: Enable and Start Docker service: name: docker state: started enabled: yes - name: Get the OpenShift CLI become: yes unarchive: src: "https://mirror.openshift.com/pub/openshift-v4/clients/ocp/{{ osrelease }}/openshift-client-linux-{{ osrelease }}.tar.gz" remote_src: yes dest: /usr/bin mode: 0775 owner: root group: root - name: Create OpenShift Bash completion file become: yes shell: /usr/bin/oc completion bash >/etc/bash_completion.d/openshift - name: Create /usr/local/maven file: path: /usr/local/maven state: directory owner: root group: root mode: 0775 - name: Unarchive file unarchive: src: "https://www-us.apache.org/dist/maven/maven-3/{{ _client_vm_maven_version }}/binaries/apache-maven-{{ _client_vm_maven_version }}-bin.tar.gz" remote_src: yes dest: /usr/local/maven owner: root group: root extra_opts: - --strip=1 register: r_geturl retries: 5 delay: 20 until: r_geturl is succeeded tags: - install_openshift_client_vm_packages - name: Download jq-linux64 get_url: url: http://admin.na.shared.opentlc.com/repos/binaries/jq-linux64 dest: /usr/local/bin/jq mode: 0775 ignore_errors: true tags: - install_openshift_client_vm_packages - name: Download OpenShift Do (odo) get_url: url: "https://github.com/openshift/odo/releases/download/{{ _client_vm_odo_version }}/odo-linux-amd64" dest: /usr/local/bin/odo owner: root group: root mode: 0775 ignore_errors: true tags: - install_openshift_client_vm_packages - name: Install S2I Executable unarchive: src: https://github.com/openshift/source-to-image/releases/download/v1.1.14/source-to-image-v1.1.14-874754de-linux-amd64.tar.gz remote_src: yes dest: /usr/local/bin owner: root group: root mode: 0755 extra_opts: - --strip=1 ignore_errors: true - name: Get community istioctl utility get_url: url: "https://github.com/istio/istio/releases/download/{{ _client_vm_istioctl_version }}/istio-{{ _client_vm_istioctl_version }}-linux.tar.gz" dest: "/tmp/istio-{{ _client_vm_istioctl_version }}-linux.tar.gz" register: r_geturl retries: 5 delay: 20 until: r_geturl is succeeded tags: - install_openshift_client_vm_packages - name: Unarchive file unarchive: remote_src: yes src: "/tmp/istio-{{ _client_vm_istioctl_version }}-linux.tar.gz" dest: /tmp/ tags: - install_openshift_client_vm_packages - name: Move istioctl to /usr/local/bin copy: remote_src: yes src: "/tmp/istio-{{ _client_vm_istioctl_version }}/bin/istioctl" dest: /usr/local/bin/istioctl group: root owner: root mode: 0755 tags: - install_openshift_client_vm_packages - name: Cleanup Temp Directory file: dest: "/tmp/istio-{{ _client_vm_istioctl_version }}" state: absent tags: - install_openshift_client_vm_packages - name: Cleanup downloaded file file: dest: "/tmp/istio-{{ _client_vm_istioctl_version }}-linux.tar.gz" state: absent tags: - install_openshift_client_vm_packages - name: Install bash-git-prompt git: repo: https://github.com/magicmonty/bash-git-prompt.git dest: "{{ item }}/.bash-git-prompt" clone: yes loop: - "/root" - "/home/ec2-user" - "/etc/skel" tags: - install_bash_customization - name: Change ownership of bash-git-prompt file: path: "{{ item.directory }}/.bash-git-prompt" owner: "{{ item.user }}" group: "{{ item.group }}" recurse: yes loop: - { directory: "/root", user: "root", group: "root" } - { directory: "/home/ec2-user", user: "ec2-user", group: "ec2-user" } - { directory: "/etc/skel", user: "root", group: "root" } tags: - install_bash_customization - name: Install .bashrc copy: src: ../files/bashrc dest: "{{ item.directory }}/.bashrc" mode: 0644 owner: "{{ item.user }}" group: "{{ item.group }}" loop: - { directory: "/root", user: "root", group: "root" } - { directory: "/home/ec2-user", user: "ec2-user", group: "ec2-user" } - { directory: "/etc/skel", user: "root", group: "root" } tags: - install_bash_customization - name: Install .bash_profile copy: src: ../files/bash_profile dest: "{{ item.directory }}/.bash_profile" mode: 0644 owner: "{{ item.user }}" group: "{{ item.group }}" loop: - { directory: "/root", user: "root", group: "root" } - { directory: "/home/ec2-user", user: "ec2-user", group: "ec2-user" } - { directory: "/etc/skel", user: "root", group: "root" } tags: - install_bash_customization - name: Install everything for student user when: install_student_user|d(False)|bool block: - name: Install bash-git-prompt for lab-user git: repo: https://github.com/magicmonty/bash-git-prompt.git dest: "{{ item }}/.bash-git-prompt" clone: yes with_items: - "/home/lab-user" tags: - install_bash_customization - name: Change ownership of bash-git-prompt for lab-user file: path: "{{ item.directory }}/.bash-git-prompt" owner: "{{ item.user }}" group: "{{ item.group }}" recurse: yes loop: - { directory: "/home/lab-user", user: "lab-user", group: "users" } tags: - install_bash_customization - name: Install .bashrc for lab-user copy: src: ../files/bashrc dest: "{{ item.directory }}/.bashrc" mode: 0644 owner: "{{ item.user }}" group: "{{ item.group }}" loop: - { directory: "/home/lab-user", user: "lab-user", group: "users" } tags: - install_bash_customization - name: Install .bash_profile for lab-user copy: src: ../files/bash_profile dest: "{{ item.directory }}/.bash_profile" mode: 0644 owner: "{{ item.user }}" group: "{{ item.group }}" loop: - { directory: "/home/lab-user", user: "lab-user", group: "users" } tags: - install_bash_customization