The following document outlines the steps to deploy your own devfile registry on Kubernetes.
It’s recommended that you read xref:setting-up-registry.adoc first, to understand how to build your own devfile registry image.
Note: At this time, due to devfile/api#388, if you do not have publicly signed certificates for your cluster, you must disable TLS for the devfile registry to use the devfile registry with odo.
If you have Operator Lifecycle Manager (OLM) installed on your cluster, the recommended way to install a devfile registry is to use the devfile-registry operator.
For information on installing OLM on your Kubernetes cluster, please consult the OLM QuickStart Guide
-
Download and install the operator-sdk CLI from https://mirror.openshift.com/pub/openshift-v4/clients/operator-sdk/latest/
-
Run the
operator-sdk run bundle quay.io/devfile/registry-operator-bundle:next
command.-
At the present moment, since the Devfile Registry operator is not onboarded to OperatorHub, the operator-sdk CLI must be used to install the operator
-
-
Once the operator is installed, you can than proceed to create
DevfileRegistry
resources on your cluster
Once the Devfile Registry Operator is installed, you can easily deploy devfile registries by doing the following:
Installing the devfile registry via the devfile registry operator on an OpenShift cluster can be done in one easy command:
$ cat <<EOF | oc apply -f -
apiVersion: registry.devfile.io/v1alpha1
kind: DevfileRegistry
metadata:
name: devfile-registry
spec:
devfileIndexImage: quay.io/devfile/devfile-index:next
EOF
If you are deploying your own devfile registry, change the devfileIndexImage
field to the container image that was built in setting-up-registry.adoc
Installing the devfile registry on a Kubernetes cluster is similar, but requires setting the k8s.ingressDomain field first.
$ export INGRESS_DOMAIN=<my-ingress-domain>
Followed by:
$ cat <<EOF | kubectl apply -f -
apiVersion: registry.devfile.io/v1alpha1
kind: DevfileRegistry
metadata:
name: devfile-registry
spec:
devfileIndexImage: quay.io/devfile/devfile-index:next
tls:
enabled: false
k8s:
ingressDomain: $INGRESS_DOMAIN
EOF
If you are deploying your own devfile registry, change the devfileIndexImage
field to the container image that was built in setting-up-registry.adoc
If Operator Lifecycle Manager (OLM) is not installed on your Kubernetes cluster, the Devfile Registry Helm Chart is an alternative to using the Devfile Registry operator.
To install the devfile registry Helm chart:
-
Run the
git clone https://github.com/devfile/registry-support
to clone the repository containing the Helm chart -
Navigate to the
deploy/chart/devfile-registry
folder. -
Open the
values.yaml
file in an editor and make the following changes-
Set
devfileIndex.image
to the image containing your devfile stacks. -
Set
devfileIndex.tag
to the image tag for your devfile index image. -
If installing on Kubernetes, set
global.ingress.domain
to your cluster’s ingress domain. -
If installing on OpenShift, set
global.isOpenShift
to true.
-
-
Run the
helm install devfile-registry ./
command to install the Helm chart.
For more information on the Devfile Registry Helm chart, consult its readme.