Discovery API
Host and namespace discovery
Overview
The Discovery API provides information about discovered hosts and namespaces. Discovery is configured via the Helm chart values.yaml file. Each entry defines a namespace with a list of hostnames.
Base URL
https://<manager-host>/api/v1/discovery
Endpoints
GET /api/v1/discovery/hosts
Return discovered hosts grouped by namespace.
Success Response (200):
{
"directors": [
{ "name": "director-1.example.com" }
],
"edge-servers": [
{ "name": "cdn1.example.com" },
{ "name": "cdn2.example.com" }
]
}
Example:
curl -s "https://cdn-manager/api/v1/discovery/hosts"
GET /api/v1/discovery/namespaces
Return discovery namespaces with their corresponding Confd URIs.
Success Response (200):
[
{
"namespace": "edge-servers",
"confd_uri": "/api/v1/confd/edge-servers"
},
{
"namespace": "directors",
"confd_uri": "/api/v1/confd/directors"
}
]
Example:
curl -s "https://cdn-manager/api/v1/discovery/namespaces"
Configuration
Discovery is configured via the Helm chart values.yaml file under manager.discovery:
manager:
discovery:
- namespace: "directors"
hosts:
- director-1.example.com
- director-2.example.com
- namespace: "edge-servers"
hosts:
- cdn1.example.com
- cdn2.example.com
Each entry defines a namespace with a list of hostnames. Optionally, a pattern field can be specified for regex-based host matching.
Next Steps
- Metrics API - Metrics submission and aggregation
- Configuration API - Configuration document management
- OpenAPI Specification - Complete API specification