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. bandali@gnu.org 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: