ADR 0031 - Naming scheme for Servala cluster names and URLs
Author |
Nicolas Bigler |
---|---|
Owner |
Schedar |
Reviewers |
|
Date Created |
2025-04-11 |
Date Updated |
2025-04-11 |
Status |
draft |
Tags |
servala,naming,scheme,cluster |
Summary
With the launch of Servala we will have multiple clusters running on different cloud providers and on different regions. To ensure consistency and ease of management, it is important to establish a naming scheme for these clusters. This ADR outlines the proposed naming scheme for Servala cluster names and URLs. |
Context
Cluster names
We have two different kind of clusters for Servala: * Control-plane clusters: Those run Crossplane and contain all the Crossplane resources like functions, composites, api-server etc. * Service clusters: Those run the workloads that are managed by Crossplane.
To properly distinguish and identify each cluster, the cluster name should contain the following information:
* The CSP where the cluster is running: Cloudscale, Exoscale, etc.
* The region where the cluster is running: ch-gva-2
, lpg1
, etc.
* The type of cluster: control
or service
* The stage of the cluster: test
, prod
* A counter for each cluster to ensure uniqueness.
Lieutenant already gives us part of the naming scheme. Each cluster should be prefixed with c-
followed by the tenant, so that it’s easy for users to identify which tenant owns the cluster.
Decision
Cluster names
Putting all the information above together we propose the following naming scheme for Servala cluster names:
c-servala-[TYPE]-[CSP]-[REGION]-[STAGE][COUNTER]
- TYPE
-
The type of the cluster.
control
orservice
- CSP
-
The CSP where the cluster is running. cloudscale, exoscale, etc.
- REGION
-
The region on the CSP where the cluster is running.
ch-gva-2
,lpg1
, etc. Use the same naming as the CSP. - STAGE
-
The stage of the cluster.
test
,prod
, etc - COUNTER
-
A unique counter for each cluster
Examples:
-
First production control-plane cluster running on Cloudscale in the lpg1 zone:
c-servala-control-cloudscale-lpg1-prod1
-
Second test service cluster running on Exoscale in the ch-gva-2 region:
c-servala-service-exoscale-ch-gva-2-test2
URLs
We have a dedicated domain for servala clusters: servala.com and will use that domain for all clusters
The control-plane clusters API should be reachable under the following URL: api.[csp]-[region]-[stage][counter].control.servala.com
The apps domain for the services should be: *.apps.[csp]-[region]-[stage][counter].servala.com
Examples:
-
First production control-plane cluster running on Cloudscale in the lpg1 region:
api.cloudscale-lpg1-prod1.control.servala.com
-
Second test service cluster running on Exoscale in the ch-gva-2 region:
api.exoscale-ch-gva-2-test2.control.servala.com