Merge branch 'master' into rorcz
[girocco.git] / html / volunteers.html
Commit [+]AuthorDateLineData
8c985518
PB
Petr Baudis2010-01-22 00:53:29 +01001@section=site guide
2@heading=Volunteers
3@header
4
5<!-- This file is preprocessed by cgi/html.cgi -->
6
7
f19bc0a3
AS
Andrew Steinborn2010-09-15 16:26:53 -04008<p>repo.or.cz is not currently looking for volunteers who would like to help running and developing the site (we had too much feedback!) We are
9currently in the process of setting up the first collectively run admin team to
10replace Petr Baudis as the sole site maintainer and developer.</p>
8c985518
PB
Petr Baudis2010-01-22 00:53:29 +010011
12<p>Who do we want:</p>
13<ul>
14<li>People with motivation to help out one of the largest public Git hosting
15sites who don't mind helping out some poor user once in a week and/or want
16to enhance repo.or.cz services and features while also fixing few bugs
17in the process</li>
18<li>People with reasonable experience in all of UNIX/GNU, shell scripting,
19Perl and Git itself</li>
20<li>Trustworthy persons with no bad history and preferrably some existing
21open-source community involvement - ideally (but not required) in the Git
22community</li>
23<li>People who don't mind working in a team, are willing to put up with
24a perfectionist <a href="mailto:pasky@ucw.cz">pasky</a> at the beginning
25and can get used to thinking thrice before doing something on the live
26database</li>
27</ul>
28
29<p>What will you do (at least some of... ;-):</p>
30<ul>
31<li>Supporting users over email, possibly IRC. We get one support issue
32per week on average, usually project deletion requests.</li>
33<li>Other maintenance tasks - checking if jobs don't get stuck, possible
34project breakage, reviewing+applying patches from users, monitoring
35bogus content tags usage, cleaning up badly created projects and handling
36server overload (all fairly rare occurences)</li>
37<li>Implement gadgets to ease your maintenance tasks- could be e.g. issue
38tracking system or ability for users to remove projects themselves.</li>
39<li>Fix repo.or.cz bugs. E.g. the mirroring process gets stuck once in a while
40on misbehaving mirror source, and sometimes objects get lost during gc that
41shouldn't.</li>
42<li>Implement cool new features. E.g. something from the
43<a href="/w/girocco.git/blob/HEAD:/TODO">Girocco TODO list</a>,
44cleaning up and adding support for more mirroring source VCSes, user experience
45improvements, maybe some interesting statistical analysis...</li>
46</ul>
47
48<p>What's in it for you:</p>
49<ul>
50<li>Most importantly, good warm feeling in your heart! ;-)</li>
51<li>Chance to play with a reasonably large site and try out interesting
52things.</li>
53<li>Learning more UNIX/shell/perl/git on a very practical project.</li>
54<li>Getting more involved in the Git development community, getting general
55experience with OSS development of something that's actually immediately useful.</li>
56<li>Low and totally flexible time demands.</li>
57<li>Nice CV point to be sure!</li>
58</ul>
59
60<p>Are you interested? Please apply at <a href="mailto:pasky@ucw.cz">pasky@ucw.cz</a>.
61(Note: If you want to look at the current repo.or.cz codebase or even
62deploy a copy locally to play with, just look at <a href="/w/girocco.git">girocco.git</a>.)
63
64<p>TODO: Make everything below this line less public. ;-)
65So far, no huge deal I guess.
66Volunteers can see what will they work with.</p>
67
68<hr />
69
70<h2>The Admin Team Plan</h2>
71
72<p>These are pasky's ideas on how to set up the admin team and transfer
73control to it:</p>
74
75<ul>
76<li>Gather feedback and confirmation from volunteers that already applied.</li>
77<li>Set up admin@repo.or.cz alias plus internal mailing list.</li>
78<li>Create accounts for new recruits with sudo access to the 'repo' account.
79(We just got a complete tree backup while migrating, so we can be liberal
80and relatively trusting at the beginning. ;)</li>
81<li>Let the new recruits start helping out and self-organizing. There will
82be probably need to create a deployment staging area and some cooperation
83rules to avoid race conditions, but I'd prefer the new admin team to already
84figure that out for themselves.</li>
85<li>Give the two or three most experienced members root access after a while.</li>
86<li>Pasky would like to stay in the loop and keep veto power for a while
87to protect the site from some bad deterioration or major turnovers.</li>
88</ul>
89
90<p>New admins rules:</p>
91
92<ul>
96f5c8d4
PB
Petr Baudis2010-09-11 20:48:02 +020093<li>Do not be shy doing stuff. If you are not doing it, noone else probably
94is either. Just send a mail when you start doing something, and another
95when you are done.</li>
8c985518 Petr Baudis2010-01-22 00:53:29 +010096<li>Document everything you do outside of your sandbox. On the mailing list
df3dfe48
PB
Petr Baudis2010-05-05 20:33:16 +020097for starters, we can figure out better book-keeping later. Reply on admin@
98to all user requests that you have handled.</li>
99<li>Ask for consultations and acks whenever you have shadow of doubt.</li>
8c985518
PB
Petr Baudis2010-01-22 00:53:29 +0100100<li>Think trice. Avoid doing unrevertable things!</li>
101<li>Think once. Make plenty of non-destructive quick experiments to learn about
102stuff.</li>
103<li>No abuse. We need to nurture the goodwill of our connection sponsors.
104No peer-to-peer filesharing!</li>
e3d636ab Petr Baudis2010-09-11 20:55:41 +0200105<li>Do not use Ctrl-C to quit screen. You could kill a task!</ul>
8c985518
PB
Petr Baudis2010-01-22 00:53:29 +0100106</ul>
107
108<hr />
109
110<h2>Cookbook</h2>
111
112<p>Working as <code>repo</code> user:</p>
113
114<ul>
115<li>All infrastructure is owned by the repo user, and runs as repo (except
116web scripts, suexec is not set up - for now?)</li>
3c34b2b9
DKF
Daniel Knittl-Frank2010-09-14 00:10:13 +0200117<li><em>Always</em> work under the shared screen so others can check out who
118is working on what: <code>screen -x repo/admins</code>, this will get you to
119our shared screen session. jobd (updating mirrors, running gc) and taskd
bcca9413 Daniel Knittl-Frank2010-09-13 23:59:54 +0200120(creating mirrors, push notifications) run in the first two windows. Shells in
3c34b2b9 Daniel Knittl-Frank2010-09-14 00:10:13 +0200121screen are owned by user <code>repo</code></li>.
8c985518
PB
Petr Baudis2010-01-22 00:53:29 +0100122<li>Live copy lives in <code>~/repomgr</code> and <code>~/WWW</code>,
123chroot jail for pushing is in <code>~/j</code>, codebase is in
124<code>~/repo</code>.</li>
d6d98609
DKF
Daniel Knittl-Frank2010-09-14 00:00:18 +0200125<li>Do <em>not</em> work directly in <code>~/repo</code>. If you want to
126edit files, clone <code>Girocco.git</code> and push after committing (and
127verifying) your changes locally.</li>
128<li>To update the live copy, <code>cd ~/repo</code>, <code>git pull</code>
129(should fast-forward), then <code>make install</code>.
8c985518
PB
Petr Baudis2010-01-22 00:53:29 +0100130This will OVERWRITE complete <code>~/repomgr</code>!</li>
131</ul>
132
df3dfe48
PB
Petr Baudis2010-05-05 20:33:16 +0200133<p>New admins checklist:</p>
134
135<ul>
136<li>Make yourself a <code>.forward</code> file so that you receive admin@ mail.</li>
137<li>Add yourself to <a href="/h/admins.html">the admin team page</a>,
138which is also a nice way to get comfortable with our girocco setup.</li>
96f5c8d4
PB
Petr Baudis2010-09-11 20:48:02 +0200139<li>Send a short introduction to admin@repo.or.cz.</li>
140<li>Take a look at the list of TODO items in rorcz branch of girocco. Perhaps you could tackle something right away?</li>
141<li>If you are bored, ask for some ideas! Or perhaps we can bounce to you some requests we did not have time to deal with. Don't be shy!</li>
df3dfe48
PB
Petr Baudis2010-05-05 20:33:16 +0200142<li>Please check periodically that the jobd in screen window 0 is not stuck.</li>
143<li>Try to deal with something from <a href="/w/girocco.git/blob/rorcz:/TODO">the TODO list</a>.</li>
144</ul>
145
8c985518
PB
Petr Baudis2010-01-22 00:53:29 +0100146<p>Removing a project:</p>
147
148<ul>
149<li>Philosophically, I'm not too happy to remove a project unless there's
150a good reason like turning it to a mirror or some consolidation or legal
151reasons (or it's almost empty); I believe in archiving everything. This position
152can change if others disagree.</li>
153<li><code>mv /srv/git/project.git /srv/git-recyclebin/</code> - move forks
154properly within the hierarchy, let pasky know in case of permissions problem
155(ALWAYS remove by mv to recyclebin, never by deleting the directory for good)</li>
156<li><code>vi ~repo/j/etc/group</code>, find the line for the project and
157remove it from the file. Don't keep the file open to avoid races.</li>
158</ul>
159
160<p>Backups: There is a nightly rsync cronjob that backs up metadata to another
161machine (which is now physically in the same building so we should do something
162better long-term). No backlog is kept!</p>
163
164<p>Other things running on the server:</p>
165
166<ul>
167<li>Pasky stores some harmless data on the server. He may run some niced
168computations time by time if he thinks the server is really idle.</li>
169<li>There is a mailman instance running on the server that serves also
170a beekeepers' mailing list.</li>
171<li>The server provides slave DNS services for few domains.</li>
172<li>There is a compendium of RSS-&gt;IRC gateways for couple of Czech news servers.</li>
0577c6d7 Petr Baudis2010-09-11 21:16:03 +0200173<li>A tiny IRC bot + assorted services.</li>
8c985518 Petr Baudis2010-01-22 00:53:29 +0100174</ul>