From cdd7ee957b4754fa18dc0c3f2ec3248e5e48a494 Mon Sep 17 00:00:00 2001 From: Gabriel McGoldrick Date: Tue, 4 Oct 2022 15:58:56 +0100 Subject: [PATCH] RHDEVDOCS-4476: key features in odo 3.0 --- .../developer_cli_odo/understanding-odo.adoc | 1 + modules/odo-key-features.adoc | 6 +- modules/odo-new-commands-30.adoc | 68 +++++++++++++++++++ 3 files changed, 72 insertions(+), 3 deletions(-) create mode 100644 modules/odo-new-commands-30.adoc diff --git a/cli_reference/developer_cli_odo/understanding-odo.adoc b/cli_reference/developer_cli_odo/understanding-odo.adoc index d561db309898..ba58e31b3be1 100644 --- a/cli_reference/developer_cli_odo/understanding-odo.adoc +++ b/cli_reference/developer_cli_odo/understanding-odo.adoc @@ -13,6 +13,7 @@ Red Hat OpenShift Developer CLI (`odo`) is a tool for creating applications on { `{odo-title}` uses _service_ and _link_ commands to link components and services together. `{odo-title}` achieves this by creating and deploying services based on Kubernetes Operators in the cluster. Services can be created using any of the Operators available on the Operator Hub. After linking a service, `odo` injects the service configuration into the component. Your application can then use this configuration to communicate with the Operator-backed service. include::modules/odo-key-features.adoc[leveloffset=+1] +include::modules/odo-new-commands-30.adoc[leveloffset=+1] include::modules/odo-core-concepts.adoc[leveloffset=+1] include::modules/odo-listing-components.adoc[leveloffset=+1] include::modules/odo-telemetry.adoc[leveloffset=+1] \ No newline at end of file diff --git a/modules/odo-key-features.adoc b/modules/odo-key-features.adoc index 37deac5bdfcb..972d2f245449 100644 --- a/modules/odo-key-features.adoc +++ b/modules/odo-key-features.adoc @@ -8,11 +8,11 @@ `{odo-title}` is designed to be a developer-friendly interface to Kubernetes, with the ability to: -* Quickly deploy applications on a Kubernetes cluster by creating a new manifest or using an existing one +* Quickly deploy applications on a Kubernetes cluster by creating a new manifest or by using an existing one * Use commands to easily create and update the manifest, without the need to understand and maintain Kubernetes configuration files * Provide secure access to applications running on a Kubernetes cluster * Add and remove additional storage for applications on a Kubernetes cluster * Create Operator-backed services and link your application to them * Create a link between multiple microservices that are deployed as `odo` components -* Remotely debug applications you deployed using `odo` in your IDE -* Easily test applications deployed on Kubernetes using `odo` +* Remotely debug applications you deployed by using `odo` in your IDE +* Easily test applications that are deployed on Kubernetes with `odo` diff --git a/modules/odo-new-commands-30.adoc b/modules/odo-new-commands-30.adoc new file mode 100644 index 000000000000..5bfd638ed77b --- /dev/null +++ b/modules/odo-new-commands-30.adoc @@ -0,0 +1,68 @@ +// Module included in the following assemblies: +// +// * cli_reference/developer_cli_odo/understanding-odo.adoc + +:_content-type: CONCEPT +[id="odo-new-commands-30_{context}"] += Major highlights of odo 3.0 + +`odo` 3.0 includes new commands to improve the developer experience, providing the same functionality as before, but in a faster and more efficient manner. + +== odo init + +The `odo init` command automatically analyzes your directory and, based on the project type, suggests an appropriate Devfile to use. It also provides a better interactive experience for configuring your Devfile according to your project requirement. With this feature, you can set the environment variables exported to your application and the ports exposed by it on the cluster. + +== odo dev + +The `odo dev` command allows you to code, build, run, debug, and test your applications on the cluster in a continuous workflow. It combines the `odo push` and `odo watch` commands from `odo` version 2 into a single command. + +Continuous workflow:: `odo dev` is a non-terminating command that runs until you enter `Ctrl+C`. It continuously watches the directory for any changes (including the changes occurring in the Devfile) and automatically synchronizes them with the application running on the cluster. + +Manual trigger to apply local changes on the cluster:: By default, `odo dev` automatically detects any changes in the directory, and synchronizes with the application running on the cluster. However, it is possible to trigger this manually by running the command with the `--no-watch` flag and pressing `p` to trigger the synchronization. + +Improved watch system:: The `odo dev` command continuously monitors the resources created to run the application on the cluster and ensures that the application always stays running. + +Resource cleanup:: Before exiting, the `odo dev` command cleans up any resources that it created for running the application on the cluster. + +Port forwarding to access the application:: The `odo dev` command uses port-forwarding for application access, making it much faster to access the application. + +== odo add binding + +The `odo add binding` command allows the application to connect to an Operator-backed service and replaces the `odo link` command. + +Interactive mode:: The `odo add binding` command improves the developer experience by providing an interactive mode that lists bindable services in all the namespaces, and a mechanism to personalize related configuration. + +Ability to connect to a service in any namespace:: The `odo add binding` command allows the application to connect to any bindable service in any namespace, not just in the same namespace as the application. + +Run from anywhere:: You can run the `odo add binding` command from anywhere and it does not require access to a Devfile to work. With this method, you can directly create the `ServiceBinding` resource on the cluster, or you can write the YAML to a file, or display it on the command line. + +Work without a running application:: Compared to version 2, the `odo add binding` command does not require the application to be running on the cluster, making it even faster. + +Only supports bindable Operators:: +The version 2 `odo link` command links an application to another application and any Operator-backed service. However, `odo` version 3 currently only supports connecting to services backed by Operators that are considered bindable by the Service Binding Operator. + +Requires the Service Binding Operator:: You must install the Service Binding Operator on the cluster before running the `odo add binding` command. The command relies on the Operator to provide it with a list of bindable services. + +== odo deploy + +The `odo deploy` command allows you to run the outerloop of your development cycle. When your application is running successfully in your local environment, you can use `odo deploy` to move it to the cluster. + +== odo registry + +The `odo registry` command now lists all the Devfiles available in the Devfile registries that you have added to your system. + +Filtering the Devfiles:: The `odo registry` command can filter the list of Devfiles, based on a keyword by using the `--filter` flag, based on a Devfile registry by using the `--devfile-registry` flag, or based on the Devfile name by using the `--devfile` flag. + +Detailed information about the Devfiles:: The `odo registry` command can provide detailed information about all the Devfiles, when you run it with `--details` flag. + +== odo list + +The `odo list` command lists all the resources created by `odo`, including components and bindings. + +Improved information:: +The `odo list` command provides a better developer experience by outputting information about your application such as the mode it is running in, the tool and version managing it, and the project type. ++ +It further provides subcommands such as `odo list components`, and `odo list bindings` to list the corresponding resources. + +Ability to list bindings:: +The `odo list` command provides a way to list the bindings that are created on the cluster with `odo`.