Files
is-a-dev/docs/domains-json.md
2021-09-06 17:01:46 +05:30

2.2 KiB

Domains json file

The way you register your own domain name is through a pull request. To register my-domain.is-a.dev, you need to create a domains/my-domain.json file

Filename

The file name must pass the following criteria -

  • Must be alpha-numeric in lowercase with dashes as seperators
  • Must be more than 2 characters long
  • Must have a .json file extension

The file needs to have the following fields -

owner (required)

You need to specify some information about yourself here. This is so that you can be contacted if required.

In the owner object, the fields username and email are required. You can however add more information in this object if you need.

{
  "owner": {
    "username": "github-username",
    "email": "any@email"
  }
}

If you don't wish to share your email address here, please share your twitter or any other social media account.

{
  "owner": {
    "username": "github-username",
    "email": "",
    "twitter": "twitter-handle"
  }
}

description

Describe your domain name and your usage. This is purely for documentation purpose and is optional.

repo

This is a link to your website repository or your github account. This is purely for documentation purpose and is optional.

record (required)

This is where you specify the DNS records you wish to use.

The supported record types are: CNAME, A, URL, MX and TXT

Here's a few different use cases for the given record types -

  • CNAME CNAME must be a host name (Eg - something.tld). CNAME cannot be used in conjunction with any other record types.
{
  "record": {
    "CNAME": "username.github.io"
  }
}
  • A record A record must be a list of ips
{
  "record": {
    "A": [
      "999.999.991.999",
      "999.999.992.999",
      "999.999.993.999",
      "999.999.994.999"
    ]
  }
}
  • URL redirection
{
  "record": {
    "URL": "https://my-other-website.com"
  }
}
  • MX MX must be a list of host names
{
  "record": {
    "MX": [
      "mx1.improvmx.com",
      "mx2.improvmx.com"
    ]
  }
}
  • TXT TXT can be any string value
{
  "record": {
    "TXT": "hello world"
  }
}