From 83d5b1470b28437c1cfff46bdbaab34e1819d063 Mon Sep 17 00:00:00 2001 From: Michael Simacek Date: Mon, 5 Mar 2018 17:33:56 +0100 Subject: [PATCH] Add role for java-deptools --- .../hosts/java-deptools.fedorainfracloud.org | 1 + roles/java-deptools/files/copr-repo.repo | 10 +++ roles/java-deptools/files/cron | 8 ++ roles/java-deptools/files/pg_hba.conf | 4 + roles/java-deptools/files/proxy.conf | 8 ++ roles/java-deptools/tasks/main.yml | 79 +++++++++++++++++++ 6 files changed, 110 insertions(+) create mode 100644 roles/java-deptools/files/copr-repo.repo create mode 100644 roles/java-deptools/files/cron create mode 100644 roles/java-deptools/files/pg_hba.conf create mode 100644 roles/java-deptools/files/proxy.conf create mode 100644 roles/java-deptools/tasks/main.yml diff --git a/playbooks/hosts/java-deptools.fedorainfracloud.org b/playbooks/hosts/java-deptools.fedorainfracloud.org index 15971cc03c..cd3506f00e 100644 --- a/playbooks/hosts/java-deptools.fedorainfracloud.org +++ b/playbooks/hosts/java-deptools.fedorainfracloud.org @@ -30,3 +30,4 @@ roles: - basessh + - java-deptools diff --git a/roles/java-deptools/files/copr-repo.repo b/roles/java-deptools/files/copr-repo.repo new file mode 100644 index 0000000000..ff7615ba6e --- /dev/null +++ b/roles/java-deptools/files/copr-repo.repo @@ -0,0 +1,10 @@ +[msimacek-java-deptools] +name=Copr repo for java-deptools owned by msimacek +baseurl=https://copr-be.cloud.fedoraproject.org/results/msimacek/java-deptools/fedora-$releasever-$basearch/ +type=rpm-md +skip_if_unavailable=True +gpgcheck=1 +gpgkey=https://copr-be.cloud.fedoraproject.org/results/msimacek/java-deptools/pubkey.gpg +repo_gpgcheck=0 +enabled=1 +enabled_metadata=1 diff --git a/roles/java-deptools/files/cron b/roles/java-deptools/files/cron new file mode 100644 index 0000000000..0cdca6449b --- /dev/null +++ b/roles/java-deptools/files/cron @@ -0,0 +1,8 @@ +#!/bin/bash +set -e +log=/var/log/java-deptools/backend.log +cd /var/lib/java-deptools/repos/ +date > $log +java-deptools-repogen f28 f27 f26 f25 &> $log +date > $log +echo 'Repo regeneration successful' >> $log diff --git a/roles/java-deptools/files/pg_hba.conf b/roles/java-deptools/files/pg_hba.conf new file mode 100644 index 0000000000..f8d8748e0c --- /dev/null +++ b/roles/java-deptools/files/pg_hba.conf @@ -0,0 +1,4 @@ +# TYPE DATABASE USER ADDRESS METHOD +local all all trust +host all all 127.0.0.1/32 trust +host all all ::1/128 trust diff --git a/roles/java-deptools/files/proxy.conf b/roles/java-deptools/files/proxy.conf new file mode 100644 index 0000000000..407c754aab --- /dev/null +++ b/roles/java-deptools/files/proxy.conf @@ -0,0 +1,8 @@ + + AddDefaultCharset off + Order deny,allow + Allow from all + + +ProxyPass / http://localhost:9000/ +ProxyPassReverse / http://localhost:9000/ diff --git a/roles/java-deptools/tasks/main.yml b/roles/java-deptools/tasks/main.yml new file mode 100644 index 0000000000..1677d2e58d --- /dev/null +++ b/roles/java-deptools/tasks/main.yml @@ -0,0 +1,79 @@ +- name: Add java-deptools copr repo + copy: src=copr-repo.repo dest=/etc/yum.repos.d/java-deptools-copr.repo + tags: + - repos + +- name: Install packages + package: name={{ item }} state=present + with_items: + - httpd + - postgresql-server + - postgresql + - java-deptools + - python2-psycopg2 # for ansible + - libsemanage-python # for ansible + tags: + - packages + +- name: Initialize postgres if necessary + command: postgresql-setup --initdb + args: + creates: /var/lib/pgsql/data/base + environment: + PGSETUP_INITDB_OPTIONS: --locale C + tags: + - postgresql + +- name: Install pg_hba + copy: src=pg_hba.conf dest=/var/lib/pgsql/data/pg_hba.conf + tags: + - postgres + - configuration + +- name: Enable and start postgres + service: name=postgresql state=started enabled=yes + tags: + - service + - postgresql + +- name: Create postgres java-deptools role + postgresql_user: name=java-deptools db=postgres login_user=root role_attr_flags=SUPERUSER,LOGIN + tags: + - postgres + +- name: Create database + postgresql_db: name=java-deptools owner=java-deptools db=postgres login_user=root + tags: + - postgres + +- name: Create schema + shell: > + psql java-deptools java-deptools < /usr/share/java-deptools/schema.sql + && touch /var/lib/pgsql/data/schema.done + args: + creates: /var/lib/pgsql/data/schema.done + tags: + - postgres + +- name: Install repo-regen cronjob + copy: src=cron dest=/etc/cron.daily/java-deptools mode=0755 + tags: + - config + +- name: Enable and start frontend + service: name=java-deptools-frontend state=started enabled=true + tags: + - service + +- name: Install proxy config + copy: src=proxy.conf dest=/etc/httpd/conf.d/java-deptools-proxy.conf + +- name: Set httpd sebools + seboolean: name={{ item }} state=yes persistent=yes + with_items: + - httpd_can_network_relay + +- name: Enable and start httpd + service: name=httpd state=started enabled=true + tags: + - service