Announcing Okteto CLI 3.0
We are happy to announce a pre-release of Okteto CLI 3.0! This release marks a significant milestone, bringing together the most impactful features we’ve developed recently. With this version, we’re focused on improving the developer experience (DevX) through thoughtful updates, including a few breaking changes and the removal of deprecated features to boost future efficiency. 😊
Okteto CLI 3.0 will be shipped in early October and integrated into the Okteto Chart 1.25 release. There are some potential breaking changes, so please keep reading below to make sure your workflows aren’t affected by this update.
Our progress over the last 12 months leading to Okteto CLI 3.0!
The main features we have released during this period are:
- Deploy on Remote: Do you need custom tooling to run the deploy commands of your Okteto Manifest? You can now define a container image to serve as the runtime of your deploy commands, eliminating all the dependencies on your local machine configuration to deploy your Dev Environments.
- Smart Builds: Are you tired of repeatedly building your container images? Smart builds detect repeated builds from other developers in your cluster and reuse them automatically, allowing you to deploy your Dev Environments in seconds.
- Okteto Test: Have you ever felt frustrated while troubleshooting a CI workflow? Say bye-bye to committing and waiting for minutes until CI fails. Okteto Test provides fast feedback and repeatability when running CI workflows on your local machine and on CI 😊
- Hybrid Development Mode: There are situations when running a service locally is faster than synchronizing code with a remote Development Container. Hybrid development mode enables you to run the service in development locally while keeping the rest of your application components on Okteto to take advantage of your local machine hardware.
- Okteto Logs: Have you ever tried troubleshooting your application and felt frustrated running several
kubectl
commands to find an error condition?okteto logs
gives you a single command to obtain all this information without imposing Kubernetes cognitive load.
Top breaking changes
Releasing a major release allows us to improve the DevX by introducing breaking changes. These changes reduce dependencies on local configurations to simplify large Okteto rollouts and adapt the Okteto CLI to follow well-known standards such as Docker Compose:
- Local container registry credentials are ignored by default. You can disable this behavior by setting the
OKTETO_LOCAL_REGISTRY_STORE_ENABLED: true
in your terminal or as an Okteto Variable. However, we recommend configuring access to your private container registries using Okteto Registry Credentials. - Okteto Stack removal in favor of Docker Compose support. You can disable this behavior by setting the
OKTETO_SUPPORT_STACKS_ENABLED: true
in your terminal or as an Okteto Variable. For more information about how this change might affect you, check our guide to migrate from Okteto Stacks to Docker Compose.
How can I try Okteto CLI 3.0?
Okteto CLI 3.0 will be shipped in early October and integrated into Okteto Chart 1.25 release. Before upgrading to Okteto Chart 1.25, make sure your workflows aren’t affected by Okteto CLI 3.0. To do that, we recommend installing the Okteto CLI 3.0 beta version by using the following command:
curl https://get.okteto.com -sSfL | OKTETO_CHANNEL=beta sh
💡 Go back to the previous Okteto CLI version with: curl https://get.okteto.com -sSfL | sh
Then, run okteto deploy
and okteto up
with your Okteto Manifests to ensure things keep working as expected.
Full list of breaking changes
A major release is a great opportunity to remove deprecated functionality, help us increase the quality of our code base, and more suitable for future feature development. This is the full list of breaking changes in Okteto CLI 3.0:
- Commands no longer available:
okteto init
,okteto push
,okteto stack
,okteto login
(replaced byokteto context
) andokteto update
(replaced byokteto version update
). - Changes in flags for
okteto deploy
:--build
is removed. Images are always built, unless--no-build
is used--wait
defaults totrue
--f
no longer supports pointing to a folder, only regular files are allowed.- Removed positional argument to deploy individual services from a Docker Compose file. This functionality is supported at the Okteto Manifest level.
- Changes in flags for
okteto up
:--deploy
will also rebuild the container images--command
is removed in favor of the syntax-- <<your command>>
- For example
okteto up api -- bash
- For example
- Support for
devrc
file is removed.devrc
allowed developers to overwrite the Okteto Manifest with custom configuration. - The commands
okteto pipeline deploy
,okteto pipeline destroy
,okteto preview deploy
andokteto preview destroy
now default to--wait=true
- Drop support for Okteto Manifest v1. Follow our guide to migrate from v1 to v2.
- Flags
--namespace
and--context
always take precedence over environment variablesOKTETO_NAMESPACE
andOKTETO_CONTEXT
.namespace
andcontext
are no longer supported at the Okteto Manifest level.
Please note that you can use the feature flags OKTETO_LOCAL_REGISTRY_STORE_ENABLE
and OKTETO_SUPPORT_STACKS_ENABLED
to disable our main breaking changes if you need time to adapt your workflows.
Updates to GitHub Actions
Each GitHub Action supports the following tags:
latest
: this is the version running the last stable Okteto CLI releasev3
: this is the version running the last stable Okteto CLI 3.x releasev2
: this is the version running the last stable Okteto CLI 2.x releasemain
: this is our development version. Don't use this tag for production usage!
Finally, you can ping a specific Okteto CLI version in your GitHub Actions, for example, okteto/context@2.31.0
.
Keep in touch!
We understand that changes like these may require some adjustments to your workflows, and we’re here to support you every step of the way. If you have any questions or need assistance transitioning to Okteto CLI 3.0, please don’t hesitate to contact our support team.
Thank you for your understanding and continued support as we strive to enhance the Okteto experience for all users.