Documentation
Raw Domains
Usually garnix servers are reached through a proxy. The proxy does a lot of things:
- Route requests based on branch or PR domains such as myServer.branch.repo.org.garnix.me to the right server.
- Atomically switches this domain to point to a new deployment (if it succeded).
- Resolves CNAMEs that point to these domains.
- Automatically generate TLS certificates for your domain.
But because it is a proxy, certain things don't work as you might expect:
- Other ports besides 443 and 80 are not accessible
- Protocols like SSH, which don't have a server name indication, won't work.
- Apex domains cannot be routed.
If these limitations are significant to you, you can also use raw domains. These change in only having a raw.garnix.me ending (instead of just garnix.me) - for example myServer.branch.repo.org.raw.garnix.me`. Raw domains are not proxied, but instead have DNS records that point straight to your machine's IP address.
Note that because of how they are implemented, these domains are not updated atomically, and there may be some time after deployment when the records still resolve to your old machine, which may be shutting down. (This does not apply to persistent servers, which remain the same physical server across deployments and have stable IP addresses.) You also must manage TLS certificates yourself.