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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions