diff --git a/playbooks/groups/sundries.yml b/playbooks/groups/sundries.yml index 8ef598c518..34dab0180d 100644 --- a/playbooks/groups/sundries.yml +++ b/playbooks/groups/sundries.yml @@ -48,6 +48,8 @@ when: master_sundries_node - role: membership-map/build when: master_sundries_node + - role: developer/build + when: master_sundries_node and env == "staging" tasks: - include: "{{ tasks }}/yumrepos.yml" diff --git a/playbooks/include/proxies-fedora-web.yml b/playbooks/include/proxies-fedora-web.yml index 2170e4288d..42704774f6 100644 --- a/playbooks/include/proxies-fedora-web.yml +++ b/playbooks/include/proxies-fedora-web.yml @@ -39,3 +39,7 @@ # Some other static content, not strictly part of "fedora-web" goes below here - role: fedora-docs/proxy website: docs.fedoraproject.org + + - role: developer/website + website: developer.fedoraproject.org + when: env == "staging" diff --git a/roles/developer/build/files/developer-rss-update b/roles/developer/build/files/developer-rss-update new file mode 100644 index 0000000000..b6b7177151 --- /dev/null +++ b/roles/developer/build/files/developer-rss-update @@ -0,0 +1,2 @@ +MAILTO=web-members@fedoraproject.org +45 * * * * apache /usr/local/bin/lock-wrapper developer-rss-update /srv/web/developer.fedoraproject.org/rss.py /srv/web/developer.fedoraproject.org/index.html diff --git a/roles/developer/build/files/syncDeveloper.cron b/roles/developer/build/files/syncDeveloper.cron new file mode 100644 index 0000000000..eb24a52d29 --- /dev/null +++ b/roles/developer/build/files/syncDeveloper.cron @@ -0,0 +1,2 @@ +MAILTO=web-members@fedoraproject.org +25 * * * * apache /usr/local/bin/lock-wrapper syncDeveloper /usr/local/bin/syncDeveloper diff --git a/roles/developer/build/files/syncDeveloper.stg.sh b/roles/developer/build/files/syncDeveloper.stg.sh new file mode 100644 index 0000000000..f8e7d488be --- /dev/null +++ b/roles/developer/build/files/syncDeveloper.stg.sh @@ -0,0 +1,13 @@ +#!/bin/bash + +if [ ! -d /srv/web/developer.fedoraproject.org/.git ] +then + /usr/bin/git clone -q https://github.com/developer-portal/developer.fedoraproject.org.git /srv/web/developer.fedoraproject.org +fi + +cd /srv/web/developer.fedoraproject.org + +/usr/bin/git clean -q -fdx || exit 1 +/usr/bin/git reset -q --hard || exit 1 +/usr/bin/git checkout -q master || exit 1 +/usr/bin/git pull -q --ff-only || exit 1 diff --git a/roles/developer/build/tasks/main.yml b/roles/developer/build/tasks/main.yml new file mode 100644 index 0000000000..5156927bea --- /dev/null +++ b/roles/developer/build/tasks/main.yml @@ -0,0 +1,36 @@ +- name: Create directories + file: state=directory + path=/srv/web/{{item}} + owner=apache group=apache mode=0755 + setype=httpd_sys_content_t seuser=system_u + with_items: + - developer.fedoraproject.org + tags: + - developer.fedoraproject.org + +- name: Copy syncDeveloper script (stg) + when: env == "staging" + copy: > + src=syncDeveloper.stg.sh dest=/usr/local/bin/syncDeveloper owner=root group=root + mode=0755 + tags: + - developer.fedoraproject.org + +#- name: Copy syncDeveloper script (prod) +# when: env == "production" +# copy: > +# src=syncDeveloper.sh dest=/usr/local/bin/syncDeveloper owner=root group=root +# mode=0755 +# tags: +# - developer.fedoraproject.org + +- name: Install the syncDeveloper and rss feed update jobs + copy: > + src={{item}}.cron dest=/etc/cron.d/{{item}}.cron + owner=root group=root mode=0644 + with_items: + - syncDeveloper + - developer-rss-update + tags: + - developer.fedoraproject.org + - cron diff --git a/roles/developer/website/files/cron-sync-developer b/roles/developer/website/files/cron-sync-developer new file mode 100644 index 0000000000..1ece0dc3f3 --- /dev/null +++ b/roles/developer/website/files/cron-sync-developer @@ -0,0 +1 @@ +25 * * * * root /usr/bin/rsync --delete -a --no-owner --no-group sundries01::developer.fedoraproject.org/ /srv/web/developer.fedoraproject.org/ diff --git a/roles/developer/website/files/developer.conf b/roles/developer/website/files/developer.conf new file mode 100644 index 0000000000..5a4590dde5 --- /dev/null +++ b/roles/developer/website/files/developer.conf @@ -0,0 +1,9 @@ +DocumentRoot /srv/web/developer.fedoraproject.org +Alias /favicon.ico /srv/web/fedoraproject.org/static/images/favicon.ico + +AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css application/x-javascript + +FileETag MTime Size + +ExpiresActive On +ExpiresDefault "access plus 5 days" diff --git a/roles/developer/website/tasks/main.yml b/roles/developer/website/tasks/main.yml new file mode 100644 index 0000000000..78cc09eb50 --- /dev/null +++ b/roles/developer/website/tasks/main.yml @@ -0,0 +1,15 @@ +- name: Copy in the sync-developer cronjob + copy: src=cron-sync-developer dest=/etc/cron.d/sync-developer + tags: + - developer + +- name: Copy some config files for {{website}} + copy: > + src={{item}} dest=/etc/httpd/conf.d/{{website}}/{{item}} + owner=root group=root mode=0644 + with_items: + - developer.conf + notify: + - reload httpd + tags: + - developer diff --git a/roles/rsyncd/files/rsyncd.conf.sundries b/roles/rsyncd/files/rsyncd.conf.sundries index 39184dee61..8e143cd1c2 100644 --- a/roles/rsyncd/files/rsyncd.conf.sundries +++ b/roles/rsyncd/files/rsyncd.conf.sundries @@ -133,3 +133,11 @@ uid = root gid = root read only = yes hosts allow = 10.5.126.0/255.255.255.0 192.168.0.0/255.255.0.0 + +[developer.fedoraproject.org] +comment = developer.fedoraproject.org +path = /srv/web/developer.fedoraproject.org +uid = root +gid = root +read only = yes +hosts allow = 10.5.126.0/255.255.255.0 192.168.0.0/255.255.0.0