123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- ---
- - name: Prepare for the navigate exercise
- hosts: workstation.lab.example.com
- gather_subset: min
- become: no
- vars:
- ge_nsp: deploy-introduction
- tasks:
- - name: Make sure kubeconfig is there on utility
- delegate_to: utility.lab.example.com
- file:
- path: /home/lab/{{ item }}/auth/kubeconfig
- state: file
- loop: "{{ clusters }}"
- - name: Create a temp dir
- file:
- path: tmp
- state: directory
- - name: Copy over the kubeconfig
- delegate_to: utility.lab.example.com
- fetch:
- src: /home/lab/{{ item }}/auth/kubeconfig
- dest: tmp/kubeconfig-{{ item }}
- flat: yes
- loop: "{{ clusters }}"
- - name: Check whether the namespace is already there
- k8s_info:
- kubeconfig: tmp/kubeconfig-ocp4
- validate_certs: no
- api_version: v1
- kind: namespace
- name: "{{ ge_nsp }}"
- register: ge_exists
- - name: Fail if the namespace exists
- fail:
- msg: "The exercise namespace already exists: {{ ge_nsp }}; please run strategy-finish.yml to clean up first and then re-run this playbook."
- when: ge_exists.resources | length > 0
- - name: Ensure there is a namespace for the exercise
- k8s:
- kubeconfig: tmp/kubeconfig-ocp4
- validate_certs: no
- api_version: v1
- kind: namespace
- name: "{{ ge_nsp }}"
- - name: Give developer admin role in the project
- k8s:
- kubeconfig: tmp/kubeconfig-ocp4
- validate_certs: no
- api_version: rbac.authorization.k8s.io/v1
- kind: rolebinding
- namespace: "{{ ge_nsp }}"
- name: dev-admin
- definition:
- roleRef:
- apiGroup: rbac.authorization.k8s.io
- kind: ClusterRole
- name: admin
- subjects:
- - apiGroup: rbac.authorization.k8s.io
- kind: User
- name: developer
- - name: Deploy the sample app manifest
- k8s:
- kubeconfig: tmp/kubeconfig-ocp4
- validate_certs: no
- namespace: "{{ ge_nsp }}"
- src: ../labs/health/navigate/sample-node-app.yaml
|