Early Access Program IntelliJ IDEA

Kubernetes and Docker Updates in IntelliJ IDEA 2021.3

Though we’ve already described the majority of significant features IntelliJ IDEA 2021.3 will deliver, this blog highlights the best updates for Kubernetes and Docker. You still have time to test them out before the major release goes live.

To do so, download the latest build from our website, the free Toolbox App, or snaps for Ubuntu.

Here is the feature overview that will provide some details of the introduced changes.

Kubernetes

Improved formatting for Helm templates

You can format your Helm templates and be sure of the correct result. We’ve fixed all the related issues, and the formatting is now much more reliable. To see the improvement, go to Code| Reformat code or Reformat file or press ⌥ ⌘L on macOS or Ctrl+Alt+L on Windows and Linux.

Format Helm templates

Highlighting of block elements in Helm templates

We’ve added highlighting of such block elements as if, else, range, with, and define in Helm templates. This makes it a lot easier to work with code that contains Go templates inclusions.

Highlighting in Helm templates

Language injection in ConfigMap resources

IntelliJ IDEA now supports automatic code injections of various languages in ConfigMap resources for keys with extensions like .yaml, .json, .properties, and so on. The injected pieces of code are highlighted in green, and it is possible to use our code insight functionality inside them, including code completion, error highlighting, and others.

Language injections

Repeat the latest command

It is now possible to rerun your latest helm command from the Services tool window. All you have to do is click the new icon in the top right-hand corner. For example, you run the helm lint command, and after it completes, you can click the icon to repeat it.

Repeat the latest command

Docker

Connection to Docker from Minikube

It is now possible to connect to a Docker daemon from Minikube. To do so, go to Preferences/ Settings | Build, Execution, Deployment and select the new Minikube radio button. Next to it, the IDE will automatically display the detected Minikube’s docker-daemon environments that you can use for connecting.

Connect from Minikube

Previously you could connect to a Docker daemon via Minikube manually, and you can still use this approach. In this case, you should call the Minikube docker-env command in the terminal to get the necessary information for your connection. Then in Preferences/ Settings | Build, Execution, Deployment, select the TCP socket radio button and fill in the information from the terminal – Engine API URL and Certificates folder.

Connect from minikube

Podman support

IntelliJ IDEA now supports Podman as an alternative way to manage pods, containers, and images. Before using Podman in the IDE, configure a connection to it by following the official instructions or the ones we provide for macOS in one of the issues.

After you’ve installed and configured Podman on your OS, you can connect to it via Preferences/ Settings | Build, Execution, Deployment | Docker by selecting the TCP socket radio button and filling in the fields under it.

If you are interested in more advanced support, please share your concerns and desires and vote for the issues devoted to Podman.

Easier connection process

You can now connect to Docker much faster, by simply double-clicking on the necessary node or using the new shortcut – ⌘Enter on macOS or Ctrl+Enter on Windows and Linux. The same applies to the Start container action.

Easier start

Registry updates

In the upcoming release, you will notice several changes to the Docker registry. First off, the IDE now displays all the available registries in the separate nodes of the Services tool window.

Keeping the registry content up-to-date at all times might have required a lot of resources from your machine. That’s why we recommend that you click the refresh icon in the top left-hand corner from time to time.

Registries in Services view

To add the registries, go to Preferences/Settings | Build, Execution, Deployment | Docker | Docker Registry. Previously we had support only for the Docker Hub registry. In v2021.3, you’ll be able to use more registries to store and distribute Docker images. We’ve added support for GitLab (registry.gitlab.com) and JetBrains Space (<username>.registry.jetbrains.space).

Registry selection

You can expand the registry nodes in the Services tool window, select the necessary image, and pull it to the desired location. If you have several Docker connections, the IDE will ask you where to pull the image.

Pull for images from the registry

What’s more, it is possible to push images to any added registry. In the Push dialog, the IDE automatically detects the namespaces available in the given registry and lets you choose one from the drop-down list. This should save you some time as you don’t have to type the namespaces anymore.

Push images from the registry

Last but not least, you can use image completion for images from the JetBrains Space, GitLab, and Docker Hub registries.

Image completion

Support for Compose V2

IntelliJ IDEA now supports Compose V2, which allows you to run all of the Docker Compose commands as docker compose, instead of docker-compose with a hyphen.

To activate this option, go to Preferences/ Settings | Build, Execution, Deployment | Docker | Tools and tick the Use Compose V2 checkbox.

Docker Compose V2

Docker Compose V2

New Clean up action

We’ve implemented the new Clean up action that works the same way as the prune command that you use when working with Docker via the terminal.

When you right-click on the Networks/Volumes/Containers/Images nodes, select Clean up to have the IDE get rid of the unused objects.

It is also possible to apply this action to the Docker root node to prune all of the unnecessary objects in one click.

Clean up action

Image layers

You can now track all of the commands applied to images. To do so, select the image and go to the Layers tab that displays the list of commands. When you choose a command, you can click on the Analyze image for more information link in the right part of the screen to see more details about the changes applied to each layer.

Image layers

Save container as image

If you have a preconfigured container that you want to use later, you can save it as an image locally and push it to continue using it remotely when you need it. Go to the Services tool window, right-click on the container, and select Image | Save as a new Image.

Save container as image

These are the most prominent features that we will deliver in IntelliJ IDEA 2021.3. Please test them and share your feedback with us.

Happy developing!

image description