| |
@@ -6,6 +6,40 @@
|
| |
suffix: deploy
|
| |
register: kojira_dir
|
| |
|
| |
+ - name: Retrieve the full Kojira object
|
| |
+ k8s_info:
|
| |
+ api_version: buildsys.apps.fedoraproject.org/v1alpha1
|
| |
+ kind: Kojira
|
| |
+ namespace: "{{ meta.namespace }}"
|
| |
+ name: "{{ meta.name }}"
|
| |
+ register: kojira_k8s
|
| |
+
|
| |
+ - name: Fail if Kojira resource couldn't be found
|
| |
+ fail:
|
| |
+ msg: "Failed to fetch kojira {{ meta.name }} "
|
| |
+ when: kojira_k8s.resources | length == 0
|
| |
+
|
| |
+ - name: Retrieve koji-hub data
|
| |
+ koji_hub_info:
|
| |
+ hub: "{{ kojira_k8s.resources.0.metadata.annotations['buildsys.apps.fedoraproject.org/hub'] }}"
|
| |
+ register: kojira_hub_info
|
| |
+
|
| |
+ - name: Get the annotation value from the retrieved KojiBuilder resource
|
| |
+ set_fact:
|
| |
+ kojira_hub: "{{ kojira_k8s.resources.0.metadata.annotations['buildsys.apps.fedoraproject.org/hub'].split('/') }}"
|
| |
+
|
| |
+ - name: Set play variables
|
| |
+ set_fact:
|
| |
+ kojira_replicas: 1
|
| |
+ kojira_configmap: "kojira-{{ meta.name }}-conf"
|
| |
+ kojira_hub_username: "{{ meta.name }}"
|
| |
+ kojira_hub_host: "{{ kojira_hub_info['result']['svc'] }}"
|
| |
+ kojira_cacert_secret: "{{ kojira_hub_info['result']['hub']['spec']['ca_cert_secret'] }}"
|
| |
+ kojira_client_cert_secret: "kojira-{{ meta.name }}-client-cert"
|
| |
+ kojira_shared_pvc: "{{ kojira_hub_info['result']['hub']['spec']['mnt_pvc_name'] }}"
|
| |
+ kojira_hub_name: "{{ kojira_hub.0 }}"
|
| |
+ kojira_hub_namespace: "{{ kojira_hub.1 }}"
|
| |
+
|
| |
- include_tasks: cert.yml
|
| |
|
| |
- block:
|
| |
@@ -20,21 +54,6 @@
|
| |
src: "{{ kojira_dir.path }}/kojira.configmap.yaml"
|
| |
|
| |
- block:
|
| |
- - name: retrieve and set shared pvc name var
|
| |
- k8s_info:
|
| |
- api_version: apps.fedoraproject.org/v1alpha1
|
| |
- kind: Mbox
|
| |
- namespace: "{{ meta.namespace }}"
|
| |
- name: "{{ kojira_builder_mbox }}"
|
| |
- register: k8s_mboxes
|
| |
- - fail:
|
| |
- msg: "Failed to find mbox {{ kojira_builder_mbox }} in namespace {{ meta.namespace }}"
|
| |
- when: k8s_mboxes.resources|length == 0
|
| |
- - set_fact:
|
| |
- kojira_shared_pvc: "{{ k8s_mboxes.resources[0].spec.koji_pvc_name }}"
|
| |
- when: kojira_builder_mbox|length > 0
|
| |
-
|
| |
- - block:
|
| |
- name: ensure kojira deployment
|
| |
template:
|
| |
src: kojira.deployment.yaml.j2
|
| |
@@ -46,21 +65,6 @@
|
| |
src: "{{ kojira_dir.path }}/kojira.deployment.yaml"
|
| |
|
| |
- block:
|
| |
- - name: setup kojira user
|
| |
- k8s_info:
|
| |
- api_version: v1
|
| |
- kind: Secret
|
| |
- namespace: "{{ meta.namespace }}"
|
| |
- name: "{{ kojira_admin_secret }}"
|
| |
- register: k8s_res
|
| |
- - fail:
|
| |
- msg: "Secret not found: {{ kojira_admin_secret }}"
|
| |
- when: k8s_res.resources|length == 0
|
| |
- - set_fact:
|
| |
- koji_admin_secret: "{{ k8s_res.resources[0] | from_yaml }}"
|
| |
- - copy:
|
| |
- content: "{{ koji_admin_secret.data['client.pem'] | b64decode }}"
|
| |
- dest: "{{ kojira_dir.path }}/admin.pem"
|
| |
- k8s_info:
|
| |
api_version: v1
|
| |
kind: Secret
|
| |
@@ -76,7 +80,7 @@
|
| |
content: "{{ koji_ca_secret.data['cert'] | b64decode }}"
|
| |
dest: "{{ kojira_dir.path }}/ca.pem"
|
| |
- ktdreyer.koji_ansible.koji_user:
|
| |
- koji: "{{ meta.name }}-{{ meta.namespace }}"
|
| |
+ koji: "{{ kojira_hub_name }}-{{ kojira_hub_namespace }}"
|
| |
name: "{{ kojira_hub_username }}"
|
| |
permissions:
|
| |
- repo
|
| |
@@ -85,7 +89,6 @@
|
| |
state: absent
|
| |
path: "{{ koji_dir.path }}"
|
| |
|
| |
-
|
| |
- name: cleanup
|
| |
file:
|
| |
path: "{{ kojira_dir.path }}"
|
| |
fixes #14