Skip to content

Miren-managed DNS #3

Description

@phinze

Today, any cluster that is registered with miren.cloud gets a set of DNS records in the miren.systems domain. This aids in initial usability of the cluster and provides a stable way for users to refer to their clusters.

The DNS records under miren.systems are autogenerated from the cluster and organization IDs, and are not designed to be used to address apps long term.

Today, you can point DNS records at your cluster manually, but we'd like to eliminate that work by adding several DNS-related features:

  1. User-claimed subdomains - This works similar to other providers like Heroku, Render, etc. In this model, we'll provide a subdomain like "miren.app" and users can claim a subdomain such as "myshop.miren.app" and associate it with one of their clusters. That new subdomain is much more memorable and users are free to give that out to whomever.

  2. Miren-managed Nameservers - For users that already have a domain and want us to manage the DNS records for it and point them at their cluster, they'll be able to do that. There will likely be a few flavors of this. Users who want us to manage DNS records for them will be able to delegate a subdomain or top level domain.

  3. Miren-managed Domain Registration - Since we're managing DNS records for folks, we'll go all the way and let you buy a domain directly in Miren Cloud and we'll manage it for you. This will include the ability to claim the domain and transfer it to another provider, should you need to do that.

  4. Integration with global load balancer (Global load balancer #2) - Thus far, we've been talking about point DNS records at IP addresses that allow traffic to flow directly to a specific cluster. With the introduction of the global load balancer, rather than pointing DNS records at a specific cluster we'll be able to point DNS at our global load balancer. This allows for a much higher degree of flexibility, as the global load balancer unlocks a number of features such as the ability to communicate with nodes behind NAT.

Current (auto-generated or manual DNS):

graph LR
    subgraph "DNS Options"
        D1[abc123xyz.miren.systems]
        D2[shop.example.com]
    end

    D1 -->|auto-generated| C[Cluster]
    D2 -->|manually configured| C
Loading

After (Miren-managed DNS):

graph TB
    subgraph "Claimed Subdomain"
        D1[myshop.miren.app]
    end

    subgraph "Miren-managed Nameservers"
        D2[shop.example.com]
    end

    subgraph "Miren-managed Domain Registration"
        D3[newbrand.com]
    end

    D1 --> R{Route to}
    D2 --> R
    D3 --> R

    R -->|single cluster| C1[Cluster]
    R -->|global load balancer| GLB[Global Load Balancer]

    GLB --> C2[Cluster A]
    GLB --> C3[Cluster B]
Loading

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Status
    In Progress

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions