Endpoint URL Names
Naming of Hosts and Routes¶
Arda’s Platform Runtime is structured as a hierarchy of Infrastructures, Purposes and Components. Each of these elements has a unique name in the hierarchy.
Infrastructures don’t currently expose any external network interfaces. Purposes define the system-wide names to access functionality and Components define the specific routes that are provisioned in their hosting Purpose based on the Endpoints (Functional Concept) of the modules they host.
The network domains of the arda platform will be:
app.arda.cardsto serve End-user oriented applications.io.arda.cardsandapi.arda.cardsto serve APIs exposing the functionality of Arda’s platform.auth.arda.cardsto host the OAuth2 authorization endpoints.
Each Purpose will define subdomains for each of these domains with their names:
<purpose>.<infrastructure>.app.arda.cards<purpose>.<infrastructure>.io.arda.cards<purpose>.<infrastructure>.api.arda.cards<purpose>.<infrastructure>.auth.arda.cards
In addition, there will be specific names for the main entry points for the platform that hosts the main production system:
live.app.arda.cardslive.io.arda.cardslive.api.arda.cardslive.auth.arda.cards
Purposes will deploy the standard OAuth2.0 Routes to their <purpose>.<infrastructure>.auth.arda.cards subdomain. The OAuth2.0 routes are: TODO: Lookup and learn the standard.
Components, will deploy the UI applications (TBD) and the API Endpoints of the modules that they host. For the API Endpoints, their naming will follow:
https://<purpose>.<infrastructure>.api.arda.cards/<major-version>/<endpoint-name>/<specific-route>
Where:
<major-version>is the SemVer major version of the API definition (not the module or component version).<endpoint-name>is the name of the endpoint in the Functional Viewpoint of the architecture. This should follow the REST naming conventions and standards as much as possible.<specific-route>is the route, as understood in OpenApi Specifications of an HTTP API.