Izveidot kontuCreate account
‹ All playbooks
Register a new domain

tech.register-domain·version 1.0.0·accepted

Register a new domain

The company holds the domain in its own name, it resolves on Brain Club nameservers, and it is in the renewal watch.

KasparsInfrastructure Engineerruns itProfile ›
Whenon request — a person asks for a new domain — a new brand, product, campaign or country
Who actsthe agent acts after approval
Time20 min active; up to 24 h for the registry and resolvers
Countryany country
Sign in to run thisThis playbook opens inside Brain Club. Sign in to read and run it.

When to use

A company needs a domain it does not yet hold. Not for a domain the company already holds elsewhere — use tech.move-domain-to-bc. Not for a subdomain (shop.example.lv) — that is a record in the existing zone, and building it as its own zone makes it resolve nowhere.

Before you start

  • The holder is decided: the company's registration number, not a person.
  • The purpose is decided — it changes S6 (mail needs a mailbox and DKIM; a redirect does not).
  • For .lv: the company has a NIC.lv account, or Brain Club registers it as the company's agent.

What a run requires3

  • Approval · S3 · ownerthe run stops until a named person records the decision
  • Approval · S4 · ownerthe run stops until a named person records the decision
  • Irreversible · S4an agent never closes it alone

Any step can wait until a date and reopens by itself; every closed step leaves evidence (a note, a link, a number).

The trail8 steps

  1. Check availability for every candidateagent

    Query the registry for each name and the obvious variants (with/without hyphen, .lv + .com + .eu).

    Done when each candidate has one of: available · taken (holder + expiry) · reserved.

  2. Check conflictsagent

    Search the EU trademark register and the company register for the same or a confusingly similar name in the company's field.

    Done when the result is written next to each candidate, including "none found — searched X, Y on <date>".

    ⛔ "Nothing found" without the places searched is not a check.

  3. Chooseownerneeds approval · owner

    Approval · S3 · owner — the run stops until a named person records the decision

    Present at most three candidates with price per year, conflict result and recommendation.

    Done when the owner has named one name and the holder.

  4. Registeragentneeds approval · ownerirreversible

    Approval · S4 · owner — the run stops until a named person records the decision

    Irreversible · S4 — an agent never closes it alone

    Order the domain with the company as holder, 1–2 years, auto-renew ON, registrant privacy ON where the TLD allows.

    Done when the registrar shows the company as holder and the expiry date is known.

    ⛔ Never register with an employee's personal e-mail as the only contact — use a role address (domains@company).

  5. Serve the zone BEFORE delegatingagent

    bc domains onboard <domain> --tenant <slug> (dry run) → read the plan → --apply.

    Done when all three Brain Club nameservers answer the SOA and the same records.

    ⛔ Delegating first leaves the domain resolving nowhere behind the parent TTL.

  6. Delegateagent

    Point the registration at ns1.brainclub.com, ns2.brainclub.com, ns3.brainclub.com (.lv: bc-niclv set-ns <domain> --to … — it preflights every nameserver and refuses on disagreement).

    Done when the parent servers list our nameservers.

    dig +short NS <d> @a.nic.lv prints nothing even when correct — use bc-niclv verify.

  7. Verify from outsideagent

    Resolve from at least two public resolvers: NS, SOA, A (if a site), MX + SPF + DKIM + DMARC (if mail). Open the placeholder page over HTTPS.

    Done when every answer matches the zone on every nameserver.

  8. Record and hand backagent

    Link the domain to the goal/task it serves; confirm it appears in the domain list with its expiry; send the owner a three-line summary: holder, expiry, what now resolves.

    Done when the domain row shows its expiry and goal link, and the owner has the summary.

Checks — how we know it worked

  • Registrar holder = the company's registration number (read it back from the registrar, not from the order form).
  • Auto-renew = on; expiry is in the renewal watch (tech.renew-domain will fire).
  • All nameservers answer the same records (asking whether they answer is not enough).
  • HTTPS certificate is valid for the name.

If it goes wrong

SymptomResponse
Name taken by a squatterDo not negotiate from the company's own mailbox; record the holder and expiry, propose alternatives in S3.
Registry refuses the holder dataCheck the registration number and legal address against the company register; fix, retry once.
Domain resolves for some resolvers onlyOne nameserver answers with a different zone — compare answers per server by IP, fix the odd one, wait out the TTL.
Certificate not issuedDNS not yet visible to the CA; re-run after the parent TTL, never before S7 passes.

What each step leaves behind

  1. S1each candidate has one of: available · taken (holder + expiry) · reserved.
  2. S2the result is written next to each candidate, including "none found — searched X, Y on <date>".
  3. S3the owner has named one name and the holder.
  4. S4the registrar shows the company as holder and the expiry date is known.
  5. S5all three Brain Club nameservers answer the SOA and the same records.
  6. S6the parent servers list our nameservers.
  7. S7every answer matches the zone on every nameserver.
  8. S8the domain row shows its expiry and goal link, and the owner has the summary.

Evidence to keep

Registrar order id · holder as shown by the registrar · expiry date · bc domains onboard run output · S7 resolver answers with timestamp · the owner's choice in S3 (who, when).

How this playbook improves

After every 10 runs ask: how long from ask to resolving, and which step waited longest? Did any S2 check miss a conflict found later? Did any domain lapse or get registered to the wrong holder? A new version changes the step that caused the wait or the miss, and says so in its change note.