[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Savannah-cvs] [135] SavannahInternals: new draft
From: |
Assaf Gordon |
Subject: |
[Savannah-cvs] [135] SavannahInternals: new draft |
Date: |
Thu, 12 Feb 2015 06:14:03 +0000 |
Revision: 135
http://svn.sv.gnu.org/viewvc/?view=rev&root=administration&revision=135
Author: agn
Date: 2015-02-12 06:13:57 +0000 (Thu, 12 Feb 2015)
Log Message:
-----------
SavannahInternals: new draft
Added Paths:
-----------
trunk/sviki/SavannahInternals.mdwn
trunk/sviki/savannah-internals-2015.dia
trunk/sviki/savannah-internals-2015.png
Added: trunk/sviki/SavannahInternals.mdwn
===================================================================
--- trunk/sviki/SavannahInternals.mdwn (rev 0)
+++ trunk/sviki/SavannahInternals.mdwn 2015-02-12 06:13:57 UTC (rev 135)
@@ -0,0 +1,125 @@
+Savannah Internals
+==================
+
+This page describes the inner-working of the GNU Savannah platform
+(web frontend + backend processes).
+
+**NOTE on terminology**
+
+* 'GNU Savannah' (or just 'Savannah') is the name of the entire platform,
+ encompasing the various VMs (see [[SavannahArchitecture]]), services (see
+ [[SavannahServices]]), people (see [[SavannahTeam]]) and other odds and ends.
+* 'Savane' (French for 'savannah') is the code-name for the source code
+ which runs many parts of the savannah platform (most notably: the web
+ frontend at <http://savannah.gnu.org>).
+* While every attempt has been made to use the correct term, they are
+ sometimes used interchangeably in this document, and should be appropriately
+ understood by the context.
+
+## source code
+
+The source code for the php frontend and most of the perl/shell backend
+scripts is available at:
+<http://git.savannah.gnu.org/cgit/administration/savane.git>.
+
+To experiment with running a local copy of Savane see [[RunningSavaneLocally]]
+and [[SavaneInABox]].
+
+**NOTE on repositories**: There are several other repositories/clones/forks
which look like
+the savane repositories (e.g.
+[savane-cleanup](http://git.savannah.gnu.org/cgit/savane-cleanup.git/)
+[another savane.git](http://git.savannah.gnu.org/cgit/savane.git/) ).
+The repository listed above is the only official one, and code running on the
+savannah machines comes from that repository alone.
+
+
+## server setup
+
+savannah uses the following servers:
+
+* `frontend.savannah.gnu.org` - hosts the php frontend code which serves
+ <https://savannah.gnu.org/>
+* `internal.savannah.gnu.org` - hosts the MySQL database containing
+ project and user information.
+* `vcs.savannah.gnu.org` - serves the source code repositories
+ (git/hg/bzr/svn/cvs) and the web-frontends (e.g. gitweb,cgit/viewVC).
+* `download.savannah.gnu.org` - hosts the download/releases for non-gnu
+ projects, and hosts the arch source code repositories (note: GNU arch
+ is decomissioned in favor of BZR).
+* `lists.gnu.org` - hosts the mailing lists for savannah projects.
+
+For detailed information about servers setup see [[SavannahServices]].
+
+## workflow - overview
+
+
+
+[savannah-internals-2015.dia](/maintenance/savannah-internals-2015.dia)
+
+1. Users submit a new project.
+ Savannah administrators approve the project (see [[ApprovingSubmission]]).
+2. Project administrators of existing project can change project settings
+ (e.g. add a mailing list, switch from cvs to git, etc.).
+3. The PHP code on `frontend` updates the MySQL database, and optionally
+ runs one-time project creation scripts.
+4. On `vcs` and `download`, cron jobs regularly query the database for
+ updates, and make the necessary changes (e.g. create a new GIT repository
+ for a new project).
+5. The `cvsweb` repositories hold the HTML files which should be displayed
+ on each project's web page. When these are updated, a special hook
+ calls a CGI script on `www.gnu.org`, and requests a website update.
+6. A cron job on `www.gnu.org` regularly checks for update requests,
+ and `cvs updates` the requested repositories.
+7. Unlike code repositories (which use cron+database access), mailing list
+ creation is performed by `frontend` running a remote command on
+ `lists.gnu.org` using SSH.
+ This is done becuase `lists.gnu.org` is not managed by Savannah
+ administrators.
+8. Publishing a new tarball release for GNU packages is performed by an
+ automated process, explained in the
+ [GNU Maintainer's
guide](https://www.gnu.org/prep/maintain/maintain.html#Automated-FTP-Uploads).
+ It is not managed by Savannah administrators, and only mentioned here for
+ completeness.
+9. GNU Bug Tracker (<http://debbugs.gnu.org>) is based on Debian's
+ [Bug Tracking System](https://www.debian.org/Bugs/). It is not managed
+ by savannah administrators. GNU packages (and other packages hosted on
+ savannah?) can request to join the bug tracker. More information here:
+ <http://debbugs.gnu.org/Using.html>.
+10. For non-gnu projects, project members with write access can upload new
+ files to be availble for download as 'releases' (e.g.
+ <http://download.savannah.gnu.org/releases/freetype/>). While GNU projects
+ can also store files on this server, it is highly recommended for
+ official GNU packages to use GNU's automated ftp uploads (see item 8,
+ above). For details, see 'download' section in [[SavannahServices]].
+ See also [[UserAuthentication]].
+11. Project members with write access can push code to the repositories on
+ `vcs` using SSH. See 'vcs' section in [[SavannahServices]] for
+ configuration details. See [[CvsGettingStarted]],[[Svn]],[[UsingHg]],
+ [[UsingBze]],[[UsingGit]] for usage information.
+ See [[UserAuthentcation]] for SSH authentication details.
+
+
+### Project submission
+
+### Project approval, creation
+
+### Project administration
+
+### MySQL Database
+
+### Cron job on vcs
+
+### Cron jobs on downloads
+
+### www.gnu.org update mechanism
+
+### Mailing list configuration
+
+## Additional functionality
+
+### git hooks on vcs
+
+### cvseweb hooks on vcs
+
+### other scripts on vcs
+
Added: trunk/sviki/savannah-internals-2015.dia
===================================================================
(Binary files differ)
Property changes on: trunk/sviki/savannah-internals-2015.dia
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/sviki/savannah-internals-2015.png
===================================================================
(Binary files differ)
Property changes on: trunk/sviki/savannah-internals-2015.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Savannah-cvs] [135] SavannahInternals: new draft,
Assaf Gordon <=