diff --git a/playbooks/groups/sundries.yml b/playbooks/groups/sundries.yml index f37f94d8b7..cef2d3e776 100644 --- a/playbooks/groups/sundries.yml +++ b/playbooks/groups/sundries.yml @@ -53,6 +53,8 @@ when: master_sundries_node|bool - role: fedoraloveskde/build when: master_sundries_node|bool + - role: fedora-web/kinoite/build + when: master_sundries_node|bool - { role: rabbit/user, username: "sundries{{ env_suffix }}", when: master_sundries_node|bool and deployment_type == "stg" } diff --git a/playbooks/include/proxies-fedora-web.yml b/playbooks/include/proxies-fedora-web.yml index b71cc5f703..e2346fd384 100644 --- a/playbooks/include/proxies-fedora-web.yml +++ b/playbooks/include/proxies-fedora-web.yml @@ -66,3 +66,6 @@ - role: fedora-web/fedora.im website: fedora.im + + - role: fedora-web/kinoite/website + website: kinoite.fedoraproject.org diff --git a/playbooks/include/proxies-websites.yml b/playbooks/include/proxies-websites.yml index fb144733fc..6dba6c6dfd 100644 --- a/playbooks/include/proxies-websites.yml +++ b/playbooks/include/proxies-websites.yml @@ -973,6 +973,14 @@ server_aliases: [silverblue.stg.fedoraproject.org] cert_name: "{{wildcard_cert_name}}" + - role: httpd/website + site_name: kinoite.fedoraproject.org + sslonly: true + server_aliases: [kinoite.stg.fedoraproject.org] + cert_name: "{{wildcard_cert_name}}" + tags: + - kinoite + - role: httpd/website site_name: release-monitoring.org sslonly: true diff --git a/roles/fedora-web/kinoite/build/files/synckinoite.cron b/roles/fedora-web/kinoite/build/files/synckinoite.cron new file mode 100644 index 0000000000..55dd9107e4 --- /dev/null +++ b/roles/fedora-web/kinoite/build/files/synckinoite.cron @@ -0,0 +1,2 @@ +MAILTO=web-members@fedoraproject.org +25 * * * * apache /usr/local/bin/lock-wrapper synckinoite /usr/local/bin/synckinoite diff --git a/roles/fedora-web/kinoite/build/files/synckinoite.sh b/roles/fedora-web/kinoite/build/files/synckinoite.sh new file mode 100644 index 0000000000..ce98435804 --- /dev/null +++ b/roles/fedora-web/kinoite/build/files/synckinoite.sh @@ -0,0 +1,12 @@ +#!/bin/bash + +if [ ! -d /srv/web/kinoite.fedoraproject.org/.git ] +then + /usr/bin/git clone -q https://pagure.io/fedora-kde/kinoite-site /srv/web/kinoite.fedoraproject.org +fi + +cd /srv/web/kinoite.fedoraproject.org + +/usr/bin/git clean -q -fdx || exit 1 +/usr/bin/git fetch -q || exit 1 +/usr/bin/git reset -q --hard origin/production || exit 1 diff --git a/roles/fedora-web/kinoite/build/files/synckinoite.stg.sh b/roles/fedora-web/kinoite/build/files/synckinoite.stg.sh new file mode 100644 index 0000000000..54803cf60a --- /dev/null +++ b/roles/fedora-web/kinoite/build/files/synckinoite.stg.sh @@ -0,0 +1,12 @@ +#!/bin/bash + +if [ ! -d /srv/web/kinoite.fedoraproject.org/.git ] +then + /usr/bin/git clone -q https://pagure.io/fedora-kde/kinoite-site /srv/web/kinoite.fedoraproject.org +fi + +cd /srv/web/kinoite.fedoraproject.org + +/usr/bin/git clean -q -fdx || exit 1 +/usr/bin/git fetch -q || exit 1 +/usr/bin/git reset -q --hard origin/staging || exit 1 diff --git a/roles/fedora-web/kinoite/build/tasks/main.yml b/roles/fedora-web/kinoite/build/tasks/main.yml new file mode 100644 index 0000000000..e7251bdce1 --- /dev/null +++ b/roles/fedora-web/kinoite/build/tasks/main.yml @@ -0,0 +1,52 @@ +- 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: + - kinoite.fedoraproject.org + tags: + - kinoite + +- name: Copy synckinoite script (stg) + when: env == "staging" + copy: + src: sync{{item}}.stg.sh + dest: /usr/local/bin/sync{{item}} + owner: root + group: root + mode: 0755 + with_items: + - kinoite + tags: + - kinoite + +- name: Copy synckinoite script (prod) + when: env == "production" + copy: + src: "{{item}}.sh" + dest: "/usr/local/bin/{{item}}" + owner: root + group: root + mode: 0755 + with_items: + - synckinoite + tags: + - kinoite + +- name: Install the synckinoite cron job + copy: + src: "{{item}}.cron" + dest: "/etc/cron.d/{{item}}.cron" + owner: root + group: root + mode: 0644 + with_items: + - synckinoite + tags: + - kinoite + - cron diff --git a/roles/fedora-web/kinoite/website/files/cron-sync-synckinoite b/roles/fedora-web/kinoite/website/files/cron-sync-synckinoite new file mode 100644 index 0000000000..7b33748072 --- /dev/null +++ b/roles/fedora-web/kinoite/website/files/cron-sync-synckinoite @@ -0,0 +1 @@ +30 * * * * root /usr/bin/rsync --delete -a --no-owner --no-group --delete-excluded --exclude='.git*' sundries01::kinoite.fedoraproject.org/ /srv/web/kinoite.fedoraproject.org/ diff --git a/roles/fedora-web/kinoite/website/files/kinoite.fedoraproject.org.conf b/roles/fedora-web/kinoite/website/files/kinoite.fedoraproject.org.conf new file mode 100644 index 0000000000..b7506ae7d7 --- /dev/null +++ b/roles/fedora-web/kinoite/website/files/kinoite.fedoraproject.org.conf @@ -0,0 +1,8 @@ +DocumentRoot /srv/web/kinoite.fedoraproject.org/public + +AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css application/x-javascript + +FileETag MTime Size + +ExpiresActive On +ExpiresDefault "access plus 30 minutes" diff --git a/roles/fedora-web/kinoite/website/tasks/main.yml b/roles/fedora-web/kinoite/website/tasks/main.yml new file mode 100644 index 0000000000..241c338c64 --- /dev/null +++ b/roles/fedora-web/kinoite/website/tasks/main.yml @@ -0,0 +1,22 @@ +- name: Copy in the sync-kinoite cronjob + copy: + src: "cron-sync-{{item}}" + dest: "/etc/cron.d/sync-{{item}}" + with_items: + - kinoite + tags: + - kinoite + +- 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: + - kinoite.fedoraproject.org.conf + notify: + - reload proxyhttpd + tags: + - kinoite diff --git a/roles/rsyncd/files/rsyncd.conf.sundries b/roles/rsyncd/files/rsyncd.conf.sundries index b9b8a09727..054e4a6768 100644 --- a/roles/rsyncd/files/rsyncd.conf.sundries +++ b/roles/rsyncd/files/rsyncd.conf.sundries @@ -221,3 +221,11 @@ uid = root gid = root read only = yes hosts allow = 10.3.160.0/255.255.224.0 192.168.0.0/255.255.0.0 + +[kinoite.fedoraproject.org] +comment = kinoite.fedoraproject.org +path = /srv/web/kinoite.fedoraproject.org +uid = root +gid = root +read only = yes +hosts allow = 10.3.160.0/255.255.224.0 192.168.0.0/255.255.0.0 diff --git a/roles/rsyncd/files/rsyncd.conf.sundries-stg b/roles/rsyncd/files/rsyncd.conf.sundries-stg index 7b09707e09..f6164dc111 100644 --- a/roles/rsyncd/files/rsyncd.conf.sundries-stg +++ b/roles/rsyncd/files/rsyncd.conf.sundries-stg @@ -221,3 +221,11 @@ uid = root gid = root read only = yes hosts allow = 10.3.160.0/255.255.224.0 192.168.0.0/255.255.0.0 + +[kinoite.fedoraproject.org] +comment = kinoite.fedoraproject.org +path = /srv/web/kinoite.fedoraproject.org +uid = root +gid = root +read only = yes +hosts allow = 10.3.160.0/255.255.224.0 192.168.0.0/255.255.0.0 diff --git a/roles/web-data-analysis/files/run-daily-awstats.sh b/roles/web-data-analysis/files/run-daily-awstats.sh index 522e716524..d165b3dd45 100644 --- a/roles/web-data-analysis/files/run-daily-awstats.sh +++ b/roles/web-data-analysis/files/run-daily-awstats.sh @@ -44,7 +44,7 @@ TREEDIR=${LOGDIR}/${YEAR}/${MONTH}/${DAY} AWSTATS=/usr/share/awstats/wwwroot/cgi-bin/awstats.pl HTMLDOC=/usr/bin/htmldoc -SITES="admin.fedoraproject.org apps.fedoraproject.org arm.fedoraproject.org ask.fedoraproject.org badges.fedoraproject.org bodhi.fedoraproject.org budget.fedoraproject.org bugz.fedoraproject.org cloud.fedoraproject.org codecs.fedoraproject.org communityblog.fedoraproject.org copr.fedoraproject.org developer.fedoraproject.org developers.fedoraproject.org docs.fedoraproject.org docs-old.fedoraproject.org download.fedoraproject.org fas.fedoraproject.org fedora.my fedoracommunity.org fedoramagazine.org fedoraproject.com fedoraproject.org flocktofedora.net flocktofedora.org fonts.fedoraproject.org fpaste.org fudcon.fedoraproject.org get.fedoraproject.org getfedora.org help.fedoraproject.org id.fedoraproject.org it.fedoracommunity.org join.fedoraproject.org k12linux.org kde.fedoraproject.org l10n.fedoraproject.org labs.fedoraproject.org lists.fedorahosted.org lists.fedoraproject.org meetbot-raw.fedoraproject.org meetbot.fedoraproject.org mirrors.fedoraproject.org nightly.fedoraproject.org osbs.fedoraproject.org paste.fedoraproject.org pdc.fedoraproject.org people.fedoraproject.org port389.org qa.fedoraproject.org redirect.fedoraproject.org registry.fedoraproject.org smolts.org spins.fedoraproject.org src.fedoraproject.org start.fedoraproject.org store.fedoraproject.org translate.fedoraproject.org uk.fedoracommunity.org fedoraloveskde.org" +SITES="admin.fedoraproject.org apps.fedoraproject.org arm.fedoraproject.org ask.fedoraproject.org badges.fedoraproject.org bodhi.fedoraproject.org budget.fedoraproject.org bugz.fedoraproject.org cloud.fedoraproject.org codecs.fedoraproject.org communityblog.fedoraproject.org copr.fedoraproject.org developer.fedoraproject.org developers.fedoraproject.org docs.fedoraproject.org docs-old.fedoraproject.org download.fedoraproject.org fas.fedoraproject.org fedora.my fedoracommunity.org fedoramagazine.org fedoraproject.com fedoraproject.org flocktofedora.net flocktofedora.org fonts.fedoraproject.org fpaste.org fudcon.fedoraproject.org get.fedoraproject.org getfedora.org help.fedoraproject.org id.fedoraproject.org it.fedoracommunity.org join.fedoraproject.org k12linux.org kde.fedoraproject.org l10n.fedoraproject.org labs.fedoraproject.org lists.fedorahosted.org lists.fedoraproject.org meetbot-raw.fedoraproject.org meetbot.fedoraproject.org mirrors.fedoraproject.org nightly.fedoraproject.org osbs.fedoraproject.org paste.fedoraproject.org pdc.fedoraproject.org people.fedoraproject.org port389.org qa.fedoraproject.org redirect.fedoraproject.org registry.fedoraproject.org smolts.org spins.fedoraproject.org src.fedoraproject.org start.fedoraproject.org store.fedoraproject.org translate.fedoraproject.org uk.fedoracommunity.org fedoraloveskde.org kinoite.fedoraproject.org" pushd ${CONFDIR} for SITE in ${SITES}; do