An EDA Store Registry is a container registry that contains OCI compliant images of an App. It is where you will upload your full App content and code as a single OCI image.
The manifest.spec.image field will point to the specific App image with a specific tag for each version.
If the registry hosting your App OCI image requires authentication, you must create a Kubernetes secret that contains the credentials to connect to the Registry git repository over HTTPS. This can be done using the following resource where you replace the data with the correct base64 encoded values.
mandatory label
The secrets used by the app catalog or app registry must have the eda.nokia.com/backup: "true" label for the EDA Store to pick them up.
apiVersion:v1kind:Secrettype:Opaquemetadata:name:your-creds# A unique secret namelabels:eda.nokia.com/backup:"true"data:username:<base64(username)># Base64 encoded usernamepassword:<base64(password or token)># Base64 encoded password/token
kubectlapply-f-<<EOFapiVersion: v1kind: Secrettype: Opaquemetadata: name: your-creds # A unique secret name labels: eda.nokia.com/backup: "true"data: username: <base64(username)> # Base64 encoded username password: <base64(password or token)> # Base64 encoded password/tokenEOF
Make sure to give the secret a different name than the Catalog Credentials secret
You can create your own Registry using the following resource. This uses the above created secret as authSecretRef.
apiVersion:appstore.eda.nokia.com/v1kind:Registrymetadata:name:your-registry# name of your registryspec:remoteURL:<url-to-your-registry.com># link to your registryauthSecretRef:your-registry-creds# reference to valid credentials for your registryskipTLSVerify:{true|false}
kubectlapply-f-<<EOFapiVersion: appstore.eda.nokia.com/v1kind: Registrymetadata: name: your-registry # name of your registryspec: remoteURL: <url-to-your-registry.com> # link to your registry authSecretRef: your-registry-creds # reference to valid credentials for your registry skipTLSVerify: {true|false}EOF
If it is not possible to use a registry that is referenced in the manifests of a certain catalog, you can mirror that registry to a local registry and then update the Registry resource in the EDA Kubernetes cluster and update the mirrorUrl to point to the mirror hostname.
Only the hostname/FQDN will be replaced, image repositories and tags are assumed to be the same when using a mirror.
Using Artifactory container registry with Apps using embedded container images#
Artifactory currently doesn't support OCI compliant images with embedded container images. If you are creating an advanced App that uses its own container image, you can not use Artifactory as a registry. An alternative could be to host your own Harbor registry.
Regular MicroPython Apps do not have this limitation, for these Artifactory will work fine.