Application Catalogs

Learn about application catalogs and cloud native applications in Oracle Cloud Native Environment (Oracle CNE).

An application catalog is a searchable collection of software that can be installed into a Kubernetes cluster. Installed catalogs can be searched using both the Oracle CNE Command Line Interface (CLI) and the User Interface (UI).

Catalogs have a straightforward life cycle. They can be added and removed, but not changed.

Two types of application catalogs can be configured within a cluster: an Oracle catalog, and an external community catalog.

An application catalog is set up in two flavors: a Helm repository, and a service that's compatible with Artifact Hub (an external catalog). The Oracle catalog is a Helm repository, while an external catalog typically points to artifacthub.io and is compatible with Artifact Hub.

A Helm-based catalog is a collection of Helm artifacts, namely an index.yaml file, and a set of tarballs. These can be made available and served by any URI that can be read by an Oracle CNE component (the ocne CLI, the UI, and Helm).

An external catalog must be compatible with the Artifact Hub API. In practice, this means the external catalogs are served by an instance of Artifact Hub.

Oracle Catalog

The Oracle catalog is a collection of cloud native application software provided by Oracle. Oracle CNE applications are delivered through the Oracle catalog. The Oracle catalog can be accessed in two ways, either using the embedded version in the CLI, or from a container deployed to a Kubernetes cluster.

The embedded catalog is built into the CLI, and is named embedded. This catalog can be accessed and queried without deploying a Kubernetes cluster.

The Oracle catalog can also be deployed to a cluster, and is named Oracle Cloud Native Environment Application Catalog. The CLI deploys the ocne-catalog container from the Oracle Container Registry to a cluster in the ocne-system namespace. The ocne-catalog container includes a Helm repository, and an instance of NGINX that serves the static content. While the Oracle catalog can be served anywhere that has a container runtime, it's primarily intended to be run within the Kubernetes cluster that consumes its contents.

The embedded Oracle catalog is updated when you update the CLI. The Oracle catalog container image is updated when you update Kubernetes, and isn't tied to CLI releases. This means that the catalog contents might differ.

External Catalogs

External catalogs can be added using the ocne catalog add CLI command. External catalogs are added using a Kubernetes external service resource. An external catalog isn't added to the cluster, instead, it's referenced. The catalog data isn't installed, or served from the cluster. An example of an external catalog is the Artifact Hub catalog. Artifact Hub is a web-based application that provides cloud native packages you can install into a Kubernetes cluster. For more information on Artifact Hub, see:

https://artifacthub.io/