Developer Center

Dns

PowerTools configures DNS for one or more of your top level domains.

Root Domains

You must provide at least one root domain for PowerTools to manage. When you signup, you will be prompted for a root domain.

In order for PowerTools to work properly, you must have access to your root domain and able to delegate the nameservers for it (or a subdomain) to your PowerTools managed dns zones on either AWS or GCP.

For instance, if you provide pt.example.com as a root domain during pt signup or pt new --kind=workspace, then your workspace schema will contain:

root_domains:
  - pt.example.com

When you run pt workspace sync, PowerTools will automatically create a dns zone for pt.example.com and will display directions to update your nameservers:

✔ please update pt.example.com to use the following nameservers:
ns-888.awsdns-47.net
ns-18.awsdns-02.com
ns-1177.awsdns-19.org
ns-2038.awsdns-62.co.uk

Once you have gone to your domain registrar and updated your NS records to point at PowerTools, your workspace will be ready to handle DNS for your root domain(s).

You only need to update nameservers once, when you first add a domain to your PowerTools workspace.

When you are first migrating services to PowerTools it is recommended to start with a namespace such as  pt.example.com.

You can add and remove root domains at any time.

Workspace dns records

When you migrate your primary domain(s) to PowerTools, you may need to add some custom dns records. Applications such as Gsuite, Sendgrid and many others rely on Dns records for verification.

Once you have migrated a domain to PowerTools you can add top level dns records in your .powertools/workspace.yml schema:

# workspace.yml
---
...
dns_records:
  - name: url631.example.com
    type: cname
    ttl: 3600
    records:
      - s2.domainkey.ul67.
We do not recommend manually creating Dns records in your PowerTools managed AWS / GCP dns zones.

To avoid downtime, it is recommended to add all records to PowerTools before pointing your nameservers to your PowerTools zones.

Service dns

When you deploy a service to PowerTools, one or more Dns entries are created for your service.

For instance, given a service with a www. route:

# service.yml
---

components:
  - type: static-public
    route: www.example.com

    ...

PowerTools will automatically create a Dns record for www.example.com in your release environment. If you have a testing environment named stage it will create a record such as www.stage.example.com.

You can use pt open to find the url for a service in any environment.

Occasionally, if you look at your managed zones in AWS or GCP for a PowerTools workspace, you may find additional Dns records. These are often used for verification with SSL providers.

Some components use Dns records for SSL verification.