// Module included in the following assemblies:
//
// * rosa_getting_started/rosa-getting-started.adoc
// * rosa_getting_started/rosa-quickstart-guide-ui.adoc
// * osd_getting_started/osd-getting-started.adoc

:_mod-docs-content-type: PROCEDURE
[id="deploy-app_{context}"]
= Deploying an application from the Developer Catalog

ifeval::["{context}" == "rosa-getting-started"]
:getting-started:
endif::[]
ifeval::["{context}" == "rosa-quickstart"]
:quickstart:
endif::[]

[role="_abstract"]
From the {product-title} web console, you can deploy a test application from the Developer Catalog and expose it with a route.

ifndef::quickstart[]
.Prerequisites

* You logged in to the {hybrid-console-url}.
* You created a {product-title} cluster.
* You configured an identity provider for your cluster.
* You added your user account to the configured identity provider.
endif::[]

.Procedure

. Go to the *Cluster List* page in {cluster-manager-url}.

. Click the options icon (&#8942;) next to the cluster you want to view.

. Click *Open console*.

. Your cluster console opens in a new browser window. Log in to your Red{nbsp}Hat account with your configured identity provider credentials.

. In the *Administrator* perspective, select *Home* -> *Projects* -> *Create Project*.

. Enter a name for your project and optionally add a *Display Name* and *Description*.

. Click *Create* to create the project.

. Switch to the *Developer* perspective and select *+Add*. Verify that the selected *Project* is the one that you just created.

. In the *Developer Catalog* dialog, select *All services*.

. In the *Developer Catalog* page, select *Languages* -> *JavaScript* from the menu.

. Click *Node.js*, and then click *Create* to open the *Create Source-to-Image application* page.
+
[NOTE]
====
You might need to click *Clear All Filters* to display the *Node.js* option.
====

. In the *Git* section, click *Try sample*.

. Add a unique name in the *Name* field. The value will be used to name the associated resources.

. Confirm that *Deployment* and *Create a route* are selected.

. Click *Create* to deploy the application. It will take a few minutes for the pods to deploy.

. Optional: Check the status of the pods in the *Topology* pane by selecting your *Node.js* app and reviewing its sidebar. You must wait for the `nodejs` build to complete and for the `nodejs` pod to be in a *Running* state before continuing.

. When the deployment is complete, click the route URL for the application, which has a format similar to the following:
+
----
https://nodejs-<project>.<cluster_name>.<hash>.<region>.openshiftapps.com/
----
+
A new tab in your browser opens with a message similar to the following:
+
----
Welcome to your Node.js application on OpenShift
----

. Optional: Delete the application and clean up the resources that you created:
.. In the *Administrator* perspective, navigate to *Home* -> *Projects*.
.. Click the action menu for your project and select *Delete Project*.

ifeval::["{context}" == "rosa-getting-started"]
:getting-started:
endif::[]
ifeval::["{context}" == "rosa-quickstart"]
:quickstart:
endif::[]
