Custom domains
-
Prove you control the domain. Add one of these DNS records:
- A
CNAMEfrom your domain to<vm>.turm.dev. This also routes traffic. - For an apex domain that can’t hold a CNAME: a
TXTrecord at_agentcloud-challenge.<domain>with the valueagentcloud-verify=<token>.domain addtells you the token. Point the domain’s A/AAAA records at the Turm edge.
- A
-
Bind it to the VM.
Terminal window ssh turm.dev domain add demo www.example.com -
Open it. The certificate is issued automatically on the first HTTPS request.
Manage domains with:
ssh turm.dev domain lsssh turm.dev domain rm www.example.comIf domain add says another account bound the domain before (for example, you bought
the domain), add the TXT record it prints. After that the domain is yours, and you
can move it between your VMs with the CNAME alone.
Wildcard domains
Section titled “Wildcard domains”A wildcard sends <vm>.example.com to your VM called <vm>, for every VM you have
now or create later. You prove control of example.com once.
-
Claim it.
Terminal window ssh turm.dev domain add --wildcard example.comIf the TXT record below is not in DNS yet, the claim is stored as
pendingand the output shows the record. A pending claim routes nothing. -
Add the DNS records.
TXTat_agentcloud-challenge.example.comwith the valueagentcloud-verify=<token>from the output. Keep it: see the note below.*.example.compointing at the edge: aCNAMEtoturm.dev, or the edge’s A/AAAA records.
-
Verify.
Terminal window ssh turm.dev domain verify example.com -
Open
https://demo.example.com. The certificate for each name is issued on its first HTTPS request.
How names are matched:
- Only one label:
demo.example.comroutes to your VMdemo.a.demo.example.comandexample.comitself do not route (bind the apex withdomain add <vm> example.com). - Only your VMs. A name that is not one of your VMs gets a 404 and no certificate, even if another account has a VM of that name.
- A domain bound with
domain add <vm> <domain>wins over the wildcard for that name. - VM names are unique across Turm, so the label is your VM’s name as
lsshows it.
ssh turm.dev domain ls # wildcards show as *.example.com, verified or pendingssh turm.dev domain rm '*.example.com'Limits: 5 wildcard domains per account (pending ones count). Certificates for custom names share the edge’s issuance limits: 3 per name per week and 10 per hour for the whole edge, and a failed name is not retried for 10 minutes.