Clever Tools: a year of enhancements for your deployments, on the road to v4

clever tools v3
A command line interface (CLI) is at the core of developer experience. At Clever Cloud, we have been providing Clever Tools for almost 10 years.

Our main goal is to offer our users a tool that’s easy to handle, makes their lives easier, and can be used in scripts as a complement to our API and Console. In 2023, we decided to rework this open source project to give it a new impulse. Here’s a report on our first year’s work.

v3: the foundations for renewal

We started out from an observation: our CLI had not evolved much for two years. Of course, we had released a few updates and beta versions, but nothing more.

Yet a tool like Clever Tools is used on a daily basis by our customers, and is vital in the progress of our offering. Based on our public API, it enables us to deliver new services easily and quickly, so that our customers can use them in a wide range of situations.

As we prepared to make major changes to Clever Cloud, Clever Tools had to reflect this evolution. Capitalizing on our teams’ growth, Hubert Sablonnière, in charge of the “Front” and lead developer of the project at the time, launched an initiative to integrate new contributors and organize regular exchanges on its progress.

Release of Clever Tools 3.0 at the end of 2023 was an initial turning point. More than just a technical upgrade to Node.js 18, this version paved the way for a more powerful, easy-to-use CLI. Its distribution mode has been entirely reworked to facilitate releases, but also to avoid alpha/beta channels: each PR leads to the creation of test binaries.

Our new log stack appeared first in Clever Tools, with text and date/duration search capabilities, improved formatting and more. Above all, this release set the scene for all the enhancements we were planning for 2024.

Streamlined management

In 2024, we introduced some long-awaited features to simplify your day-to-day operations. In small ways, such as updating zones in auto-completion, no longer having to provide a name when creating an application, Clever Tasks creation, displaying useful information at various places. But we’ve also adopted new paradigms.

The best example is probably the introduction and generalization of the --app option to commands linked to applications in our “Big Summer Update”. Until last July, you had to “link” a Clever Cloud application to a local folder to control it. Since release 3.8.0, this is no longer necessary. You can, for example, clever ssh or clever restart any application simply by specifying its name or ID. It was also at this time that we introduced a command to list all the applications an account has access to, by organization (clever applications list).

We’ve done the same with the --format/-F option, generalized to as many commands as possible, to provide classic output by default but to be able to request a JSON formatted result, which can be handy in scripts/CI or for passing to tools such as jq/jless. Sometimes we’ve also introduced specific formats, such as json-stream for (access) logs, or shell for some commands linked to environment variables.

An open project that evolves to fit your needs

Providing greater flexibility of use was another of our concerns this year. Here, one of the best examples is probably the official integration of the clever curl command, which lets you make requests to our API in the context of the current user. This has been accompanied by enhanced context-sensitive help. At the same time, we revamped the Clever Tools documentation.

It is also through our CLI that we have introduced features enabling us to respond to customer needs, such as the ability to add plugins as soon as an Elasticsearch add-on is created. With release 3.11 which went live yesterday, we’ve introduced a feature flags system that takes over from the old alpha/beta channels. This gives us greater flexibility in the deployment of new features, allowing us to test and refine them according to your feedback. So don’t hesitate to share your needs, ideas and comments with us, through issues on the project or even by contributing to it.

# We create a Materia KV add-on
clever addon create kv myMateriaKV

# Then we use it instantly with the experimental clever kv command
clever features enable kv
clever kv myMateriaKV PING

# We write data, instantly replicated over 3 data centers in Paris
clever kv myMateriaKV SET myKey myValue
clever kv myMateriaKV GET myKey

The beginning of a technical overhaul, a more didactic approach

Clever Tools follow our evolution, with the introduction of token expiration dates ( displayed in clever profile), and support for the many add-ons launched this year: Keycloak, Materia KV, Metabase, Otoroshi with LLM, etc.

The latter were also an opportunity for us to pursue the didactic approach introduced around clever curl, adding instructions following the creation of an add-on. Our aim here is to support our customers in the use of new services and tools, with increasing references to useful information and cross-references to our documentation.

But also diagnostic commands such as clever domain diag, which lets you check whether application’s DNS are correctly configured. Its addition was accompanied by the clever domain overview command, which lists all the domains and paths linked to your various applications.

On the road to v4, a continuous improvement

We spent part of the summer cleaning up the code under the hood. We migrated to EcmaScript Modules (ESM) with the introduction of a bundling step. All this has given us a more modern and maintainable code base, paving the way for future developments in Clever Tools architecture.

2025 promises to be just as rich in new features, with the imminent arrival of release 4.0. It will mark the transition to Node 22, introduce a new self-packaging build system and continue to improve the user experience. We will also soon add access to Network Groups with the experimental clever ng command.

The focus will be on improved ergonomics, new functionalities and, above all, a complete overhaul of commands naming and organization, which will be introduced progressively. Documentation generation will be automated and releases scheduled on a regular basis. All this will be made possible by a major upgrade of the Clever Tools technical stack.

This new phase reflects our ongoing commitment to provide you with a reliable, efficient tool tailored to your needs. Beyond the technical features, it’s the collaboration with our community that guides the evolution of Clever Tools. The changes made since 2023 are just the beginning of a new era for your deployment CLI.

Check back in a few weeks to start discovering all the possibilities version 4 has to offer. Don’t forget to follow our changelog to be informed of the latest developments.

Blog

À lire également

Clever Cloud obtains HDS (Health Data Hosting) certification

Clever Cloud achieves HDS Certification, enabling it to host health data in France. Clever Cloud, Europe's leading provider of Platform as a Service cloud solutions, today announced that it has been awarded the Hébergeur de Données de Santé (HDS) certification, in its updated version effective May 16, 2024, for all 6 activities in the standard. This certification reinforces Clever Cloud's position as a trusted partner for companies and organizations in the healthcare sector.
Press

Clever Tools: a year of enhancements for your deployments, on the road to v4

A command line interface (CLI) is at the core of developer experience. At Clever Cloud, we have been providing Clever Tools for almost 10 years.
Engineering Features

Otoroshi with LLM: simplify your API and AI service management on Clever Cloud

Your applications and services are evolving in an increasingly complex environment, requiring effective management of APIs and interactions with artificial intelligence models such as the very popular LLMs (Large Language Models).
Features