hello!
so, my goals/hopes for this talk are for us to ...
.. learn about important GNU infrastructure ...
.. and how you can get involved and help :-)
before we get started, though, the scope of this
talk is the virtual machines for the various GNU
services, and not the underlying physical hosts
and their architecture.
let's jump right in, and start with Savannah, at
savannah.gnu.org, also accessible at sv.gnu.org
for a shorter address.
savannah is actually a series of virtual machines,
hosted by the FSF, that work together to provide a
suite of tools that make up the development forge.
savannah is administered primarily by a group of
volunteers called the 'savannah hackers', where
each volunteer works on one or more areas like the
development of the savannah forge software called
'savane', system administration and maintenance of
the savannah family of machines, and reviewing and
processing project registration applications.
the frontend VM, as the name might suggests, runs
the frontend part of savane's code-base, written
in PHP.
the internal VM runs the savannah database,
previously mysql, and these days mariadb.
the download VM hosts the downloads (releases)
area for non-GNU packages (GNU packages' are
hosted to ftp.gnu.org and alpha.gnu.org).
vcs is actually a collection of VMs, namely ...
.. vcs0, which hosts arch, bzr, svn, and hg repos
..
.. vcs1, which hosts cvs repos ...
.. and vcs2, which hosts git repos.
the nfs VM, as the name suggests, is the NFS
server that hosts the savannah data/files over the
network, which the other VMs use. it's incredibly
useful because it enables to iterate over and
rotate/upgrade VMs regularly with ease, without
worrying about migrating the data each time.
the mgt VM is our 'gold' server. it's the host
savannah hackers usually connect to first, and
jump into the other VMs from there. it acts as
somewhat of a glue for tying some parts of the
service together with a couple of scripts and
cronjobs, and is also the primary name server for
savannah.gnu.org and savannah.nongnu.org.
the lists VM currently runs the GNU mailman2
mailing list software, and uses MHonArc for
providing HTML archives of public lists (and
mailman2's own archiver for private lists).
it is administered primarily by the FSF sysadmins,
with the listhelper folks also having [limited]
access.
the listhelper folks are the first line of defence
against incoming spam on @gnu.org and @nongnu.org
mailman lists. they are a group of volunteers
that review incoming messages for *all* of the
mailing lists hosted on the lists VM, approving
legitimate messages and dropping spam ones.
we all owe a great debt of gratitude to the
listhelper folks for their continuous work on
keeping spam and junk out of GNU and non-GNU
mailing lists.
the Debbugs VM, named after the software it runs,
originally written for and used by the Debian
Project, is the GNU bug tracker used by various
GNU packages such as GNU Emacs and GNU coreutils.
the service is maintained and its machine
administered by a very small group of volunteers.
areas for improvement include bringing in or
migrating to newer versions of Debbugs that's been
in use on Debian's instance, bringing some highly
requested enhancements and new features to GNU's
instance of Debbugs.
fencepost is the GNU Project's general login
server that's available to GNU maintainers,
webmasters, and some other GNU volunteers.
people with accounts on fencepost have @gnu.org
addresses, and can define @gnu.org aliases within
reason.
fencepost is administered by the FSF sysadmins.
eggs is the primary MTA (mail server) for gnu.org.
incoming mail for @gnu.org (and @nongnu.org)
addresses arrive at eggs first, and are then
routed to the right destination host depending on
whether the destination is a mailman list,
a fencepost account or alias, and so on.
eggs is administered by the FSF sysadmins.
planet is the web feed aggregator of development
blogs and news from the GNU Project. it features
posts and articles from the blogs and websites of
several GNU hackers, some GNU packages, and the
news feed of all GNU packages hosted on savannah.
it is administered by myself and Jason Self, and
GNU webmasters have indirect access and can add
feeds or remove them from it.
the planet was historically hosted by a group of
GNU volunteers (shout out to Sylvain Beucler),
but we arranged it to be transferred to FSF infra
when the last group were no longer able to host
it. it currently runs the planet venus software
written in python2, which is problematic because
it's been unmaintained for years now, and Debian
and its derivatives have dropped their python2
packages and even in its current form the planet
was set up and installed using a series of hacks.
i have been looking for alternatives to the planet
venus software. so far, ikiwiki's 'aggregate'
plugin looks promising, and i'm hoping to spend
some time setting up and experimenting with it,
and if it's a viable replacement work on migrating
planet GNU to it.
the main GNU website at www.gnu.org is hosted on
the wildebeest VM. it is administered primarily
by the FSF sysadmins, and GNU webmasters don't
have direct access to it. instead they update
GNU's web pages in the www CVS repo, a copy of
which is regularly updated on the wildebeest VM.
let's close with a sneak-peak at some upcoming
services and infrastructure currently in the works
or being planned!
the maintainers and developers of several GNU
packages have expressed interest in a hosted
instance of sourcehut for the GNU Project.
sourcehut is a modern software forge with a
no-nonsense approach to its design and features,
featuring a minimalist and distraction-free design
and collaboration workflows based on both email
and the web. sourcehut offers some features
currently not available in savannah, that would
make for a nice compliment to savannah.
note that there are no plans to deprecate savannah
with the introduction of a hosted sourcehut for
GNU. in fact, our plan is to extend sourcehut's
authentication mechanisms and add support for
registering and logging in through savannah,
so that people could register and log into GNU's
sourcehut using their existing savannah account.
the main services currently offered by sourcehut
include git and mercurial hosting, mailing lists,
task trackers, documentation wikis, builds and
continuous integration, and a paste service for
ad-hoc hosting of often-short-lived text files.
we are also planning on setting up a public-inbox
instance for GNU and non-GNU list archives.
public-inbox takes an archives-first approach to
mailing lists. it can be used standalone, or with
other mail server software. public-inbox stores
emails in git, and allows readers to obtain list
archives via git, nntp, imap, pop3, atom feeds,
and html.
if you're interested in helping out with these
upcoming projects, or indeed any of the existing
projects or services i mentioned earlier, please
email me with your areas of interest and what
you'd like to work on, and we'll go from there!
thanks!
i'd be happy to take questions if there are any.
[email protected]
kelar.org/~bandali
https://kelar.org/~bandali/talks/gnu40-infra.html
gopher://kelar.org/0/~bandali/talks/gnu40-infra.txt
marked with CC0 and dedicated to the public domain
Local Variables:
fill-column: 50
End: