https://github.com/hackclub/dns
🕹 Manage Hack Club's DNS through a GitHub repository
https://github.com/hackclub/dns
hackclub octodns
Last synced: 6 months ago
JSON representation
🕹 Manage Hack Club's DNS through a GitHub repository
- Host: GitHub
- URL: https://github.com/hackclub/dns
- Owner: hackclub
- Created: 2018-02-26T19:14:44.000Z (over 7 years ago)
- Default Branch: main
- Last Pushed: 2025-04-23T13:34:24.000Z (6 months ago)
- Last Synced: 2025-04-23T16:04:34.404Z (6 months ago)
- Topics: hackclub, octodns
- Language: YAML
- Homepage:
- Size: 1.67 MB
- Stars: 165
- Watchers: 18
- Forks: 432
- Open Issues: 19
-
Metadata Files:
- Readme: README.md
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
- awesome-starred - hackclub/dns - 🕹 Manage Hack Club's DNS through a GitHub repository (others)
README
# Hack Club's DNS
[](https://github.com/hackclub/dns/actions?query=workflow%3Atest)
[](https://github.com/hackclub/dns/actions?query=workflow%3Adeploy)This repository is used for managing Hack Club's DNS configuration through [OctoDNS](https://github.com/github/octodns). Please see its documentation for more information.
## Adding a subdomain
1. [Create a fork](https://docs.github.com/en/free-pro-team@latest/github/getting-started-with-github/fork-a-repo) of this repository.
2. In your fork open the [hackclub.com.yaml](./hackclub.com.yaml) file and add the following alphabetically based off the subdomain name:```yaml
SUBDOMAIN_NAME:
- ttl: 600
type: CNAME
value: SOURCE_DOMAIN_OR_IP.
```3. Replace `SUBDOMAIN_NAME` with the name of the sub-domain. So if the name was `hello` then the subdomain would be `hello.hackclub.com`.
4. Replace `SOURCE_DOMAIN_OR_IP` with the domain or IP address of the website you want the subdomain to go. If you are using an IP address change `type: CNAME` to `type: A`. Remember to leave that `.` at the end!
5. Commit your changes and [create the PR](https://docs.github.com/en/free-pro-team@latest/github/collaborating-with-issues-and-pull-requests/creating-a-pull-request-from-a-fork)!That's it! Someone with contributor access to the repo will then review your PR.
If you're asked to make any changes to your pull request, please amend it by commiting to your fork, instead of closing it and creating another.
### Replacing a `CNAME` record with another record type
The CNAME record cannot coexist with other record types, which may require you to change to an `ALIAS` or `A` record type if you need additional DNS records on your subdomain. Due to a bug in OctoDNS, removing a CNAME may result in deploying your changes breaking. You might encounter this when trying to use both Vercel and email/Google Workspace on the same subdomain.
To fix this, follow these steps, each in a seperate PR:
1. Make a PR that deletes all records on your subdomain (ex: [#1642](https://github.com/hackclub/dns/pull/1642)).
2. Make another PR that adds the additional records needed, replacing the `CNAME` with the other record that you want (oftentimes `ALIAS`) (ex: [#1643](https://github.com/hackclub/dns/pull/1643)).
3. Make it clear to the person reviewing your PRs that the first PR must be merged before the second one.## Limitations
Subdomains, under domains following the format `hackclub.xxx`(or other domains reffering to hackclub), are only available for clubs and projects related to Hack Club, this does not include HCB projects. Everyone is welcome to use `dino.icu`!
When adding a site hosted on â–² Vercel, you will need to verifiy the domain by adding a TXT record.
Add the value to the [hackclub.com.yaml](./hackclub.com.yaml) file as shown below:
```yaml
_vercel:
ttl: 600
type: TXT
values:
- vc-domain-verify=wackclub.hackclub.com,423c28e0fbdd51449cf1
```