[copr] master: initial and incomplete doc for setting up copr instance (03fe7f8)

skvidal at fedoraproject.org skvidal at fedoraproject.org
Tue Jan 15 05:53:13 UTC 2013


Repository : http://git.fedorahosted.org/cgit/copr.git

On branch  : master

>---------------------------------------------------------------

commit 03fe7f84e032b54bfd3f3a220f4bd6497e6fa161
Author: Seth Vidal <skvidal at fedoraproject.org>
Date:   Tue Jan 15 00:52:25 2013 -0500

    initial and incomplete doc for setting up copr instance


>---------------------------------------------------------------

 copr-setup.txt |   92 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 92 insertions(+), 0 deletions(-)

diff --git a/copr-setup.txt b/copr-setup.txt
new file mode 100644
index 0000000..72305d4
--- /dev/null
+++ b/copr-setup.txt
@@ -0,0 +1,92 @@
+WORK IN PROGRESS
+
+- How coprs works
+  - SEE README FOR OVERVIEW
+
+
+
+- need at least 1 server
+- some instances/systems for builders
+
+Backend:
+ansible playbook: 
+  http://infrastructure.fedoraproject.org/infra/ansible/playbooks/hosts/copr-be.cloud.fedoraproject.org.yml
+
+Required pkgs:
+ - ansible - 0.9 or higher
+ - [lig]httpd
+ - euca2ools (or other cloud tools)
+ - rsync
+ - openssh-clients
+ - mock - recent - from epel - including mockchain
+ - yum-utils
+ - createrepo
+ - python-bunch
+ - python-requests
+
+
+- add copr user
+- give write access to a dir somewhere not in your homedir
+- git clone git://git.fedorahosted.org/copr.git into that dir
+- setup copr-be.conf
+- dirs needed to be setup?
+- setup webserver - point to results path from copr-be.conf
+- dirindexes enabled
+
+- builder provisioning 
+3. spawn instance playbook - 
+   http://infrastructure.fedoraproject.org/infra/ansible/files/copr/provision/builderpb.yml
+   - just an ansible playbook which sets up and provisions an instance
+     in our case it is using eucalyptus but it doesn't have to be
+     any cloud provider - it just needs to be able to get an ip an
+     ssh into it - cloud providers or private clouds just make more 
+     sense
+4. provisioning dir
+   http://infrastructure.fedoraproject.org/infra/ansible/files/copr/provision/files/
+   - what gets pushed to the other side - ssh keys, users, mock
+     configs, etc
+5. terminate instance playbook -
+   http://infrastructure.fedoraproject.org/infra/ansible/files/copr/provision/terminatepb.yml
+
+
+
+Frontend:
+rhel6ish - add epel
+
+Required pkgs:
+  - httpd
+  - mod_wsgi
+  - postgresql-server
+  - postgresql-devel
+  - python-virtualenv
+  - gcc
+
+- apache setup
+   coprs.conf:
+
+<VirtualHost *:80>
+    ServerName yourservername.here
+
+    WSGIDaemonProcess yourservername.hereuser=copr-fe group=copr-fe threads=5
+    WSGIScriptAlias / /path/to/coprs_git_tree/coprs_frontend/application
+    WSGIProcessGroup yourservername.here
+    WSGIPassAuthorization On
+
+    ErrorLog logs/error_coprs
+    CustomLog logs/access_coprs common
+
+    <Directory /var/www/coprs_frontend>
+        WSGIApplicationGroup %{GLOBAL}
+        Order deny,allow
+        Allow from all
+    </Directory>
+</VirtualHost>
+
+- virtenv of flask and friends
+  - virtualenv --distribute virtenv  
+  - source virtenv/bin/activate
+  - pip install flask flask-sqlalchemy flask-openid flask-wtf alembic
+  - pip install -I  SQLAlchemy MarkupSafe 
+  - pip install pytest
+
+



More information about the copr-devel mailing list