mirror of
https://pagure.io/fedora-infra/ansible.git
synced 2026-05-01 14:02:12 +08:00
156 lines
4.7 KiB
YAML
156 lines
4.7 KiB
YAML
---
|
|
- name: Setup the database
|
|
hosts: apps_dbserver:apps_dbserver_stg
|
|
gather_facts: no
|
|
become: yes
|
|
become_user: postgres
|
|
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/resultsdb/vars/main.yml
|
|
|
|
tasks:
|
|
- name: Resultsdb DB user - prod
|
|
community.postgresql.postgresql_user:
|
|
name: "{{ resultsdb_db_user }}"
|
|
password: "{{ prod_resultsdb_db_password }}"
|
|
when: env != 'staging'
|
|
- name: Resultsdb DB user - staging
|
|
community.postgresql.postgresql_user:
|
|
name: "{{ resultsdb_db_user }}"
|
|
password: "{{ stg_resultsdb_db_password }}"
|
|
when: env == 'staging'
|
|
- name: Resultsdb database creation
|
|
community.postgresql.postgresql_db:
|
|
name: "{{ resultsdb_db_name }}"
|
|
owner: "{{ resultsdb_db_user }}"
|
|
encoding: UTF-8
|
|
|
|
|
|
- name: Make the app be real
|
|
hosts: os_control[0]:os_control_stg[0]
|
|
user: root
|
|
gather_facts: no
|
|
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/resultsdb/vars/main.yml
|
|
|
|
roles:
|
|
- role: rabbit/user
|
|
user_name: "resultsdb{{ env_suffix }}"
|
|
user_sent_topics: ^org\.fedoraproject\.{{ env_short }}\.resultsdb\..*
|
|
|
|
# The openshift/project role breaks if the project already exists:
|
|
# https://pagure.io/fedora-infrastructure/issue/6404
|
|
- role: openshift/project
|
|
project_app: resultsdb
|
|
project_description: resultsdb
|
|
project_appowners:
|
|
- lholecek
|
|
- vmaljulin
|
|
- lrossett
|
|
- kevin
|
|
tags:
|
|
- apply-appowners
|
|
|
|
- role: openshift/secret-file
|
|
secret_file_app: resultsdb
|
|
secret_file_secret_name: resultsdb-fedora-messaging-key
|
|
secret_file_key: resultsdb.key
|
|
secret_file_privatefile: "rabbitmq/{{env}}/pki/private/resultsdb{{env_suffix}}.key"
|
|
|
|
- role: openshift/secret-file
|
|
secret_file_app: resultsdb
|
|
secret_file_secret_name: resultsdb-fedora-messaging-crt
|
|
secret_file_key: resultsdb.crt
|
|
secret_file_privatefile: "rabbitmq/{{env}}/pki/issued/resultsdb{{env_suffix}}.crt"
|
|
|
|
- role: openshift/secret-file
|
|
secret_file_app: resultsdb
|
|
secret_file_secret_name: resultsdb-fedora-messaging-ca
|
|
secret_file_key: resultsdb.ca
|
|
secret_file_privatefile: "rabbitmq/{{env}}/ca-combined.crt"
|
|
|
|
# backend objects
|
|
- role: openshift/object
|
|
object_app: resultsdb
|
|
object_template: backend/secrets.yml.j2
|
|
object_objectname: backend-secrets.yml
|
|
|
|
- role: openshift/object
|
|
object_app: resultsdb
|
|
object_template: backend/configmaps.yml.j2
|
|
object_objectname: backend-configmaps.yml
|
|
|
|
- role: openshift/object
|
|
object_app: resultsdb
|
|
object_template: backend/imagestream.yml.j2
|
|
object_objectname: backend-imagestream.yml
|
|
|
|
- role: openshift/object
|
|
object_app: resultsdb
|
|
object_template: backend/deploymentconfigs.yml.j2
|
|
object_objectname: backend-deploymentconfigs.yml
|
|
|
|
- role: openshift/object
|
|
object_app: resultsdb
|
|
object_template: backend/services.yml.j2
|
|
object_objectname: backend-services.yml
|
|
|
|
- role: openshift/route
|
|
route_app: resultsdb
|
|
route_name: resultsdb-api
|
|
route_host: "resultsdb{{ env_suffix }}.fedoraproject.org"
|
|
route_serviceport: api
|
|
route_servicename: resultsdb-api
|
|
route_path: /api
|
|
|
|
# frontend objects
|
|
- role: openshift/object
|
|
object_app: resultsdb
|
|
object_template: frontend/secrets.yml.j2
|
|
object_objectname: frontend-secrets.yml
|
|
|
|
- role: openshift/object
|
|
object_app: resultsdb
|
|
object_template: frontend/configmaps.yml.j2
|
|
object_objectname: frontend-configmaps.yml
|
|
|
|
- role: openshift/object
|
|
object_app: resultsdb
|
|
object_template: frontend/deploymentconfigs.yml.j2
|
|
object_objectname: frontend-deploymentconfigs.yml
|
|
|
|
- role: openshift/object
|
|
object_app: resultsdb
|
|
object_template: frontend/services.yml.j2
|
|
object_objectname: frontend-services.yml
|
|
|
|
- role: openshift/route
|
|
route_app: resultsdb
|
|
route_name: resultsdb-web
|
|
route_host: "resultsdb{{ env_suffix }}.fedoraproject.org"
|
|
route_serviceport: web
|
|
route_servicename: resultsdb-frontend
|
|
route_path: /
|
|
|
|
# rollouts
|
|
- role: openshift/rollout
|
|
rollout_app: resultsdb
|
|
rollout_dcname: "resultsdb-api"
|
|
failed_when: false
|
|
tags:
|
|
- never
|
|
- rollout
|
|
|
|
- role: openshift/rollout
|
|
rollout_app: resultsdb
|
|
rollout_dcname: "resultsdb-frontend"
|
|
failed_when: false
|
|
tags:
|
|
- never
|
|
- rollout
|