mirror of
https://pagure.io/fedora-infra/ansible.git
synced 2026-03-20 03:57:02 +08:00
89 lines
2.7 KiB
YAML
89 lines
2.7 KiB
YAML
---
|
|
- name: Provision koschei
|
|
hosts: os_control[0]:os_control_stg[0]
|
|
user: root
|
|
gather_facts: false
|
|
|
|
vars_files:
|
|
- /srv/web/infra/ansible/vars/global.yml
|
|
- /srv/private/ansible/vars.yml
|
|
- /srv/web/infra/ansible/vars/{{ ansible_distribution }}.yml
|
|
- /srv/web/infra/ansible/roles/openshift-apps/koschei/vars/main.yml
|
|
- /srv/web/infra/ansible/roles/openshift-apps/koschei/vars/{{ env }}.yml
|
|
|
|
roles:
|
|
- role: rabbit/queue
|
|
queue_username: "{{ app }}{{ env_suffix }}"
|
|
queue_name: "{{ app }}{{ env_suffix }}"
|
|
queue_routing_keys: []
|
|
queue_message_ttl: 60000
|
|
user_sent_topics: ^org\.fedoraproject\.{{ env_short }}\.(koschei|ci)\..*
|
|
|
|
- role: openshift/project
|
|
project_app: "{{ app }}"
|
|
project_description: "{{ description }}"
|
|
|
|
- role: openshift/keytab
|
|
keytab_app: "{{ app }}"
|
|
keytab_secret_name: keytab
|
|
keytab_key: krb5.keytab
|
|
keytab_service: koschei
|
|
keytab_host: "koschei-backend01{{ env_suffix }}.{{datacenter}}.fedoraproject.org"
|
|
|
|
- role: openshift/route
|
|
route_app: "{{ app }}"
|
|
route_name: frontend
|
|
route_host: "koschei{{ env_suffix }}.fedoraproject.org"
|
|
route_serviceport: web
|
|
route_servicename: frontend
|
|
route_annotations:
|
|
haproxy.router.openshift.io/set-forwarded-headers: append
|
|
haproxy.router.openshift.io/timeout: 180s
|
|
|
|
tasks:
|
|
- name: Apply objects
|
|
ansible.builtin.include_role:
|
|
name: openshift/object
|
|
vars:
|
|
object_app: "{{ app }}"
|
|
object_template: "{{ item }}.yml"
|
|
object_objectname: "{{ item }}.yml"
|
|
with_items:
|
|
- imagestream
|
|
- frontend-config
|
|
- backend-config
|
|
- admin-config
|
|
- admin-deployment
|
|
- frontend-deployment
|
|
- frontend-service
|
|
|
|
- name: Apply Deployment
|
|
ansible.builtin.include_role:
|
|
name: openshift/object
|
|
vars:
|
|
object_app: "{{ app }}"
|
|
object_template: backend-deployment.yml
|
|
object_objectname: "{{ item.name }}-deployment.yml"
|
|
object_service: "{{ item.name }}"
|
|
object_min_cpu: "{{ item.cpu[0] }}"
|
|
object_max_cpu: "{{ item.cpu[1] }}"
|
|
object_min_mem: "{{ item.memory[0] }}"
|
|
object_max_mem: "{{ item.memory[1] }}"
|
|
with_items: "{{ koschei_backend_services }}"
|
|
loop_control:
|
|
label: "{{ item.name }}"
|
|
|
|
- name: Apply CronJob
|
|
ansible.builtin.include_role:
|
|
name: openshift/object
|
|
vars:
|
|
object_app: "{{ app }}"
|
|
object_template: cronjob.yml
|
|
object_objectname: "{{ item.name }}-cronjob.yml"
|
|
object_name: "{{ item.name }}"
|
|
object_schedule: "{{ item.schedule }}"
|
|
object_command: "{{ item.command }}"
|
|
with_items: "{{ koschei_cron_jobs }}"
|
|
loop_control:
|
|
label: "{{ item.name }}"
|