Skip to content

Generated hostnames never report that their DNS record is programmed #458

Description

@0xmc

What needs to happen

Every hostname on a proxy should report the same set of conditions, whether the user brought the name or we generated it. A hostname we generate reports only that it was claimed and that it is covered by a certificate; the condition saying its DNS record has been programmed never appears, even after the name resolves. A user who wrote a wait loop around that condition, straight from our documentation, polled for four minutes against a hostname that had already been resolving for three of them.

Why this matters

This is the documented way to know a proxy is usable, and for the hostname most people get first it never becomes true. Anyone automating a deploy has to discover by experiment that the condition they were told to wait for only exists on custom hostnames, then write two code paths. A closely related timing problem on custom hostnames is tracked in custom hostname programming latency; this one is about the condition being absent altogether.

The same report flagged a second, smaller version of the same issue: the schema says the system may automatically generate a hostname. It always does. Stating that plainly removes a branch an agent otherwise has to test for.

Desired outcome

  • A generated hostname reports whether its DNS record is programmed, on the same condition the documentation tells people to wait for
  • One wait loop works for both generated and user-supplied hostnames
  • If the condition is deliberately not applicable to generated hostnames, the documentation says which condition to wait for instead
  • The hostname field's description states that a hostname is always generated, rather than that one may be

Related to #291

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Fields

Priority

None yet

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions