There are two primary functions of the radgrad.org domain:
- Serve the radgrad.org website.
- Support the use of the firstname.lastname@example.org email address for newsletters.
The tech stack for accomplishing these two tasks is currently somewhat complicated. The goal of this page is to document all the various pieces.
We need a place to hold the source code for the radgrad.org website. The github.com docusaurus2 repository does this for us.
You must be a member of the radgrad github organization with commit privileges to edit the documentation.
We could use GitHub to build and publish the radgrad website as radgrad.github.io. But, this does not allow us to use a custom domain (i.e. radgrad.org) and get https encryption at the same time. So, we use Netlify.
The netlify.com radgrad account performs multiple functions:
- Builds and deploys the radgrad.org site whenever commits are made to the master branch of the github docusaurus repo.
- Provides https via Let's Encrypt.
- Netlify DNS servers are used to manage the radgrad.org domain and provide MX records for email. See the netlify radgrad DNS settings page
You must have login to netlify using the philipmjohnson account. See Philip for details if you need access.
We need a domain name service to define the radgrad.org domain. We use Google Domains for this purpose. See radgrad.org domain name management.
Because we use Netlify to build and publish radgrad.org with https, we have to override the default hostname management provided by Google Domains. First, the default Google DNS servers are disabled; instead, we follow Netlify instructions to tell Google Domains that the Netlify DNS servers will be used. In addition, we set the @ and www resource records according to Netlify instructions.
You must login to Google Domains using the email@example.com account. See Philip for details if you need access.
We need a way to send emails to our users from the RadGrad application. We use MailGun to send emails.
Currently, we appear to have the DKIM and SPF stuff set up for the "mailgun.radgrad.org" domain. So, emails should be sent with a "From" and "Sender" of that domain in order to prevent a mismatch.
Although we don't configure a way to receive emails, it appears that we can send emails with a from field of something like "firstname.lastname@example.org" and things might work fine.
If you need to login to the mailgun account, please see Philip for access.