Feature #22551
Updated by Peter Amstutz 18 days ago
https://dev.arvados.org/projects/arvados/wiki/Service_containers
h2. API changes
h3. Containers and container requests
They get two new fields:
|"service"|boolean|does the container represent a long lived service or a once-through batch run?|
|"published_endpoints"|dict|dictionary with keys being the port on the container, and values described below|
published_endpoint values
|"access"|string|"public" or "private". public means unauthenticated connections are allowed. private means you must provide an unscoped Arvados API key for the same user as owns the container|
|"label"|string|text describing the service to be displayed in workbench|
h3. New "link" type
The "hostname" link let us assign friendly, stable names to services. Discussed more in the "controller" section.
|link_class|"hostname"|
|owner_uuid|normal ownership (user or project)|
|name|the hostname to assign to the endpoint. must be a valid DNS name, cannot have invalid characters or dots|
|head_uuid|container request uuid|
|properties|has a single key, "port", e.g. {"port": 80}|
The API server shall have a new unique constraint index on links where link_class=hostname, so that only one link with a given hostname can exist at a time.
h2. Controller changes