A Devfile Registry is a service that stores and provides devfile stacks to Kubernetes developer tools like [Odo](https://odo.dev/), Eclipse Che and the OpenShift Developer Console. Devfile registries are based on the OCI Specification, and Devfile stacks are stored as OCI-artifacts in the registry.
Each devfile stack corresponds to a specific runtime or framework (such as NodeJS, Quarkus, Wildfly, etc) and contains resources such as a devfile.yaml, logo, outerloop resources, etc. For more information on the structure of a devfile registry, please see registry-structure.adoc.
A devfile registry is composed of two components, a "Devfile Index Server", and an OCI registry server.
The server (and resulting container image) that does the following:
-
Hosts metadata about the stacks and samples in the registry for tools to consume (via the index.json file).
-
Bootstraps the OCI registry with the devfile stacks
-
Provides an API for interacting with the OCi registry, and to retrieve devfile stacks
For more information on the Index server, please see registry-REST-API.adoc.
The devfile stacks in a devfile registry are stored in an OCI-compatible artifact registry, currently based on the reference implementation of an OCI registry.
When a devfile registry is deployed, the stacks belonging to the devfile registry are pushed to the OCI registry as multi-layer artifacts. For more information on the structure of the devfile stacks within the OCI registry, please see registry-structure.adoc
There are multiple types of Devfile registries that are used to provide devfile stacks to tools and users.
This registry is hosted at registry.devfile.io and provides stacks for various community tools to consume. Examples of such stacks include NodeJS, Quarkus, and Open Liberty.
The source repository for the stacks in this devfile registry is located at the devfile/registry repository.
(Not yet available, see devfile/api#320) The devfile registry that hosts Red Hat-specific product stacks, such as JBoss EAP.
Private, on-cluster devfile registries can be configured on your own Kubernetes cluster, deployed using either the Devfile Registry Operator, or the Devfile Registry Helm Chart. These devfile registries can be configured with custom devfile stacks suited to your own or your organization’s needs.
For more information on setting up your own registry, please see setting-up-registry.adoc