[GDK-in-a-box] `.local` should not be the default domain
## Background
GDK-in-a-box currently uses `gdk.local` as the default hostname. [^gdk-hostname]
[^gdk-hostname]: https://docs.gitlab.com/development/contributing/first_contribution/configure-dev-env-gdk-in-a-box/
## Problem
The `.local` domain is reserved as a special-use domain for Multicast DNS (mDNS),
and [RFC 6762](https://datatracker.ietf.org/doc/html/rfc6762) defines that fully qualified domain names ending in `.local.`
are treated as link-local names that should be resolved via mDNS.
Apple devices (iOS, iPadOS, and macOS) follow this behavior and special-case `.local` for mDNS resolution.
Apple’s support warns that using `.local` as an internal DNS suffix
can cause issues resolving unicast DNS names. [^apple]
[^apple]: https://support.apple.com/101903
## User impact
In practice, this means that when a user wants to access GDK-in-a-box from other devices on the same LAN,
for example from an iPhone or iPad, defining `gdk.local` as an A record on a local DNS server will not work as expected.
The client OS still treats `.local` as an mDNS-only namespace,
leading to confusing and hard-to-diagnose name resolution failures.
## Proposal
Replace `gdk.local` with `gdk.internal` or `gdk.test` as the default hostname used by GDK-in-a-box.
- **`.internal`**:
`.internal` has been reserved as a top-level domain for private-use applications. [^draft-internal]
[^draft-internal]: https://datatracker.ietf.org/doc/html/draft-davies-internal-tld-06
- **`.test`**:
[RFC 2606](https://datatracker.ietf.org/doc/html/rfc2606
) reserves `.test` as a special-use top-level domain and recommends it for testing DNS-related code and configurations.
`gdk.test` is the standard hostname for referring to the local GDK instance. [^gdk-test]
[^gdk-test]: https://gitlab-org.gitlab.io/gitlab-development-kit/howto/local_network/
If the choice of `gdk.local` was intended to avoid collisions with existing `gdk.test` usage,
then `gdk.internal` might be a better fit as the default hostname.
## Impacted categories
The following categories relate to this issue:
- [x] ~"gdk-reliability" - e.g. When a GDK action fails to complete.
- [~] ~"gdk-usability" - e.g. Improvements or suggestions around how the GDK functions.
- [~] ~"gdk-performance" - e.g. When a GDK action is slow or times out.
issue