apiVersion: console.openshift.io/v1
kind: ConsoleQuickStart
metadata:
  name: install-serverless
  annotations:
    include.release.openshift.io/ibm-cloud-managed: 'true'
    include.release.openshift.io/self-managed-high-availability: 'true'
    include.release.openshift.io/single-node-developer: 'true'
spec:
  accessReviewResources:
    - group: operators.coreos.com
      resource: operatorgroups
      verb: list
    - group: packages.operators.coreos.com
      resource: packagemanifests
      verb: list
  displayName: 'Install the OpenShift Serverless Operator'
  durationMinutes: 10
  icon: >-
    data:image/svg+xml;base64,PHN2ZyBpZD0iTGF5ZXJfMSIgZGF0YS1uYW1lPSJMYXllciAxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMDAgMTAwIj48ZGVmcz48c3R5bGU+LmNscy0xe2ZpbGw6I2UwMzQwMDt9LmNscy0ye2ZpbGw6I2NlMmUwMDt9LmNscy0ze2ZpbGw6bm9uZTt9LmNscy00e2ZpbGw6I2ZmZjt9LmNscy01e2ZpbGw6I2RjZGNkYzt9LmNscy02e2ZpbGw6I2FhYTt9PC9zdHlsZT48L2RlZnM+PHRpdGxlPlJlZF9IYXQtT3BlbnNoaWZ0NC1DYXRhbG9nX0ljb25zLVNlcnZlcmxlc3M8L3RpdGxlPjxjaXJjbGUgY2xhc3M9ImNscy0xIiBjeD0iNTAiIGN5PSI1MCIgcj0iNTAiLz48cGF0aCBjbGFzcz0iY2xzLTIiIGQ9Ik04NS4zNiwxNC42NEE1MCw1MCwwLDAsMSwxNC42NCw4NS4zNloiLz48cGF0aCBjbGFzcz0iY2xzLTMiIGQ9Ik00MC41Nyw0Ny40MmEzLjg5LDMuODksMCwxLDAsMy44OCwzLjg4QTMuODksMy44OSwwLDAsMCw0MC41Nyw0Ny40MloiLz48cGF0aCBjbGFzcz0iY2xzLTMiIGQ9Ik0yMS40Miw0Ny40MkEzLjg5LDMuODksMCwxLDAsMjUuMyw1MS4zLDMuODksMy44OSwwLDAsMCwyMS40Miw0Ny40MloiLz48cGF0aCBjbGFzcz0iY2xzLTQiIGQ9Ik01MC4wOSw0OC44NmgtLjE4YTQuMTEsNC4xMSwwLDAsMS0zLjI2LTEuNjMsNy42OSw3LjY5LDAsMCwwLTEyLjE2LDAsNC4xMyw0LjEzLDAsMCwxLTMuMjYsMS42M0gzMWE0LjA5LDQuMDksMCwwLDEtMy4yNS0xLjYzQTcuNjksNy42OSwwLDAsMCwxNCw1MS45M2gwVjY0LjZhMi43OSwyLjc5LDAsMCwwLDIuNzksMi43OWgxNS44TDUxLjM0LDQ4LjY2QTQsNCwwLDAsMSw1MC4wOSw0OC44NloiLz48cGF0aCBjbGFzcz0iY2xzLTUiIGQ9Ik03OC4wNSw0NC4yNWE3LjY1LDcuNjUsMCwwLDAtNS44NSwzQTQuMSw0LjEsMCwwLDEsNjksNDguODZoLS4xOWE0LjEzLDQuMTMsMCwwLDEtMy4yNi0xLjYzLDcuNjksNy42OSwwLDAsMC0xMi4xNiwwLDQuMTYsNC4xNiwwLDAsMS0yLDEuNDNMMzIuNjEsNjcuMzlIODMuMTlBMi43OSwyLjc5LDAsMCwwLDg2LDY0LjZWNTIuMDdBNy43Nyw3Ljc3LDAsMCwwLDc4LjA1LDQ0LjI1WiIvPjxwYXRoIGNsYXNzPSJjbHMtNiIgZD0iTTIxLjEsNjNoMTBhMS44MywxLjgzLDAsMSwwLDAtMy42NmgtMTBhMS44MywxLjgzLDAsMCwwLDAsMy42NloiLz48Y2lyY2xlIGNsYXNzPSJjbHMtNCIgY3g9IjQwLjU3IiBjeT0iMzcuNzMiIHI9IjIuMTUiLz48Y2lyY2xlIGNsYXNzPSJjbHMtNCIgY3g9IjQwLjU3IiBjeT0iMjguMjMiIHI9IjEuMzUiLz48Y2lyY2xlIGNsYXNzPSJjbHMtNCIgY3g9IjU5LjcyIiBjeT0iMjguMjMiIHI9IjEuMzUiLz48Y2lyY2xlIGNsYXNzPSJjbHMtNCIgY3g9IjIxLjQyIiBjeT0iMzcuNzMiIHI9IjIuMTUiLz48Y2lyY2xlIGNsYXNzPSJjbHMtNCIgY3g9IjUwIiBjeT0iNDMuNDUiIHI9IjIuOTMiLz48Y2lyY2xlIGNsYXNzPSJjbHMtNCIgY3g9IjY4Ljg5IiBjeT0iNDMuNDUiIHI9IjIuOTMiLz48Y2lyY2xlIGNsYXNzPSJjbHMtNCIgY3g9IjMxLjA5IiBjeT0iNDMuNDUiIHI9IjIuOTMiLz48Y2lyY2xlIGNsYXNzPSJjbHMtNiIgY3g9Ijc3Ljk0IiBjeT0iNTQuMzEiIHI9IjIuMTUiLz48Y2lyY2xlIGNsYXNzPSJjbHMtNiIgY3g9IjY4LjkxIiBjeT0iNTQuMzEiIHI9IjIuMTUiLz48Y2lyY2xlIGNsYXNzPSJjbHMtNCIgY3g9Ijc3Ljk0IiBjeT0iMzcuNzMiIHI9IjIuMTUiLz48Y2lyY2xlIGNsYXNzPSJjbHMtNCIgY3g9IjU5LjcyIiBjeT0iMzcuNzMiIHI9IjIuMTUiLz48Y2lyY2xlIGNsYXNzPSJjbHMtNCIgY3g9IjUwIiBjeT0iMzMuMSIgcj0iMy4wMSIvPjxjaXJjbGUgY2xhc3M9ImNscy00IiBjeD0iMzEuMDkiIGN5PSIzMy4xIiByPSIzLjAxIi8+PGNpcmNsZSBjbGFzcz0iY2xzLTQiIGN4PSI2OC44OSIgY3k9IjMzLjEiIHI9IjMuMDEiLz48L3N2Zz4=
  description: >-
    Install the OpenShift Serverless Operator to deploy stateless,
    event-trigger-based applications.
  introduction: >-
    Red Hat OpenShift® Serverless lets you run stateless, serverless workloads
    on a single multi-cloud container platform.

    - Serverless reduces the need to manage infrastructure or perform back-end
    development. Scaling is automated, and applications can run on any cloud,
    hybrid, or on-premises environment. 

    - Choosing Serverless means simplicity, portability, and efficiency.

    - Adding OpenShift Serverless to your OpenShift Container Platform cluster is
    quick and easy. This quick start walks you through the process.
  tasks:
    - title: Install the OpenShift Serverless Operator
      description: >
        To install the Serverless Operator:

        1. From the **Administrator** perspective, go to the **OperatorHub**
        from the [Operators]{{highlight qs-nav-operators}} section of the navigation.

        1. In the **Filter by keyword** field, type `Serverless`.

        1. Look for **Red Hat OpenShift Serverless**. If the tile has an
        **Installed** label on it, the Operator is already installed. Proceed to
        task two.

        1. Click the tile to open the side panel.

        1. At the top of the side panel, click **Install**.

        1. Verify that the **OpenShift Serverless Operator Update Channel** is
        set to the latest version, then click **Install**.

        1. Wait for the OpenShift Serverless Operator's status to change from
        **Installing operator** to **Operator installed - Ready for use**.
      review:
        instructions: >-
          Verify that the OpenShift Serverless Operator is installed:

            - In the Status column of the **Installed Operators** page, is the
          OpenShift Serverless Operator’s status **Operator installed - Ready
          for use**?
        failedTaskHelp: >-
          This task is incomplete. Try the task again, or [read
          more](https://docs.openshift.com/container-platform/4.6/serverless/installing_serverless/installing-openshift-serverless.html)
          about this topic.
      summary:
        success: >-
          You just installed the OpenShift Serverless Operator! Next, we'll
          install the required Knative Eventing and Knative Serving Custom
          Resource components for this Operator to run.
        failed: >-
          This task is incomplete. Try the task again, or read more about this
          topic.
    - title: Create the Knative Serving API
      description: >
        Install the Knative Serving application program interface (API) needed
        to support deploying and serving your serverless applications and
        functions.

        ##### To create the Knative Serving API:

        1. In the main navigation menu, click **Operators > Installed
        Operators**.

        1. Click the **Red Hat OpenShift Serverless** Operator.

        1. In the **Project** dropdown menu, select **knative-serving**. If that
        project doesn’t exist, click **Create Project** and complete the process
        to create the knative-serving project.

        1. In the **Provided APIs** column, click **Knative Serving**.

        1. Click **Create Knative Serving**.

        1. Click **Create** to create the custom resource using the default
        settings.
      review:
        instructions: >
          Verify that the Knative Serving API was installed successfully:

            - Under the **Knative Serving** tab, click the **knative-serving**
            custom resource. Scroll down to the **Conditions** section to see a
            list of condition types.

            - Does each condition type have a status of **True**?


          **Note**: If the condition types have a status of **False**, wait a few minutes to allow the Knative Serving resources creation process to complete. You can check the status in the **Resources** tab.

        failedTaskHelp: >-
          This task isn’t verified yet. Try the task again, or [read
          more](https://docs.openshift.com/container-platform/4.6/serverless/installing_serverless/installing-knative-serving.html)
          about this topic.
      summary:
        success: You just created an instance of the Knative Service resource.
        failed: >-
          Check your work to make sure that the Knative Service resource was
          created.
    - title: Create the Knative Eventing API
      description: >
        Install the Knative Eventing application program interface (API) needed
        to create event producers and consumers for your serverless
        applications. 

        ##### To create the Knative Eventing API:

        1. In the main navigation menu, click **Operators > Installed
        Operators**.

        1. Click the **Red Hat OpenShift Serverless** Operator.

        1. In the **Project** dropdown menu, select **knative-eventing**. If that
        project doesn’t exist, click **Create Project** and complete the process
        to create the knative-eventing project.

        1. In the **Provided APIs** column, click **Knative Eventing**. 

        1. Click **Create Knative Eventing**.

        1. Click **Create** to create the custom resource using the default
        settings.
      review:
        instructions: >
          Verify that the Knative Eventing API was installed successfully:

            - Under the **Knative Eventing** tab, click the **knative-eventing** custom
            resource. Scroll down to the **Conditions** section to see a list of
            condition types.

            - Does each condition type have a status of **True**?

          **Note**: If the condition types have a status of **False**, wait a few minutes to allow the Knative Eventing resources creation process to complete. You can check the status in the **Resources** tab.
        failedTaskHelp: >-
          This task isn’t verified yet. Try the task again, or [read
          more](https://docs.openshift.com/container-platform/4.6/serverless/installing_serverless/installing-knative-eventing.html)
          about this topic.
      summary:
        success: You just created an instance of the Knative Eventing resource.
        failed: >-
          Check your work to make sure that the Knative Eventing resource was
          created.
  conclusion: >-
    Your Serverless Operator is ready! If you want to learn how to deploy a
    serverless application, take the **Exploring Serverless applications** quick
    start.
  nextQuickStart:
    - serverless-application
