Skip to content

template deploy / deployFromSpecification: PREBUILT services don't get internal DNS registration #204

@Raymondhou0917

Description

@Raymondhou0917

Bug Description

Services created via template deploy CLI command or deployFromSpecification GraphQL mutation do not get registered in Zeabur's internal DNS (*.zeabur.internal). This means other services in the same project cannot connect to them by hostname.

Only services created via the Dashboard Marketplace get internal DNS registration.

Steps to Reproduce

  1. Create a project on a dedicated server
  2. Deploy PostgreSQL via template deploy:
    npx zeabur@latest template deploy -i=false \
      -f pg-template.yaml --project-id <id>
  3. Deploy a web service that connects to postgresql-xxx.zeabur.internal:5432
  4. Web service fails with getaddrinfo ENOTFOUND postgresql-xxx.zeabur.internal

Expected: Template-deployed services should have internal DNS just like Dashboard Marketplace services
Actual: No internal DNS entry, other services cannot resolve the hostname

Impact

This is a critical issue because:

  • Database services (PostgreSQL, MySQL, Redis) are commonly deployed via templates
  • Without internal DNS, the standard ${SERVICE.VARIABLE} reference pattern doesn't work
  • Users must resort to hardcoding pod IPs (which change on restart)

Workaround

Deploy database services via Dashboard Marketplace instead of CLI template deploy.

Environment

  • CLI version: 0.14.0
  • Dedicated server: Linode_2v (Tokyo)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions