odo v3.14.0
is now out!
To install odo
, follow the installation guide.
Notable Changes
Features
odo dev
Web UI out of the experimental mode
The odo
web User Interface, which was previously available experimentally, is now out of the experimental mode.
This means that it will be exposed and available out of the box whenever a Dev Session is started with odo dev
, regardless of the experimental mode status.
This web UI currently aims at providing a simplified way to:
- understand the Devfile and how
odo
interprets it. - edit the Devfile and tailor it to your project needs.
It is still a work in progress; so we are looking for feedback to improve it.
To use it, just start odo dev
(regardless of the target platform) and navigate to the URL displayed in the output (or retrievable via the odo describe component
command).
Example Output
$ odo dev --platform podman
[...]
↪ Running on podman in Dev mode
✓ Web console accessible at http://localhost:20000/
✓ API Server started at http://localhost:20000/api/v1
✓ API documentation accessible at http://localhost:20000/swagger-ui/
✓ Deploying pod [13s]
✓ Syncing files into the container [2s]
✓ Executing post-start command in container (command: 0-install-yarn) [1s]
✓ Building your application in container (command: doc-install-deps) [25s]
• Executing the application (command: doc-start) ...
✓ Waiting for the application to be ready [1s]
- Forwarding from 127.0.0.1:20001 -> 3000
↪ Dev mode
Status:
Watching for changes in the current directory /home/user/project
Web console accessible at http://localhost:20000/
Keyboard Commands:
[Ctrl+c] - Exit and delete resources from podman
[p] - Manually apply local changes to the application on podman
Support for Volumes in the odo
Web UI
It is now possible to create Volumes in the odo
Web UI and also to specify volume mounts from the Containers tab:
--filter
in odo registry
now supports a list of terms
When running odo registry --filter
, you can now pass a list of terms to filter the results.
--filter
is now a comma-separated list of terms for filtering, and search is done using a logical AND against the name or description or supported architectures of the Devfile Stacks.
Example Output
$ odo registry --filter s390x,java
NAME REGISTRY DESCRIPTION ARCHITECTURES VERSIONS
java-maven DefaultDevfileRegistry Java application based on Maven 3.6 and ... 1.2.0
java-openliberty DefaultDevfileRegistry Java application based on Java 11 and Ma... amd64, ppc64le, s390x 0.9.0
java-openliberty-gradle DefaultDevfileRegistry Java application based on Java 11, Gradl... amd64, ppc64le, s390x 0.4.0
java-quarkus DefaultDevfileRegistry Java application using Quarkus and OpenJ... 1.3.0
java-springboot DefaultDevfileRegistry Spring Boot using Java 1.2.0, 2.0.0
java-vertx DefaultDevfileRegistry Java application using Vert.x and OpenJD... 1.2.0
java-websphereliberty DefaultDevfileRegistry Java application based Java 11 and Maven... amd64, ppc64le, s390x 0.9.0
java-websphereliberty-gradle DefaultDevfileRegistry Java application based on Java 11 and Gr... amd64, ppc64le, s390x 0.4.0
java-wildfly DefaultDevfileRegistry JakartaEE application using WildFly 1.1.0, 2.0.0
java-wildfly-bootable-jar DefaultDevfileRegistry Java application using WildFly in bootab... 1.1.0
Filtering devfile stacks based on the architecture field in metadata when running odo init
When running odo init
either interactively or non-interactively, the supported architectures declared in the Devfile are now handled.
In the interactive mode, odo init
now allows you to pick the architectures you want or displays it from the Devfile suggested for your project.
Example Output
$ odo init
[...]
Interactive mode enabled, please answer the following questions:
✓ Determining a Devfile for the current directory [603ms]
⚠ Could not determine a Devfile based on the files in the current directory: No valid devfile found for project in /tmp/test2
? Select architectures to filter by: [Use arrows to move, space to select, <right> to all, <left> to none, type to filter]
> [x] amd64
[ ] arm64
[ ] ppc64le
[ ] s390x
[...]
In the non-interactive mode, odo init
allows you to specify the architectures using a repeatable --architecture
option.
Example Output
$ odo init --name my-app --devfile nodejs \
--architecture amd64 \
--architecture s390x
[...]
Your new component 'my-app' is ready in the current directory.
To start editing your component, use 'odo dev' and open this folder in your favorite IDE.
Changes will be directly reflected on the cluster.
Detailed Changelog
As with every release, you can find the full list of changes and bug fixes on the GitHub release page.
Features/Enhancements:
- Move UI out of experimental mode #7012 (feloy)
- [ui] Create/Delete volumes #7029 (feloy)
- Set Save button on top, enable it only when devfile changed #7015 (feloy)
odo init
filters devfile stacks by supported architectures #7004 (feloy)- Do not display API logs by default #7008 (feloy)
Bugs:
- Do not set Memory limit on podman when cgroup is v1 #7028 (feloy)
- [ui] Fix Add/Remove events #7027 (feloy)
- Remove
--kubeconfig
flag #7017 (feloy) - Makes stopped command terminate normally #7011 (feloy)
- Fix podman version check #7010 (feloy)
Documentation:
- Update README main title and display preview video #7037 (rm3l)
- Update home page preview video with support of Podman #7023 (rm3l)
- Update Quickstart Guides with Podman support #7016 (rm3l)
- Document how to change the dev container image pull policy #7014 (rm3l)
- Use image selector feature in "Deploying application" guides #7013 (rm3l)
Merged pull requests:
- Bump version to 3.14.0 #7038 (rm3l)
- Website: Bump clsx from 1.2.1 to 2.0.0 in /docs/website #7025 (dependabot[bot])
- Go: Bump github.com/go-openapi/jsonpointer from 0.19.6 to 0.20.0 #7024 (dependabot[bot])
- Website: Bump typescript from 4.9.5 to 5.1.6 in /docs/website #7007 (dependabot[bot])
- Go: Bump github.com/zalando/go-keyring from 0.2.1 to 0.2.3 #7006 (dependabot[bot])
Contributing to odo
If odo
interests you, and you would like to contribute to it, we welcome you!
You can contribute to odo
in a lot of different ways!
Take it for a spin 🚘 and report back bugs🐞 that you encountered, or features🌟 that you would like to see.
Help us with the documentation📜, or tell us how you used odo
🖍.
Review the PRs👀, or help us fix a failing test 🚩.
Work on the TODOs📝, or help us cleanup the code🚮.
Or, simply tune in📻 to our contributor calls and learn more about odo
.
odo
is your playground!
Read the developer reference guide on contributing to odo to know more.