Back
October 10, 2023
4
min read

New Decodable CLI features

By
Nico Weidner
Share this post

Amidst all the major features that we’re adding to Decodable, including custom jobs and Bring Your Own Cloud (BYOC), we’ve also been beavering away on a ton of smaller additions and quality of life improvements to the product. Here’s a recap of some of the small “a ha!” changes we’ve made to the Decodable CLI over the last few weeks to make it even easier and more powerful to use.

⌨️ Tab completion 🎉

Tired of typing all those Decodable CLI commands over and over? Now you can just <span class="inline-code">&lt;tab&gt;</span> your way through. This helps reduce the amount of typing required and makes it easy to explore the available commands and flags.

Note that there are no completions yet for dynamic parameters (yet!), so for now you’ll have to manually enter things like pipeline IDs.

🤫 Managing secrets

As part of our work putting security first and foremost in our platform design, we recently removed support for specifying secrets directly in connection properties. Instead, you use the new support for secrets as first-class citizens in Decodable.

You can manage secrets through the web interface, or alternatively the <span class="inline-code">decodable secret</span> CLI command is available to satisfy all your secret needs. It has the usual CRUD subcommands for managing your secret resources (<span class="inline-code">create, get, list, update, delete</span>). An important point to note is that these resources only hold metadata—the actual secret value is written using the write subcommand. What’s more, if you opt for managing your own data plane (BYOC), it will never leave your own infrastructure.

The following example illustrates how to create and use a secret:

The new <span class="inline-code">secret</span> command is available in version 1.7.0 and above; if you are on an older version, run <span class="inline-code">brew upgrade decodable</span> (if you’re using homebrew), or see our documentation for other options.

⚠️ Deprecation warnings

If your CLI version is lagging behind the latest release of the Decodable platform, a warning will now be printed in addition to the response - which means it's time to upgrade and enjoy the latest features.

If your CLI version is so old that it's not supported anymore, requests will be rejected by the API—but don't worry, we will make sure to provide an ample time frame to upgrade from a deprecated version.

Installing and Upgrading the Decodable CLI

You can use our install script to install the latest version of the Decodable CLI at <span class="inline-code">/usr/local/bin</span>. Just run <span class="inline-code">curl -L releases.decodable.co/install | bash</span> and you are all set.

Alternatively, a brew tap is available for Mac users. Run <span class="inline-code">brew tap decodableco/decodable</span>, then <span class="inline-code">brew install decodable</span> or <span class="inline-code">brew upgrade decodable</span> as appropriate.

Finally, if none of these options suit you, you can fetch the latest binaries from our releases page.

Additional Resources

📫 Email signup 👇

Did you enjoy this issue of Checkpoint Chronicle? Would you like the next edition delivered directly to your email to read from the comfort of your own home?

Simply enter your email address here and we'll send you the next issue as soon as it's published—and nothing else, we promise!

👍 Got it!
Oops! Something went wrong while submitting the form.
Nico Weidner

Amidst all the major features that we’re adding to Decodable, including custom jobs and Bring Your Own Cloud (BYOC), we’ve also been beavering away on a ton of smaller additions and quality of life improvements to the product. Here’s a recap of some of the small “a ha!” changes we’ve made to the Decodable CLI over the last few weeks to make it even easier and more powerful to use.

⌨️ Tab completion 🎉

Tired of typing all those Decodable CLI commands over and over? Now you can just <span class="inline-code">&lt;tab&gt;</span> your way through. This helps reduce the amount of typing required and makes it easy to explore the available commands and flags.

Note that there are no completions yet for dynamic parameters (yet!), so for now you’ll have to manually enter things like pipeline IDs.

🤫 Managing secrets

As part of our work putting security first and foremost in our platform design, we recently removed support for specifying secrets directly in connection properties. Instead, you use the new support for secrets as first-class citizens in Decodable.

You can manage secrets through the web interface, or alternatively the <span class="inline-code">decodable secret</span> CLI command is available to satisfy all your secret needs. It has the usual CRUD subcommands for managing your secret resources (<span class="inline-code">create, get, list, update, delete</span>). An important point to note is that these resources only hold metadata—the actual secret value is written using the write subcommand. What’s more, if you opt for managing your own data plane (BYOC), it will never leave your own infrastructure.

The following example illustrates how to create and use a secret:

The new <span class="inline-code">secret</span> command is available in version 1.7.0 and above; if you are on an older version, run <span class="inline-code">brew upgrade decodable</span> (if you’re using homebrew), or see our documentation for other options.

⚠️ Deprecation warnings

If your CLI version is lagging behind the latest release of the Decodable platform, a warning will now be printed in addition to the response - which means it's time to upgrade and enjoy the latest features.

If your CLI version is so old that it's not supported anymore, requests will be rejected by the API—but don't worry, we will make sure to provide an ample time frame to upgrade from a deprecated version.

Installing and Upgrading the Decodable CLI

You can use our install script to install the latest version of the Decodable CLI at <span class="inline-code">/usr/local/bin</span>. Just run <span class="inline-code">curl -L releases.decodable.co/install | bash</span> and you are all set.

Alternatively, a brew tap is available for Mac users. Run <span class="inline-code">brew tap decodableco/decodable</span>, then <span class="inline-code">brew install decodable</span> or <span class="inline-code">brew upgrade decodable</span> as appropriate.

Finally, if none of these options suit you, you can fetch the latest binaries from our releases page.

Additional Resources

📫 Email signup 👇

Did you enjoy this issue of Checkpoint Chronicle? Would you like the next edition delivered directly to your email to read from the comfort of your own home?

Simply enter your email address here and we'll send you the next issue as soon as it's published—and nothing else, we promise!

Nico Weidner