OpenParable
Skip to content
← Back to skills

Domain Attachment

DevOps & Security
domain-attachment

Domain Attachment is an Agent Skill for devops & security published in the nixopus/nixopus repository on GitHub: a SKILL.md instruction file an AI agent can load to do this task.

Domain setup for applications. Preferred path is passing domains at creation time via createProject. Falls back to add_application_domain for post-creation attachment or custom domains.

View on GitHub ↗
QUICK START

How to use this skill

Bring this guide into your coding agent with a prompt tailored to the tool you use.

  1. Open your project in Codex.
  2. Copy and paste the prompt below.
  3. Review files and risks before approving any action.
Prompt to paste
Inspect the Agent Skill at https://github.com/nixopus/nixopus/blob/HEAD/api/skills/domain-attachment/SKILL.md and all supporting files. Report provenance, permissions, scripts, dependencies, and security risks. Propose an exact installation into .agents/skills/domain-attachment, but wait for my approval before writing files or running scripts.

Copying this prompt does not install or run the skill. Review third-party files before use.

Domain Attachment

Preferred: Pass Domain at Creation Time

The fastest path — zero extra tool calls after project creation:

  1. Call generate_random_subdomain to get a subdomain.
  2. Pass domains: ["<subdomain>"] in the createProject call.
  3. Done — the domain is attached at creation, wildcard DNS and TLS are automatic.

Use this path for all standard deploys. Only fall back to the post-creation flow below when adding domains to an existing app or when the user wants a custom domain.

Post-Creation: Auto-Generated Subdomain

If the app already exists and has no domain:

  1. Call generate_random_subdomain.
  2. Call add_application_domain with id (app UUID) and the subdomain.
  3. Done — wildcard DNS and TLS are handled automatically.

Step 4: Custom Domain Setup

If the user wants a custom domain (e.g. app.example.com):

  1. Call create_domain with the domain name.
  2. The response includes DNS setup instructions. Relay them clearly to the user:
    • CNAME record: point the domain to their assigned subdomain.nixopus.ai
    • TXT record: _nixopus-verify.{domain} with the verification value from the response
  3. Tell the user to add both records at their DNS provider (Cloudflare, Namecheap, Route53, GoDaddy, etc.).
  4. After the user confirms DNS is configured, call update_domain with the domain ID to verify.
  5. If verification succeeds, call add_application_domain to attach the domain.
  6. If verification fails:
    • DNS propagation can take minutes to 48 hours depending on the provider.
    • Suggest the user wait and retry, or check their DNS records are correct.
    • For deeper troubleshooting: read_skill("domain-tls-routing").

Common DNS Provider Notes

ProviderPropagationNotes
CloudflareNear-instantDisable orange cloud (proxy) for the CNAME initially so verification passes
Namecheap5-30 minutesUse "CNAME Record" type, host = subdomain part only
Route5360 secondsStandard CNAME + TXT
GoDaddyUp to 48 hoursSlowest propagation

Important

  • Never skip domain attachment — a deployed app without a domain is not reachable.
  • For Compose apps, add_application_domain accepts an optional service_name and port to route to a specific service.