Skip to main content
Version: v3.9.0

Registries

A registry is a pull endpoint stored on the Controller. The type is oci for a container registry, or hf for a Hugging Face hub. Catalog items, models, knowledge artifacts, and microservice images refer to that row by numeric id.

The short map is Registries and catalog. Fields are on Registry fields.

Built-in aliases already exist:

AliasIdUse
remote1Default online pulls.
local2Images loaded on the node, including offline images.

A Controller kind: Registry is the fleet pull record. The Edgelet host registry (edgelet.iofog.org/v1) is the engine manifest. See Manifests.

When to use it​

Add a registry when images or artifacts come from a host other than the built-in remote row, or when a private registry needs credentials. Public pulls can keep using remote.

Deploy the registry before any catalog item, model, or knowledge object that uses a new id. A later file can use that id after get registries. Aliases remote and local are valid in the same file.

A private control plane package can also create a registry row during control plane deploy. Skip a second kind: Registry for that same URL unless you intend to manage the row yourself.

What deploy does​

potctl deploy -f registry.yaml -n my-ecn

deploy sends JSON to the Controller. There is no apply.

spec.idResult
Omitted or 0Create. The Controller assigns the id.
Greater than 0Update that id.

metadata.name is optional. The Controller key is the id plus the URL.

registry.yaml
apiVersion: datasance.com/v3
kind: Registry
metadata:
namespace: my-ecn
spec:
url: https://registry.example.com
type: oci
private: false

To change a row, run get registries, set spec.id to that id, and deploy the file again. Keep the URL and credentials you still want. A URL change can fail when catalog items or fleet artifacts still use that id.

A new registry and a model in one session need two steps. Deploy the registry, read the id, then set spec.registryId or spec.registry on the model. The id is unknown until get registries returns.

How a microservice uses it​

A microservice sets images.registry to remote, local, or a numeric id. A catalog item sets spec.registry the same way, and the microservice then uses images.catalogId. Image field shapes are on Microservice fields.

CLI​

potctl get registries -n my-ecn
potctl describe registry 3 -n my-ecn
potctl delete registry 3 -n my-ecn

describe registry and delete registry take the numeric id. Describe prints password. Treat that file as a secret. There is no attach for a registry.

Delete can fail while microservices or catalog rows still reference the id.

Console​

Config → Registries lists rows and edits credentials. See Catalog and templates.

Group 3See anything wrong with the document? Help us improve it!