Project post originally posted on the Flux blog by juozasg and Daniel Holbach

Welcome to the second blog post in our Flux Ecosystem category! This time we are talking about one of the Flux UIs: it’s the VS Code GitOps Extension.

If you already use VS Code, this extension will be straight up your alley: it provides an intuitive way to manage, troubleshoot and operate your Kubernetes environment following the GitOps operating model, accelerating your development lifecycle and simplifying your continuous delivery pipelines. Of course it uses Flux under the hood.

Getting Started

Installing it: It’s in the Visual Studio Code Marketplace, so if you search for it in VS Code, it’s just a click of the Install button away.

Screenshot showing GitOps Tools in VS Code

Additionally, you will need to

Optionally, if available, the extension will make use of the az tool (for Azure clusters) and docker as well.

With that out of the way, let’s get going and take the extension for a spin.

Drive everything from your IDE

Once you launch VS Code, you should see available clusters listed in the Clusters section of the GitOps extension. Now you can easily interact with the resources in each of the clusters. This makes it very straightforward to make changes in your manifests, commit and observe changes in the clusters without leaving your IDE.

code example
code example

The extension was designed so that you always have access to the immediate tasks and events. Turning a manifest into a Kustomization or Source? Right-click on the YAML file. View repositories, clusters, sources, kustomizations, etc. – you see them at the first glance. View GitOps Output panel with CLI command traces for diagnostics, cluster and components versions, Flux controller logs, everything you might need to debug. Enable/disable GitOps cluster operations with just a click. Reconcile Sources and Workloads demand, and much more – links to most-needed docs included.

Constantly evolving

The extension is rapidly growing new features. In 0.21.0, the team added OCI support which is supported natively in Flux. If you would like to see a video demo of this, check out this talk done by Annie Talvasto and Kingdon Barrett in the CNCF Webinar series.

In 0.22.0 basic support for Azure AKS/Arc was added. Future releases will add a new beginner-friendly UI workflow for creating complete Flux configurations using both generic Flux Source (Git, OCI, Bucket, HelmRepository) and Workload (KustomizationHelmRelease) resources as well as Azure FluxConfig resources.

code example

The team has begun work to transition the extension implementation from shell out commands to Javascript APIs for Kubernetes and Azure. Once that is complete, extension responsiveness and performance will improve dramatically.

Join the community

The team behind the extension loves feedback. If you like what you see, please star the extension on GitHub or leave an issue if something is missing, or send a PR if you can.

All feedback is very welcome!