install.yaml 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168
  1. ---
  2. - name: create operator-lifecycle-manager project
  3. oc_project:
  4. name: operator-lifecycle-manager
  5. state: present
  6. node_selector:
  7. - ""
  8. - name: Make temp directory for manifests
  9. command: mktemp -d /tmp/olm-ansible-XXXXXX
  10. register: mktemp
  11. changed_when: False
  12. - name: Copy manifests to temp directory
  13. copy:
  14. src: "{{ item }}"
  15. dest: "{{ mktemp.stdout }}"
  16. with_fileglob: files/*.yaml
  17. - name: Set olm-operator template
  18. template:
  19. src: olm-operator.deployment.j2
  20. dest: "{{ mktemp.stdout }}/olm-operator.deployment.yaml"
  21. vars:
  22. namespace: operator-lifecycle-manager
  23. - name: Set catalog-operator template
  24. template:
  25. src: catalog-operator.deployment.j2
  26. dest: "{{ mktemp.stdout }}/catalog-operator.deployment.yaml"
  27. vars:
  28. namespace: operator-lifecycle-manager
  29. - name: Apply olm-operator-serviceaccount ServiceAccount manifest
  30. oc_obj:
  31. state: present
  32. kind: ServiceAccount
  33. name: olm-operator-serviceaccount
  34. namespace: operator-lifecycle-manager
  35. files:
  36. - "{{ mktemp.stdout }}/olm-operator.serviceaccount.yaml"
  37. - name: Apply operator-lifecycle-manager ClusterRole manifest
  38. oc_obj:
  39. state: present
  40. kind: ClusterRole
  41. name: system:controller:operator-lifecycle-manager
  42. namespace: operator-lifecycle-manager
  43. files:
  44. - "{{ mktemp.stdout }}/olm-operator.clusterrole.yaml"
  45. - name: Apply olm-operator-binding-operator-lifecycle-manager ClusterRoleBinding manifest
  46. oc_obj:
  47. state: present
  48. kind: ClusterRoleBinding
  49. name: olm-operator-binding-operator-lifecycle-manager
  50. namespace: operator-lifecycle-manager
  51. files:
  52. - "{{ mktemp.stdout }}/olm-operator.rolebinding.yaml"
  53. - name: Apply clusterserviceversions.operators.coreos.com CustomResourceDefinition manifest
  54. oc_obj:
  55. state: present
  56. kind: CustomResourceDefinition
  57. name: clusterserviceversions.operators.coreos.com
  58. namespace: operator-lifecycle-manager
  59. files:
  60. - "{{ mktemp.stdout }}/clusterserviceversion.crd.yaml"
  61. - name: Apply catalogsources.operators.coreos.com CustomResourceDefinition manifest
  62. oc_obj:
  63. state: present
  64. kind: CustomResourceDefinition
  65. name: catalogsources.operators.coreos.com
  66. namespace: operator-lifecycle-manager
  67. files:
  68. - "{{ mktemp.stdout }}/catalogsource.crd.yaml"
  69. - name: Apply installplans.operators.coreos.com CustomResourceDefinition manifest
  70. oc_obj:
  71. state: present
  72. kind: CustomResourceDefinition
  73. name: installplans.operators.coreos.com
  74. namespace: operator-lifecycle-manager
  75. files:
  76. - "{{ mktemp.stdout }}/installplan.crd.yaml"
  77. - name: Apply subscriptions.operators.coreos.com CustomResourceDefinition manifest
  78. oc_obj:
  79. state: present
  80. kind: CustomResourceDefinition
  81. name: subscriptions.operators.coreos.com
  82. namespace: operator-lifecycle-manager
  83. files:
  84. - "{{ mktemp.stdout }}/subscription.crd.yaml"
  85. - name: Apply rh-operators ConfigMap manifest
  86. oc_obj:
  87. state: present
  88. kind: ConfigMap
  89. name: rh-operators
  90. namespace: operator-lifecycle-manager
  91. files:
  92. - "{{ mktemp.stdout }}/rh-operators.configmap.yaml"
  93. - name: Apply rh-operators CatalogSource manifest
  94. oc_obj:
  95. state: present
  96. kind: CatalogSource
  97. name: rh-operators
  98. namespace: operator-lifecycle-manager
  99. files:
  100. - "{{ mktemp.stdout }}/rh-operators.catalogsource.yaml"
  101. - name: Apply certified-operators ConfigMap manifest
  102. oc_obj:
  103. state: present
  104. kind: ConfigMap
  105. name: certified-operators
  106. namespace: operator-lifecycle-manager
  107. files:
  108. - "{{ mktemp.stdout }}/certified-operators.configmap.yaml"
  109. - name: Apply certified-operators CatalogSource manifest
  110. oc_obj:
  111. state: present
  112. kind: CatalogSource
  113. name: certified-operators
  114. namespace: operator-lifecycle-manager
  115. files:
  116. - "{{ mktemp.stdout }}/certified-operators.catalogsource.yaml"
  117. - name: Apply olm-operator Deployment manifest
  118. oc_obj:
  119. state: present
  120. kind: Deployment
  121. name: olm-operator
  122. namespace: operator-lifecycle-manager
  123. files:
  124. - "{{ mktemp.stdout }}/olm-operator.deployment.yaml"
  125. - name: Apply catalog-operator Deployment manifest
  126. oc_obj:
  127. state: present
  128. kind: Deployment
  129. name: catalog-operator
  130. namespace: operator-lifecycle-manager
  131. files:
  132. - "{{ mktemp.stdout }}/catalog-operator.deployment.yaml"
  133. - name: Apply aggregate-olm-edit ClusterRole manifest
  134. oc_obj:
  135. state: present
  136. kind: ClusterRole
  137. name: aggregate-olm-edit
  138. namespace: operator-lifecycle-manager
  139. files:
  140. - "{{ mktemp.stdout }}/aggregated-edit.clusterrole.yaml"
  141. - name: Apply aggregate-olm-view ClusterRole manifest
  142. oc_obj:
  143. state: present
  144. kind: ClusterRole
  145. name: aggregate-olm-view
  146. namespace: operator-lifecycle-manager
  147. files:
  148. - "{{ mktemp.stdout }}/aggregated-view.clusterrole.yaml"