copr-dist-git: compatibility fixes for the latest dist-git and copr-dist-git upstream
This commit is contained in:
parent
f558dee191
commit
3692faa1e8
7 changed files with 20 additions and 160 deletions
|
@ -1,17 +0,0 @@
|
||||||
[asamalik-dist-git]
|
|
||||||
name=Copr repo for dist-git owned by asamalik
|
|
||||||
baseurl=https://copr-be.cloud.fedoraproject.org/results/asamalik/dist-git/epel-7-$basearch/
|
|
||||||
skip_if_unavailable=True
|
|
||||||
gpgcheck=1
|
|
||||||
gpgkey=https://copr-be.cloud.fedoraproject.org/results/asamalik/dist-git/pubkey.gpg
|
|
||||||
enabled=1
|
|
||||||
enabled_metadata=1
|
|
||||||
|
|
||||||
[msuchy-copr]
|
|
||||||
name=Copr repo for copr owned by msuchy
|
|
||||||
baseurl=https://copr-be.cloud.fedoraproject.org/results/@copr/copr/epel-7-$basearch/
|
|
||||||
skip_if_unavailable=True
|
|
||||||
gpgcheck=1
|
|
||||||
gpgkey=https://copr-be.cloud.fedoraproject.org/results/@copr/copr/pubkey.gpg
|
|
||||||
enabled=1
|
|
||||||
enabled_metadata=1
|
|
|
@ -1,62 +1,7 @@
|
||||||
# What to do AFTER changing this config:
|
[dist-git]
|
||||||
# 1. /etc/gitolite/admins <- usernames of gitolite admins
|
git_author_name = Copr Dist Git
|
||||||
# 2. /etc/cron.d/dist-git/dist_git_sync.cron <- enable auto-sync
|
git_author_email = <copr-devel@lists.fedoraproject.org>
|
||||||
# /cgit_pkg_list.cron <- enable cgit auto-sync
|
|
||||||
|
|
||||||
|
|
||||||
[acls]
|
|
||||||
|
|
||||||
# user groups on the server associated with dist-git
|
|
||||||
# example:
|
|
||||||
# user_groups=cvsadmin,fedora-arm,fedora-sparc,fedora-ia64,fedora-s390,fedora-ppc,provenpackager
|
|
||||||
user_groups=cvsadmin
|
|
||||||
# user groups with write access to all repositories
|
|
||||||
# example:
|
|
||||||
# admin_groups=cvsadmin,fedora-arm,fedora-s390,fedora-ppc
|
|
||||||
admin_groups=cvsadmin
|
|
||||||
|
|
||||||
# comma separated list of active branches to create ACLs for
|
|
||||||
# example:
|
|
||||||
active_branches=el5,el6,el7,epel7,f22,f23,f24,master,custom1
|
|
||||||
|
|
||||||
# a "regex"ish list of the reserved branches
|
|
||||||
# example:
|
|
||||||
# reserved_branches=f[0-9][0-9],epel[0-9],epel[0-9][0-9],el[0-9],olpc[0-9]
|
|
||||||
reserved_branches=f[0-9][0-9],epel[0-9],epel[0-9][0-9],el[0-9],olpc[0-9],custom[0-9]
|
|
||||||
|
|
||||||
# url of package database - acls (data in json format)
|
|
||||||
# You can leave it empty if you don't want to use it.
|
|
||||||
# example:
|
|
||||||
# pkgdb_acls_url=https://admin.fedoraproject.org/pkgdb/api/vcs?format=json
|
|
||||||
pkgdb_acls_url=
|
|
||||||
|
|
||||||
# url of package database - groups (data in json format)
|
|
||||||
# You can leave it empty if you don't want to use it.
|
|
||||||
# example:
|
|
||||||
# pkgdb_groups_url=https://admin.fedoraproject.org/pkgdb/api/groups?format=json
|
|
||||||
pkgdb_groups_url=
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
[notifications]
|
|
||||||
|
|
||||||
# email notifications:
|
|
||||||
# example:
|
|
||||||
# email_domain=fedoraproject.org
|
|
||||||
email_domain=example.com
|
|
||||||
|
|
||||||
# List of email adresses to be notified about changes
|
|
||||||
# $PACKAGE can be used as a package name
|
|
||||||
# example:
|
|
||||||
# pkg_owner_emails=$PACKAGE-owner@fedoraproject.org,scm-commits@lists.fedoraproject.org
|
|
||||||
pkg_owner_emails=$PACKAGE-owner@example.com,commits@lists.example.com
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
[git]
|
|
||||||
|
|
||||||
# the default author of git branches
|
|
||||||
# example:
|
|
||||||
# default_branch_author=Fedora Release Engineering <rel-eng@lists.fedoraproject.org>
|
|
||||||
default_branch_author=Copr Dist Git <copr-devel@lists.fedoraproject.org>
|
|
||||||
|
|
||||||
|
cache_dir = /var/lib/dist-git/cache
|
||||||
|
gitroot_dir = /var/lib/dist-git/git
|
||||||
|
gitolite = False
|
||||||
|
|
|
@ -1,7 +0,0 @@
|
||||||
SetEnv GIT_PROJECT_ROOT /var/lib/dist-git/git/rpms
|
|
||||||
SetEnv GIT_HTTP_EXPORT_ALL
|
|
||||||
ScriptAlias /git/ /usr/libexec/git-core/git-http-backend/
|
|
||||||
<Directory /usr/libexec/git-core>
|
|
||||||
Options +ExecCGI
|
|
||||||
Require all granted
|
|
||||||
</Directory>
|
|
|
@ -1,6 +0,0 @@
|
||||||
alias /lookaside /var/lib/dist-git/cache/lookaside
|
|
||||||
<Directory /var/lib/dist-git/cache/lookaside>
|
|
||||||
Options Indexes FollowSymLinks
|
|
||||||
AllowOverride None
|
|
||||||
Require all granted
|
|
||||||
</Directory>
|
|
|
@ -1,105 +1,60 @@
|
||||||
- include: "mount_fs.yml"
|
- include: "mount_fs.yml"
|
||||||
|
|
||||||
#- copy: src="dist-git-epel-7.repo" dest="/etc/yum.repos.d/"
|
|
||||||
|
|
||||||
# pre-create users/groups and copy uids/gids from the current prod copr-dist-git
|
# pre-create users/groups and copy uids/gids from the current prod copr-dist-git
|
||||||
- group: name="packager" state=present gid=987
|
- group: name="packager" state=present gid=987
|
||||||
- group: name="cvsadmin" state=present gid=1001
|
- group: name="copr-dist-git" state=present gid=1003
|
||||||
- group: name="copr-dist-git" state=present gid=1002
|
|
||||||
- group: name="copr-service" state=present gid=1003
|
|
||||||
|
|
||||||
- name: create user for git repos
|
- name: create user for git repos and copr-dist-git service
|
||||||
user: name="copr-dist-git" group=copr-dist-git groups=cvsadmin,packager uid=1001
|
user: name="copr-dist-git" group=copr-dist-git groups=packager,docker,apache,mock uid=1002
|
||||||
|
|
||||||
- name: create user for copr-dist-git service
|
|
||||||
user: name="copr-service" group=copr-service groups=packager,docker,apache,mock generate_ssh_key=yes ssh_key_bits=2048 ssh_key_file=.ssh/id_rsa uid=1002
|
|
||||||
|
|
||||||
- name: enable copr dist-git repo
|
- name: enable copr dist-git repo
|
||||||
shell: "dnf -y copr enable clime/dist-git"
|
shell: "dnf -y copr enable clime/dist-git"
|
||||||
when: devel
|
|
||||||
|
|
||||||
- name: install dist-git
|
|
||||||
dnf: state=latest name="dist-git"
|
|
||||||
|
|
||||||
- name: install packages
|
- name: install packages
|
||||||
dnf: state=present name={{ item }}
|
dnf: state=present name={{ item }}
|
||||||
with_items:
|
with_items:
|
||||||
#- epel-release
|
|
||||||
- cgit
|
- cgit
|
||||||
# - dist-git
|
|
||||||
- copr-dist-git
|
- copr-dist-git
|
||||||
- rdiff-backup
|
- rdiff-backup
|
||||||
- tmpwatch
|
- tmpwatch
|
||||||
- highlight
|
- highlight
|
||||||
|
|
||||||
- name: install copr-dist-git
|
- name: install latest dist-git and copr-dist-git
|
||||||
dnf: state=latest name={{ item }}
|
dnf: state=latest name={{ item }}
|
||||||
with_items:
|
with_items:
|
||||||
|
- dist-git
|
||||||
|
- dist-git-selinux
|
||||||
- copr-dist-git
|
- copr-dist-git
|
||||||
|
|
||||||
- name: switch selinux to permissive
|
- name: switch selinux to permissive
|
||||||
selinux: policy=targeted state=permissive
|
selinux: policy=targeted state=permissive
|
||||||
|
|
||||||
- name: ensure git storage path exists
|
- name: make sure directories are owned by copr-dist-git user
|
||||||
file: path="/var/lib/dist-git/git" state=directory group=packager mode=0775
|
file: path={{ item }} owner=copr-dist-git group=copr-dist-git state=directory recurse=yes
|
||||||
#- file: path="/var/lib/dist-git/git/pkgs-git-repos-list" state=file group=packager
|
|
||||||
# - file: path="/var/lib/dist-git/git/rpms/" state=directory group=packager
|
|
||||||
when: not devel
|
|
||||||
|
|
||||||
- name: install packages which should be added as requirements
|
|
||||||
dnf: state=present name={{ item }}
|
|
||||||
with_items:
|
|
||||||
- pyrpkg
|
|
||||||
|
|
||||||
- name: make sure directories are owned by copr-service user
|
|
||||||
file: path={{ item }} owner=copr-service group=copr-service state=directory recurse=yes
|
|
||||||
with_items:
|
with_items:
|
||||||
- /var/lib/copr-dist-git/
|
- /var/lib/copr-dist-git/
|
||||||
- /var/log/copr-dist-git/
|
- /var/log/copr-dist-git/
|
||||||
|
|
||||||
- name: make sure directories are owned by copr-service:packager user
|
|
||||||
file: path=/var/lib/dist-git/git owner=copr-service group=packager
|
|
||||||
when: not devel
|
|
||||||
|
|
||||||
# set ssh key, so that copr-service could access gitolite
|
|
||||||
- name: read pub key into var
|
|
||||||
command: cat /home/copr-service/.ssh/id_rsa.pub
|
|
||||||
register: cat_pubkey
|
|
||||||
check_mode: no
|
|
||||||
changed_when: false
|
|
||||||
|
|
||||||
- set_fact: pubkey="{{cat_pubkey.stdout|join('')}}"
|
|
||||||
|
|
||||||
- debug: msg={{pubkey}}
|
|
||||||
|
|
||||||
- name: prepare authorized key, so copr-service could interact with gitolite
|
|
||||||
authorized_key: user="copr-dist-git" key="{{pubkey}}" key_options="command=\"HOME=/var/lib/dist-git/git/ /usr/share/gitolite3/gitolite-shell $USER \"'"
|
|
||||||
when: not devel
|
|
||||||
## keys done
|
|
||||||
|
|
||||||
- name: install config for copr-dist-git
|
- name: install config for copr-dist-git
|
||||||
template: src=copr-dist-git.conf.j2 dest=/etc/copr/copr-dist-git.conf mode=0644
|
template: src=copr-dist-git.conf.j2 dest=/etc/copr/copr-dist-git.conf mode=0644
|
||||||
tags:
|
tags:
|
||||||
- config
|
- config
|
||||||
|
|
||||||
- name: set git variables for copr-service user
|
- name: set git variables for copr-dist-git user
|
||||||
copy: src=".gitconfig" dest="/home/copr-service/.gitconfig"
|
copy: src=".gitconfig" dest="/home/copr-dist-git/.gitconfig"
|
||||||
|
|
||||||
- name: set git config username
|
- name: set git config username
|
||||||
git_config: name=user.name scope=global value="Copr dist git"
|
git_config: name=user.name scope=global value="Copr dist git"
|
||||||
|
|
||||||
- name: install httpd config to serve lookaside and smart-git
|
- name: install httpd config needed for COPR lookaside cache
|
||||||
copy: src="httpd/dist-git/{{ item }}" dest="/etc/httpd/conf.d/dist-git/{{ item }}"
|
copy: src="httpd/dist-git/{{ item }}" dest="/etc/httpd/conf.d/dist-git/{{ item }}"
|
||||||
with_items:
|
with_items:
|
||||||
- lookaside.conf
|
|
||||||
- lookaside-copr.conf
|
- lookaside-copr.conf
|
||||||
- git-smart-http.conf
|
|
||||||
tags:
|
tags:
|
||||||
- config
|
- config
|
||||||
notify:
|
notify:
|
||||||
- reload httpd
|
- reload httpd
|
||||||
|
|
||||||
|
|
||||||
- name: install copr-dist-git httpd config
|
- name: install copr-dist-git httpd config
|
||||||
copy: src="httpd/{{ item }}" dest="/etc/httpd/conf.d/{{ item }}"
|
copy: src="httpd/{{ item }}" dest="/etc/httpd/conf.d/{{ item }}"
|
||||||
with_items:
|
with_items:
|
||||||
|
@ -117,15 +72,10 @@
|
||||||
tags:
|
tags:
|
||||||
- config
|
- config
|
||||||
|
|
||||||
- copy: src="ssh_config" dest="/home/copr-service/.ssh/config" owner=copr-service group=copr-service mode=0600
|
|
||||||
|
|
||||||
- template: src="cgitrc" dest="/etc/cgitrc" owner=root group=root mode=0644
|
- template: src="cgitrc" dest="/etc/cgitrc" owner=root group=root mode=0644
|
||||||
|
|
||||||
- template: src="cgitrc.slow" dest="/etc/cgitrc.slow" owner=root group=root mode=0644
|
- template: src="cgitrc.slow" dest="/etc/cgitrc.slow" owner=root group=root mode=0644
|
||||||
|
|
||||||
- command: "/usr/share/dist-git/dist_git_sync.sh"
|
|
||||||
when: not devel
|
|
||||||
|
|
||||||
- name: allow httpd to run cgit
|
- name: allow httpd to run cgit
|
||||||
seboolean: name=httpd_enable_cgi state=true persistent=true
|
seboolean: name=httpd_enable_cgi state=true persistent=true
|
||||||
|
|
||||||
|
@ -146,8 +96,3 @@
|
||||||
|
|
||||||
- name: Create /var/cache/cgit/repo-list.rc if does not exists (it last 30 minutes to generate)
|
- name: Create /var/cache/cgit/repo-list.rc if does not exists (it last 30 minutes to generate)
|
||||||
command: /etc/cron.hourly/copr-dist-git creates=/var/cache/cgit/repo-list.rc
|
command: /etc/cron.hourly/copr-dist-git creates=/var/cache/cgit/repo-list.rc
|
||||||
|
|
||||||
- name: install dist-git-selinux package
|
|
||||||
dnf: state=present name={{ item }}
|
|
||||||
with_items:
|
|
||||||
- dist-git-selinux # this takes several hours to finish due to fs relabelling
|
|
||||||
|
|
|
@ -80,6 +80,6 @@ source-filter=/usr/libexec/cgit/filters/syntax-highlighting.sh
|
||||||
#repo.owner=fooman@example.com
|
#repo.owner=fooman@example.com
|
||||||
#repo.readme=info/web/about.html
|
#repo.readme=info/web/about.html
|
||||||
project-list=/var/lib/copr-dist-git/cgit_pkg_list
|
project-list=/var/lib/copr-dist-git/cgit_pkg_list
|
||||||
#scan-path=/var/lib/dist-git/git/repositories
|
#scan-path=/var/lib/dist-git/git
|
||||||
include=/var/cache/cgit/repo-list.rc
|
include=/var/cache/cgit/repo-list.rc
|
||||||
clone-prefix=http://{{ dist_git_base_url }}/git
|
clone-prefix=http://{{ dist_git_base_url }}/git
|
||||||
|
|
|
@ -80,6 +80,6 @@ mimetype.svg=image/svg+xml
|
||||||
#repo.owner=fooman@example.com
|
#repo.owner=fooman@example.com
|
||||||
#repo.readme=info/web/about.html
|
#repo.readme=info/web/about.html
|
||||||
project-list=/var/lib/copr-dist-git/cgit_pkg_list
|
project-list=/var/lib/copr-dist-git/cgit_pkg_list
|
||||||
#scan-path=/var/lib/dist-git/git/rpms
|
#scan-path=/var/lib/dist-git/git
|
||||||
clone-prefix=http://copr-dist-git.fedorainfracloud.org/git
|
clone-prefix=http://copr-dist-git.fedorainfracloud.org/git
|
||||||
scan-path=/var/lib/dist-git/git/rpms
|
scan-path=/var/lib/dist-git/git
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue