Skip to main content
Version: 1.28

Catalog
ScaleEnterpriseSelf-Hosted

The Catalog feature allows admins to pre-configure a list of applications from the Okteto Admin Dashboard. These applications are available to developers in the same Okteto instance when launching a development environment from the UI. By using Catalog entries, developers can quickly deploy their environments without needing to manually configure Okteto manifests or set up environment variables.

This feature allows Okteto administrators to enhance the developer experience by streamlining workflows, making it easier for developers to begin their projects.

Catalog table view
note

If you see a “Read-only” tag next to catalog items in the interface, it means that these items were defined using Custom Resource Definitions (CRDs). Such items cannot be modified through the Admin Dashboard. To make changes, you will need to update the associated CRD directly. For more information, refer to the Managing Catalog Items using CRDs documentation.

Create your Catalog

You have two options for creating and managing Catalog items:

  1. Create Catalog items via the Dashboard or
  2. Create Catalog items using Custom Resource Definitions (CRDs)
info

Only accounts with the administrator role can use this feature.

Create and Manage Catalog Items via the Dashboard

Within the Okteto Dashboard, navigate to Admin -> Catalog under the Cluster Management section. On this page, click the Add Repository button to open the Add Repository form.

Add an application to the Catalog

Completing this form adds an entry to your Catalog, which is basically a pre-defined application configuration that enables a developer to one-click deploy a development environment using that repository and the definition you’ve provided for it.

Fill out as much of the form that makes sense for you. You will see:

Only the Name and Repository URL fields are required. When done, click Save.

Add a repository to the Catalog

Define a Default Branch

The default branch you specify here will be the default branch used when a developer selects this Catalog item to deploy a development environment.

You can specify multiple Catalog entries for the same Repository URL and set a different Default Branch for each one if your use case necessitates that.

Define a Manifest Path

This field should (optionally) point to where your Okteto manifest resides. This provides additional control to provide a smoother experience for developers who deploy a development environment from the Catalog.

Add Environment Variables

You can also (optionally) add Environment Variables to your Catalog entry to standardize how the development environment is deployed. Similar to the Default Branch entry, you could specify multiple catalog entries for the same Repository URL each with different Environment Variables.

Add environment variables to a Catalog repo

Create and Manage Catalog Items via Custom Resource Definitions (CRDs)

You can also manage your catalog using Custom Resource Definitions (CRDs) to configure and manage items programmatically. This approach is particularly useful for teams leveraging GitOps workflows or automating deployments with tools like kubectl. This approach can be useful if you'd like to have a default Catalog on installation.

Using CRDs for catalog items allows you to define configurations as code, which can then be applied to your cluster. Once applied, these catalog items will appear in the Okteto UI, but they cannot be modified through the dashboard. They will be shown with the tag "Read-only." If you prefer to manage Catalog items directly via the UI, you should create them there instead.

For detailed instructions on using CRDs in Okteto, including examples, refer to the Custom Resource Definitions documentation.

Deploy a Dev Environment from your Catalog

Once you’ve defined your Catalog entries, you can navigate to NamespacesDeploy Dev EnvironmentCatalog.

In this section you should see all of the repositories you’ve added (and pre-configured). Select an entry you wish to use and click Deploy.

Deploy a development environment from the Catalog

view a Catalog repo's environment variables