first pass at phabricator role, updating qadevel-stg for phab
This commit is contained in:
parent
7573106e07
commit
a37007fa4c
14 changed files with 2067 additions and 1 deletions
|
@ -20,6 +20,23 @@ virt_install_command: /usr/bin/virt-install -n {{ inventory_hostname }} -r {{ me
|
||||||
--network=bridge=br0,model=virtio --autostart --noautoconsole
|
--network=bridge=br0,model=virtio --autostart --noautoconsole
|
||||||
|
|
||||||
sshd_config: ssh/sshd_config.qadevel
|
sshd_config: ssh/sshd_config.qadevel
|
||||||
|
external_hostname: qadevel-stg.qa.fedoraproject.org
|
||||||
|
|
||||||
|
mariadb_host: db-qa01.qa.fedoraproject.org
|
||||||
|
mariadb_user: {{ qadevel_stg_mariadb_user }}
|
||||||
|
mariadb_password: {{ qadevel_stg_mariadb_password }}
|
||||||
|
phabricator_db_name: phabricator-stg
|
||||||
|
phabricator_vcs_user: git
|
||||||
|
phabricator_daemon_user: phabdaemon
|
||||||
|
phabroot: /usr/share/
|
||||||
|
phabricator_filedir: /var/lib/phabricator/files
|
||||||
|
phabricator_repodir: /var/lib/phabricator/repos
|
||||||
|
phabricator_header_color: 'fluttershy'
|
||||||
|
phabricator_mail_enabled: False
|
||||||
|
ircnick: fedoraqabot
|
||||||
|
backup_dir: /srv/backup
|
||||||
|
backup_username: root
|
||||||
|
backup_ssh_pubkey: ssh-dss AAAAB3NzaC1kc3MAAACBAJr3xqn/hHIXeth+NuXPu9P91FG9jozF3Q1JaGmg6szo770rrmhiSsxso/Ibm2mObqQLCyfm/qSOQRynv6tL3tQVHA6EEx0PNacnBcOV7UowR5kd4AYv82K1vQhof3YTxOMmNIOrdy6deDqIf4sLz1TDHvEDwjrxtFf8ugyZWNbTAAAAFQCS5puRZF4gpNbaWxe6gLzm3rBeewAAAIBcEd6pRatE2Qc/dW0YwwudTEaOCUnHmtYs2PHKbOPds0+Woe1aWH38NiE+CmklcUpyRsGEf3O0l5vm3VrVlnfuHpgt/a/pbzxm0U6DGm2AebtqEmaCX3CIuYzKhG5wmXqJ/z+Hc5MDj2mn2TchHqsk1O8VZM+1Ml6zX3Hl4vvBsQAAAIALDt5NFv6GLuid8eik/nn8NORd9FJPDBJxgVqHNIm08RMC6aI++fqwkBhVPFKBra5utrMKQmnKs/sOWycLYTqqcSMPdWSkdWYjBCSJ/QNpyN4laCmPWLgb3I+2zORgR0EjeV2e/46geS0MWLmeEsFwztpSj4Tv4e18L8Dsp2uB2Q== root@backup03-rdiff-backup
|
||||||
|
|
||||||
buildmaster_db_host: localhost
|
buildmaster_db_host: localhost
|
||||||
buildmaster_template: ci.master.cfg.j2
|
buildmaster_template: ci.master.cfg.j2
|
||||||
|
@ -31,7 +48,6 @@ buildslave_dir: /home/buildslave/slave
|
||||||
buildslave_poll_interval: 1800
|
buildslave_poll_interval: 1800
|
||||||
master_dir: /home/buildmaster/master
|
master_dir: /home/buildmaster/master
|
||||||
master_user: buildmaster
|
master_user: buildmaster
|
||||||
external_hostname: qadevel-stg.qa.fedoraproject.org
|
|
||||||
deployment_type: qadevel-stg
|
deployment_type: qadevel-stg
|
||||||
tcp_ports: [ 80, 443, "{{ buildslave_port }}", 222 ]
|
tcp_ports: [ 80, 443, "{{ buildslave_port }}", 222 ]
|
||||||
|
|
||||||
|
|
70
roles/phabricator/files/apc.ini
Normal file
70
roles/phabricator/files/apc.ini
Normal file
|
@ -0,0 +1,70 @@
|
||||||
|
; Enable apc extension module
|
||||||
|
extension = apc.so
|
||||||
|
|
||||||
|
; Options for the APC module version >= 3.1.3
|
||||||
|
; See http://www.php.net/manual/en/apc.configuration.php
|
||||||
|
|
||||||
|
; This can be set to 0 to disable APC.
|
||||||
|
apc.enabled=1
|
||||||
|
; The number of shared memory segments to allocate for the compiler cache.
|
||||||
|
apc.shm_segments=1
|
||||||
|
; The size of each shared memory segment, with M/G suffix
|
||||||
|
apc.shm_size=64M
|
||||||
|
; A "hint" about the number of distinct source files that will be included or
|
||||||
|
; requested on your web server. Set to zero or omit if you are not sure;
|
||||||
|
apc.num_files_hint=1024
|
||||||
|
; Just like num_files_hint, a "hint" about the number of distinct user cache
|
||||||
|
; variables to store. Set to zero or omit if you are not sure;
|
||||||
|
apc.user_entries_hint=4096
|
||||||
|
; The number of seconds a cache entry is allowed to idle in a slot in case this
|
||||||
|
; cache entry slot is needed by another entry.
|
||||||
|
apc.ttl=7200
|
||||||
|
; use the SAPI request start time for TTL
|
||||||
|
apc.use_request_time=1
|
||||||
|
; The number of seconds a user cache entry is allowed to idle in a slot in case
|
||||||
|
; this cache entry slot is needed by another entry.
|
||||||
|
apc.user_ttl=7200
|
||||||
|
; The number of seconds that a cache entry may remain on the garbage-collection list.
|
||||||
|
apc.gc_ttl=3600
|
||||||
|
; On by default, but can be set to off and used in conjunction with positive
|
||||||
|
; apc.filters so that files are only cached if matched by a positive filter.
|
||||||
|
apc.cache_by_default=1
|
||||||
|
; A comma-separated list of POSIX extended regular expressions.
|
||||||
|
apc.filters
|
||||||
|
; The mktemp-style file_mask to pass to the mmap module
|
||||||
|
apc.mmap_file_mask=/tmp/apc.XXXXXX
|
||||||
|
; This file_update_protection setting puts a delay on caching brand new files.
|
||||||
|
apc.file_update_protection=2
|
||||||
|
; Setting this enables APC for the CLI version of PHP (Mostly for testing and debugging).
|
||||||
|
apc.enable_cli=0
|
||||||
|
; Prevents large files from being cached
|
||||||
|
apc.max_file_size=1M
|
||||||
|
; Whether to stat the main script file and the fullpath includes.
|
||||||
|
apc.stat=0
|
||||||
|
; Vertification with ctime will avoid problems caused by programs such as svn or rsync by making
|
||||||
|
; sure inodes have not changed since the last stat. APC will normally only check mtime.
|
||||||
|
apc.stat_ctime=0
|
||||||
|
; Whether to canonicalize paths in stat=0 mode or fall back to stat behaviour
|
||||||
|
apc.canonicalize=0
|
||||||
|
; With write_lock enabled, only one process at a time will try to compile an
|
||||||
|
; uncached script while the other processes will run uncached
|
||||||
|
apc.write_lock=1
|
||||||
|
; Logs any scripts that were automatically excluded from being cached due to early/late binding issues.
|
||||||
|
apc.report_autofilter=0
|
||||||
|
; RFC1867 File Upload Progress hook handler
|
||||||
|
apc.rfc1867=0
|
||||||
|
apc.rfc1867_prefix =upload_
|
||||||
|
apc.rfc1867_name=APC_UPLOAD_PROGRESS
|
||||||
|
apc.rfc1867_freq=0
|
||||||
|
apc.rfc1867_ttl=3600
|
||||||
|
; Optimize include_once and require_once calls and avoid the expensive system calls used.
|
||||||
|
apc.include_once_override=0
|
||||||
|
apc.lazy_classes=0
|
||||||
|
apc.lazy_functions=0
|
||||||
|
; Enables APC handling of signals, such as SIGSEGV, that write core files when signaled.
|
||||||
|
; APC will attempt to unmap the shared memory segment in order to exclude it from the core file
|
||||||
|
apc.coredump_unmap=0
|
||||||
|
; Records a md5 hash of files.
|
||||||
|
apc.file_md5=0
|
||||||
|
; not documented
|
||||||
|
apc.preload_path
|
1659
roles/phabricator/files/php.ini
Normal file
1659
roles/phabricator/files/php.ini
Normal file
File diff suppressed because it is too large
Load diff
97
roles/phabricator/tasks/main.yml
Normal file
97
roles/phabricator/tasks/main.yml
Normal file
|
@ -0,0 +1,97 @@
|
||||||
|
- name: ensure packages required for phabricator are installed (fedora)
|
||||||
|
action: yum name={{ item }} state=latest
|
||||||
|
with_items:
|
||||||
|
- git
|
||||||
|
- httpd
|
||||||
|
- mod_ssl
|
||||||
|
- php
|
||||||
|
- php-cli
|
||||||
|
- php-mysql
|
||||||
|
- php-process
|
||||||
|
- php-devel
|
||||||
|
- php-gd
|
||||||
|
- php-mbstring
|
||||||
|
- libphutil
|
||||||
|
- arcanist
|
||||||
|
- phabricator
|
||||||
|
|
||||||
|
- name: create mariadb database
|
||||||
|
mysql_db: login_host={{ mariadb_host }} name={{ phabricator_db_name }}
|
||||||
|
|
||||||
|
- name: create mariadb user for phabricator
|
||||||
|
mysql_user: host={{ mariadb_host }} name={{ mariadb_user }} password={{ mariadb_password }} priv={{ phabricator_db_name }}.*:ALL state=present
|
||||||
|
|
||||||
|
- name: create phabricator daemon user
|
||||||
|
user: name={{ phabricator_daemon_user }}
|
||||||
|
|
||||||
|
- name: create vcs user
|
||||||
|
user: name={{ phabricator_vcs_user }} password={{ phabricator_vcs_password }} }}
|
||||||
|
|
||||||
|
- name: add vcs user to sudoers to write as daemon user with restrictions for git
|
||||||
|
lineinfile: "dest=/etc/sudoers state=present line='{{ phabricator_vcs_user }} ALL=({{ phabricator_daemon_user }}) SETENV: NOPASSWD: /usr/bin/git-upload-pack, /usr/bin/git-receive-pack'"
|
||||||
|
|
||||||
|
- name: remove tty requirement for sudo by git user
|
||||||
|
lineinfile: "dest=/etc/sudoers state=present line='Defaults:{{phabricator_vcs_user }} !requiretty'"
|
||||||
|
|
||||||
|
- name: update php.ini
|
||||||
|
copy: src=php.ini dest=/etc/php.d/php.ini owner=root group=root mode=0644
|
||||||
|
notify:
|
||||||
|
- restart httpd
|
||||||
|
|
||||||
|
- name: update apc.ini
|
||||||
|
copy: src=apc.ini dest=/etc/php.d/apc.ini owner=root group=root mode=0644
|
||||||
|
when: is_rhel
|
||||||
|
notify:
|
||||||
|
- restart httpd
|
||||||
|
|
||||||
|
- name: create git repo root for phabricator
|
||||||
|
file: path={{ phabricator_repodir }} state=directory owner={{ phabricator_daemon_user }} group={{ phabricator_daemon_user }} mode=1755
|
||||||
|
|
||||||
|
- name: create file directory for phabricator
|
||||||
|
file: path={{ phabricator_filedir }} state=directory owner=apache group=apache mode=1755
|
||||||
|
|
||||||
|
- name: create log directory for phabricator
|
||||||
|
file: path=/var/log/phabricator state=directory owner={{ phabricator_daemon_user }} group=apache mode=1775
|
||||||
|
|
||||||
|
- name: generate phabricator config
|
||||||
|
template: src={{ phabricator_config_filename }}.conf.php.j2 dest={{ phabroot }}/phabricator/conf/{{ phabricator_config_filename }}.conf.php owner=apache group=apache mode=0644
|
||||||
|
|
||||||
|
- name: generate phabricator environment
|
||||||
|
template: src=ENVIRONMENT.j2 dest={{ phabroot }}/phabricator/conf/local/ENVIRONMENT owner=apache group=apache mode=0644
|
||||||
|
|
||||||
|
- name: copy phabricator configuration settings
|
||||||
|
template: src=local.json.j2 dest={{ phabroot }}/phabricator/conf/local/local.json owner=apache group=apache mode=0644
|
||||||
|
|
||||||
|
- name: generate chatbot config
|
||||||
|
template: src=chatbot-config.json.j2 dest={{ phabroot }}/phabricator/resources/chatbot/config.json owner=apache group=apache mode=0644
|
||||||
|
|
||||||
|
- name: upgrade phabricator storage
|
||||||
|
command: chdir={{ phabroot }}/phabricator bin/storage upgrade --force
|
||||||
|
|
||||||
|
- name: generate phabricator git hook
|
||||||
|
template: src=phabricator-ssh-hook.sh.j2 dest=/etc/phabricator-ssh-hook.sh owner=root group=root mode=0755
|
||||||
|
|
||||||
|
- name: generate phabricator ssh config for vcs
|
||||||
|
template: src=phabricator-sshd.conf.j2 dest=/etc/ssh/phabricator-sshd.conf owner=root group=root mode=0600
|
||||||
|
|
||||||
|
- name: generate phabricator ssh service file
|
||||||
|
template: src=phabricator-sshd.service.j2 dest=/lib/systemd/system/phabricator-sshd.service owner=root group=root mode=0644
|
||||||
|
|
||||||
|
- name: start and enable phabricator sshd service
|
||||||
|
service: name=phabricator-sshd enabled=yes state=started
|
||||||
|
|
||||||
|
- name: generate phabricator phd service file
|
||||||
|
template: src=phd.service.j2 dest=/lib/systemd/system/phd.service owner=root group=root mode=0644
|
||||||
|
|
||||||
|
- name: create directory for phd pids
|
||||||
|
file: path=/var/run/phabricator state=directory owner={{ phabricator_daemon_user }} group={{ phabricator_daemon_user }} mode=1755
|
||||||
|
|
||||||
|
- name: start and enable phabricator phd service
|
||||||
|
service: name=phd enabled=yes state=started
|
||||||
|
|
||||||
|
- name: copy phabricator httpd config
|
||||||
|
template: src=phabricator.conf.j2 dest=/etc/httpd/conf.d/phabricator.conf owner=root group=root mode=0644
|
||||||
|
notify:
|
||||||
|
- restart httpd
|
||||||
|
|
||||||
|
|
1
roles/phabricator/templates/ENVIRONMENT.j2
Normal file
1
roles/phabricator/templates/ENVIRONMENT.j2
Normal file
|
@ -0,0 +1 @@
|
||||||
|
{{ phabricator_config_filename }}
|
27
roles/phabricator/templates/chatbot-config.json.j2
Normal file
27
roles/phabricator/templates/chatbot-config.json.j2
Normal file
|
@ -0,0 +1,27 @@
|
||||||
|
{
|
||||||
|
"server" : "irc.freenode.net",
|
||||||
|
"port" : 6667,
|
||||||
|
"nick" : "{{ircnick}}",
|
||||||
|
"nickpass" : "{{ircnickpass}}",
|
||||||
|
"join" : [
|
||||||
|
"#fedora-qa-devel"
|
||||||
|
],
|
||||||
|
"handlers" : [
|
||||||
|
"PhabricatorBotObjectNameHandler",
|
||||||
|
"PhabricatorBotSymbolHandler",
|
||||||
|
"PhabricatorBotLogHandler",
|
||||||
|
"PhabricatorBotWhatsNewHandler",
|
||||||
|
"PhabricatorBotDifferentialNotificationHandler",
|
||||||
|
"PhabricatorBotMacroHandler"
|
||||||
|
],
|
||||||
|
|
||||||
|
"conduit.uri" : "https://phab.{{hostname}}/",
|
||||||
|
"conduit.user" : "{{ircnick}}",
|
||||||
|
"conduit.cert" : "{{irc_conduit_cert}}",
|
||||||
|
|
||||||
|
"macro.size" : 48,
|
||||||
|
"macro.aspect" : 0.66,
|
||||||
|
|
||||||
|
"notification.channels" : ["#fedora-qa-devel"]
|
||||||
|
}
|
||||||
|
|
5
roles/phabricator/templates/local.json.j2
Normal file
5
roles/phabricator/templates/local.json.j2
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
{
|
||||||
|
"load-libraries" : [],
|
||||||
|
"phabricator.base-uri" : "https:\/\/phab.{{ hostname }}\/"
|
||||||
|
}
|
||||||
|
|
14
roles/phabricator/templates/phabricator-ssh-hook.sh.j2
Normal file
14
roles/phabricator/templates/phabricator-ssh-hook.sh.j2
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
# NOTE: Replace this with the username that you expect users to connect with.
|
||||||
|
VCSUSER="{{ phabricator_vcs_user }}"
|
||||||
|
|
||||||
|
# NOTE: Replace this with the path to your Phabricator directory.
|
||||||
|
ROOT="{{ phabroot }}/phabricator"
|
||||||
|
|
||||||
|
if [ "$1" != "$VCSUSER" ];
|
||||||
|
then
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
exec "$ROOT/bin/ssh-auth" $@
|
22
roles/phabricator/templates/phabricator-sshd.conf.j2
Normal file
22
roles/phabricator/templates/phabricator-sshd.conf.j2
Normal file
|
@ -0,0 +1,22 @@
|
||||||
|
# NOTE: You must have OpenSSHD 6.2 or newer; support for AuthorizedKeysCommand
|
||||||
|
# was added in this version.
|
||||||
|
|
||||||
|
# NOTE: Edit these to the correct values for your setup.
|
||||||
|
|
||||||
|
AuthorizedKeysCommand /etc/phabricator-ssh-hook.sh
|
||||||
|
AuthorizedKeysCommandUser {{ phabricator_vcs_user }}
|
||||||
|
|
||||||
|
# You may need to tweak these options, but mostly they just turn off everything
|
||||||
|
# dangerous.
|
||||||
|
|
||||||
|
Port 22
|
||||||
|
Protocol 2
|
||||||
|
PermitRootLogin no
|
||||||
|
AllowAgentForwarding no
|
||||||
|
AllowTcpForwarding no
|
||||||
|
PrintMotd no
|
||||||
|
PrintLastLog no
|
||||||
|
PasswordAuthentication no
|
||||||
|
AuthorizedKeysFile none
|
||||||
|
|
||||||
|
PidFile /var/run/sshd-phabricator.pid
|
12
roles/phabricator/templates/phabricator-sshd.service.j2
Normal file
12
roles/phabricator/templates/phabricator-sshd.service.j2
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
[Unit]
|
||||||
|
Description=OpenSSH server daemon for Phabricator
|
||||||
|
After=syslog.target network.target auditd.service
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
ExecStartPre=/usr/sbin/sshd-keygen
|
||||||
|
ExecStart=/usr/sbin/sshd -f /etc/ssh/phabricator-sshd.conf -D $OPTIONS
|
||||||
|
ExecReload=/bin/kill -HUP $MAINPID
|
||||||
|
KillMode=process
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=multi-user.target
|
10
roles/phabricator/templates/phabricator-sshd.socket.j2
Normal file
10
roles/phabricator/templates/phabricator-sshd.socket.j2
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
[Unit]
|
||||||
|
Description=OpenSSH Server Socket
|
||||||
|
Conflicts=sshd.service
|
||||||
|
|
||||||
|
[Socket]
|
||||||
|
ListenStream=22
|
||||||
|
Accept=yes
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=sockets.target
|
93
roles/phabricator/templates/phabricator.conf.j2
Normal file
93
roles/phabricator/templates/phabricator.conf.j2
Normal file
|
@ -0,0 +1,93 @@
|
||||||
|
NameVirtualHost *:443
|
||||||
|
|
||||||
|
<VirtualHost *:443>
|
||||||
|
# Change this to the domain which points to your host.
|
||||||
|
ServerName phab.{{hostname}}
|
||||||
|
|
||||||
|
# Use separate log files for the SSL virtual host; note that LogLevel
|
||||||
|
# is not inherited from httpd.conf.
|
||||||
|
ErrorLog logs/phab_error_log
|
||||||
|
TransferLog logs/phab_access_log
|
||||||
|
LogLevel warn
|
||||||
|
|
||||||
|
# SSL Engine Switch:
|
||||||
|
# Enable/Disable SSL for this virtual host.
|
||||||
|
SSLEngine on
|
||||||
|
|
||||||
|
# SSL Protocol support:
|
||||||
|
# List the enable protocol levels with which clients will be able to
|
||||||
|
# connect. Disable SSLv2 access by default:
|
||||||
|
SSLProtocol all -SSLv2
|
||||||
|
|
||||||
|
# SSL Cipher Suite:
|
||||||
|
# List the ciphers that the client is permitted to negotiate.
|
||||||
|
# See the mod_ssl documentation for a complete list.
|
||||||
|
#SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM:+LOW
|
||||||
|
SSLCipherSuite HIGH:MEDIUM:!aNULL:!MD5
|
||||||
|
|
||||||
|
# Server Certificate:
|
||||||
|
# Point SSLCertificateFile at a PEM encoded certificate. If
|
||||||
|
# the certificate is encrypted, then you will be prompted for a
|
||||||
|
# pass phrase. Note that a kill -HUP will prompt again. A new
|
||||||
|
# certificate can be generated using the genkey(1) command.
|
||||||
|
SSLCertificateFile /etc/pki/tls/certs/{{ sslcertfile }}
|
||||||
|
|
||||||
|
# Server Private Key:
|
||||||
|
# If the key is not combined with the certificate, use this
|
||||||
|
# directive to point at the key file. Keep in mind that if
|
||||||
|
# you've both a RSA and a DSA private key you can configure
|
||||||
|
# both in parallel (to also allow the use of DSA ciphers, etc.)
|
||||||
|
SSLCertificateKeyFile /etc/pki/tls/private/{{ sslkeyfile }}
|
||||||
|
|
||||||
|
# Server Certificate Chain:
|
||||||
|
# Point SSLCertificateChainFile at a file containing the
|
||||||
|
# concatenation of PEM encoded CA certificates which form the
|
||||||
|
# certificate chain for the server certificate. Alternatively
|
||||||
|
# the referenced file can be the same as SSLCertificateFile
|
||||||
|
# when the CA certificates are directly appended to the server
|
||||||
|
# certificate for convinience.
|
||||||
|
#SSLCertificateChainFile /etc/pki/tls/certs/server-chain.crt
|
||||||
|
{% if sslintermediatecertfile is defined %}
|
||||||
|
SSLCertificateChainFile /etc/pki/tls/certs/{{ sslintermediatecertfile }}
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
# Certificate Authority (CA):
|
||||||
|
# Set the CA certificate verification path where to find CA
|
||||||
|
# certificates for client authentication or alternatively one
|
||||||
|
# huge file containing all of them (file must be PEM encoded)
|
||||||
|
#SSLCACertificateFile /etc/pki/tls/certs/ca-bundle.crt
|
||||||
|
|
||||||
|
# Change this to the path where you put 'phabricator' when you checked it
|
||||||
|
# out from GitHub when following the Installation Guide.
|
||||||
|
#
|
||||||
|
# Make sure you include "/webroot" at the end!
|
||||||
|
DocumentRoot {{phabroot}}/phabricator/webroot
|
||||||
|
|
||||||
|
RewriteEngine on
|
||||||
|
RewriteRule ^/rsrc/(.*) - [L,QSA]
|
||||||
|
RewriteRule ^/favicon.ico - [L,QSA]
|
||||||
|
RewriteRule ^(.*)$ /index.php?__path__=$1 [B,L,QSA]
|
||||||
|
</VirtualHost>
|
||||||
|
|
||||||
|
|
||||||
|
<VirtualHost *:80>
|
||||||
|
# Change this to the domain which points to your host.
|
||||||
|
ServerName phab.{{hostname}}
|
||||||
|
|
||||||
|
RewriteEngine on
|
||||||
|
RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L]
|
||||||
|
</VirtualHost>
|
||||||
|
|
||||||
|
|
||||||
|
<Directory "{{ phabroot }}/phabricator/webroot">
|
||||||
|
AllowOverride None
|
||||||
|
#Require all granted
|
||||||
|
<IfModule mod_authz_core.c>
|
||||||
|
# Apache 2.4
|
||||||
|
Require all granted
|
||||||
|
</IfModule>
|
||||||
|
<IfModule !mod_auth_core.c>
|
||||||
|
Order allow,deny
|
||||||
|
Allow from all
|
||||||
|
</IfModule>
|
||||||
|
</Directory>
|
11
roles/phabricator/templates/phd.service.j2
Normal file
11
roles/phabricator/templates/phd.service.j2
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
[Unit]
|
||||||
|
Description=Phabricator Daemons
|
||||||
|
After=httpd.service
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=forking
|
||||||
|
ExecStart={{ phabroot }}/phabricator/bin/phd start
|
||||||
|
ExecStop={{ phabroot }}/phabricator/bin/phd stop
|
||||||
|
ExecRestart={{ phabroot}}/phabricator/bin/phd restart
|
||||||
|
User={{ phabricator_daemon_user }}
|
||||||
|
Group={{ phabricator_daemon_user }}
|
29
roles/phabricator/templates/qadevelconfig.conf.php.j2
Normal file
29
roles/phabricator/templates/qadevelconfig.conf.php.j2
Normal file
|
@ -0,0 +1,29 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
//'welcome.html' => '<h1>Fedora QA Devel Phabricator</h1><p>The Fedora QA Devel team uses this phabricator instance for tracking issues, code reviews and some documentation. <ul><li>lists</li><li><a href="http://roshi.fedorapeople.org/dexy/">Links to docs</a></li><li>...</li></ul></p>',
|
||||||
|
return array(
|
||||||
|
'mysql.host' => '{{ mariadb_host }}',
|
||||||
|
'mysql.user' => '{{ mariadb_user }}',
|
||||||
|
'mysql.pass' => '{{ mariadb_password }}',
|
||||||
|
'log.access.path' => '/var/log/phabricator/access.log',
|
||||||
|
'log.ssh.path' => '/var/log/phabricator/ssh.log',
|
||||||
|
'phd.pid-directory' => '/var/run/phabricator/',
|
||||||
|
'phd.log-directory' => '/var/log/phabricator/',
|
||||||
|
'phd.user' => '{{ phabricator_daemon_user }}',
|
||||||
|
'environment.append-paths' => ['/usr/libexec/git-core/'],
|
||||||
|
'diffusion.ssh-user' => '{{ phabricator_vcs_user }}',
|
||||||
|
'welcome.html' => '{{ lookup("file", files + "/phabricator-welcome.html") }}',
|
||||||
|
'ui.header-color' => '{{ phabricator_header_color }}',
|
||||||
|
'metamta.default-address' => 'phab@{{ external_hostname }}',
|
||||||
|
'metamta.domain' => '{{ external_hostname }}',
|
||||||
|
'metamta.reply-handler-domain' => '{{ external_hostname }}',
|
||||||
|
'metamta.mail-adapter' => '{{ 'PhabricatorMailImplementationPHPMailerLiteAdapter' if phabricator_mail_enabled else 'PhabricatorMailImplementationTestAdapter'}}',
|
||||||
|
'phabricator.uninstalled-applications' => array(
|
||||||
|
'PhabricatorApplicationPhame' => true,
|
||||||
|
'PhabricatorApplicationDiviner' => true,
|
||||||
|
'PhabricatorApplicationLegalpad' => true,
|
||||||
|
'PhabricatorApplicationDrydock' => true,
|
||||||
|
'PhabricatorApplicationHarbormaster' => true,
|
||||||
|
'PhabricatorApplicationOAuthServer' => true,
|
||||||
|
'PhabricatorApplicationPhortune' => true)
|
||||||
|
);
|
Loading…
Add table
Add a link
Reference in a new issue