Difference between revisions of "ProjectInfrastructure"

From RackTables Wiki
Jump to navigation Jump to search
m (→‎Statistics: Google Analytics was retired three years ago.)
(→‎git mirrors (code): git.racktables.org replaces code.racktables.org)
 
Line 17: Line 17:
  
 
=== git mirrors (code) ===
 
=== git mirrors (code) ===
The [https://code.racktables.org/ git mirror server] exists to provide backups in case github.com goes kaput. The most up to date copies are available through both a web-interface (gitweb) and git clone URLs, for example:
+
The [https://git.racktables.org/ git mirror server] exists to provide backups in case github.com goes kaput. The most up to date copies are available through both a web-interface (gitweb) and git clone URLs, for example:
  git clone https://code.racktables.org/racktables
+
  git clone https://git.racktables.org/racktables
 
  Cloning into 'racktables'...
 
  Cloning into 'racktables'...
 
The server synchronizes each repository both hourly and after a new commit appears on github.com (via a webhook). It also keeps up to 90 days of backups for every repository.
 
The server synchronizes each repository both hourly and after a new commit appears on github.com (via a webhook). It also keeps up to 90 days of backups for every repository.

Latest revision as of 19:53, 25 February 2024

Mapping of assets

DNS

racktables.org domain is currently registered through GoDaddy, which also provides 2 free nameservers. Aaron manages the domain.

racktables.org mail

racktables.org mail is handled by zohomail.com. Zoho Mail offers free service for up to three e-mail addresses. Two mailing lists exist, "devteam" and "info", which are setup to forward all messages to every development team member.

racktables-users mail

FreeLists is a great free service without accompanying advertisements. The only drawback about it is that it is non-profit and can go down some day, hence make sure the list of subscribers is present in a recent backup tarball.

To manage the mailing list, go to this page and use the form to the left. Input your email subscribed to the list. If you don't remember your password, log in with an empty password, in this case the system will email you a one-time token to input on the next screen. Once logged in, you will see a very long SELECT with all lists of FreeLists. Click on the SELECT and press "r" to get to items starting with R. Select racktables-users and press "Select list" below. On the next screen press "Admin Menu". To manage individual subscribers, select one on the "Current List Users" SELECT and press "User Options". VACATION, MODPOST and NOPOST are the most frequently used flags, their meaning is explained inline.

Please think twice before changing any of the list-wide settings on the "Edit List Config" menu, these settings influence all subscribers of racktables-users.

Most web-sites (demo, bugs, wiki, www)

Arnaud Launay is the server administrator. To get SSH access there, be a team member and find someone who already has access.

git mirrors (code)

The git mirror server exists to provide backups in case github.com goes kaput. The most up to date copies are available through both a web-interface (gitweb) and git clone URLs, for example:

git clone https://git.racktables.org/racktables
Cloning into 'racktables'...

The server synchronizes each repository both hourly and after a new commit appears on github.com (via a webhook). It also keeps up to 90 days of backups for every repository.

This cannot be hosted with the other servers because the git mirror server notifies the MantisBT server so the source control integration fetches new changes into its database. However, the TCP connection does not establish within the same network, it needs to originate from outside.

Statistics

SF download stats work for the downloads. Google analytics was used in the past for racktables.org and demo.racktables.org, but was removed in 2019.

downloads

SourceForge project FRS (File Release System, a CDN of sorts).


Backup procedure

the backup directory

mkdir RackTables-project-backup-`date +%Y%m%d`
cd RackTables-project-backup-`date +%Y%m%d`

racktables-users mailing list

Send an empty email with subject "who racktables-users" to ecartis@freelists.org and you will get a list of all subscribers. Save it to the backup directory as "racktables-users.txt".

Git repositories

git clone --mirror git://github.com/RackTables/racktables.git racktables.git
git clone --mirror git://github.com/RackTables/racktables-contribs.git racktables-contribs.git

Bug tracker, wiki data, www

SSH into the host and create a new backup directory.

mkdir ~/RackTables-apps-backup
cd ~/RackTables-apps-backup

Copy the applications into the backup directory on the server. This is important because they contain uploaded files and configuration settings.

tar czf bugs.tar.gz ~/www/bugs
tar czf wiki.tar.gz ~/www/wiki
tar czf www.tar.gz ~/www/www

Export the database for each application.

mysqldump -u <username> -p <dbname> > bugs.sql
mysqldump -u <username> -p <dbname> > wiki.sql

SCP the remote server directory to the local backup directory, then remove it from the server.

Final check

Now the backup directory must have these files/directories:

  • racktables.git
  • racktables-contribs.git
  • racktables-users.txt
  • RackTables-apps-backup
    • wiki.tar.gz
    • wiki.sql
    • bugs.tar.gz
    • bugs.sql
    • www.tar.gz

SAVE THE BACKUP FOLDER TO A SAFE PLACE