Introducing GitOps Run: Create secure developer environments faster than ever

By Weaveworks
January 31, 2023

Getting started with GitOps and creating environments is a challenge. GitOps Run is about to change that by making it easy to create and secure developer environments.

Related posts

September Release - Weave GitOps 2022.09

Watch Weave GitOps Release Features: Trusted Application Delivery with Policy as Code, VScode and Terraform extensions for Flux

Beginner’s Guide to Platform Engineering: Simplifying Software Delivery

GitOps workflows are an integral part of several applications today, with the solutions GitOps offers becoming essential to managing Kubernetes systems. GitOps has stood out for its ability to take the best DevOps practices and improve them with agent-based automation, thus eliminating several time-consuming processes. As a next step in providing even more developer velocity and security guardrails, Weave GitOps has introduced a new feature we call GitOps Run. It is designed to cut short the time it takes to create developer environments, and in doing so, allows developers to write code sooner.

GitOps Today: Current Operational Challenges

While GitOps enjoys industry-wide adoption, it can be quite unfamiliar and challenging for developers and those new to the entire approach. With a number of tools such as Kubernetes, Flux, Helm, and Kustomize involved, teams may struggle to create effective and consistent environments and often lose time in manual operations. Developers often need to run numerous CLI commands, generate YAML, and make sure everything is in the correct directories. Similarly, configuring clusters efficiently is an issue for developers as their focus is to write code and build new features rather than run that code in production reliably.

GitOps Run has been created to address these very issues and make operations and maintenance far easier for developers and platform engineers.

What is GitOps Run?

GitOps Run is an exciting new feature that is now part of the Weave GitOps platform. It helps engineers create consistent temporary environments so you can configure clusters and get live feedback in the process. Application developers can use it to run the latest versions of their applications with little to no configuration so that they can focus on what they do best - write code. All the steps to create and provision a clean environment are pre-configured and made available with the power of a single ‘gitops run’ command.

When executed, GitOps Run first checks if Flux (the leading GitOps agent) is installed, and if not, automatically installs Flux onto the cluster. It then checks if the Weave GitOps Dashboard is installed, which it also installs if not already done.

With these two key pieces in place, the user can now enter their admin user password to authorize the creation of the environment. GitOps Run then automatically creates a reconciliation loop between the developer’s local machine and the cluster. Once this is done, the user can create files in the IDE within that working directory and see them loaded onto the cluster immediately. Alternatively, they can go to http://localhost:9001 on their machine to see what is being deployed to the cluster. The demo video below shows this entire process done with pre-built YAML files.

GitOps Run: Benefits for Developers

GitOps Run has been designed to save developers hundreds of valuable hours by providing them with an easy-to-use framework. GitOps Run gives you predictable environments that reduce the friction typically associated with getting developers started on projects. With obstacles out of the way, developers enjoy working faster and are able to deploy more frequently. These are key goals for any organization.

GitOps Run: Benefits for Platform Engineers

For platform engineers, GitOps Run eliminates the work of having to manually provision environments or oversee how developers provision them on their own. They can build in the necessary security protocols and operational sanity checks at each step when designing temporary ephemeral environments that are sandboxed. This allows developers to get started faster and gives platform engineers the confidence of knowing that developers are using pre-approved and secure sandbox environments by default.

In essence, GitOps Run removes unnecessary complexities for developers and empowers platform operators to create GitOps-enabled environments. This gives developers the freedom to focus on writing code, and platform engineers the peace of mind knowing they have more control over environments.

GitOps Run at the moment provides two modes of operation, directly on a cluster or in the form of sandboxed sessions. These sandboxed sessions have been created for scenarios where multiple users may be running their own sessions, thus targeting shared environments. On the other hand, the direct mode is intended singularly for local clusters in existence.

Helping you run: the Additional Benefits of GitOps Run

GitOps Run is far more than just an introductory feature meant to help you get started with Kubernetes and GitOps. Its most significant advantage is its ability to provide extensive assistance across your entire application journey.

With the introduction of GitOps Run, you no longer need to run kubectl, Helm, Kustomize, or Flux CLI commands. Simply create the manifests and GitOps Run will deploy them on the cluster for you all by itself. The feature also works to reduce cycle time by allowing you to test your changes directly before you make a commit by pushing code to your Git repository.

Furthermore, GitOps Run provides you with numerous options to debug Flux via its Flux VSCode extension. In the demo video above, there are intentional errors that are caught by Weave GitOps and shown on the dashboard. Once these issues are addressed, the deployment turns green and the objects are created on the cluster. In this way, GitOps Run delivers live feedback on these tests and leverages the Weave GitOps dashboard for great ease of use.

Taking it up a Notch: Going From GitOps Run to GitOps

Once you have used GitOps Run's environment to set up all the resources you require, you have the freedom to switch over to the full GitOps mode, wherein Flux will be continuously and automatically pulling new changes from the Git repository you control.

In the first run after turning off GitOps Run, you will be asked if you want to bootstrap your cluster into GitOps mode. If you choose to answer ‘Yes’, a wizard will help you design your experience and determine how you wish to run it by selecting from the repositories, branches, etc.

Upon hitting submit, the repository and branch will be automatically set up, and Flux manifests and the files you were working on will be added. Here onwards, all you need to do to make persistent changes is simply push them to this repository.

GitOps Run: For a Smoother GitOps Experience

GitOps Run has been crafted explicitly to make the GitOps and Kubernetes experience significantly smoother for developers of all types. If you’re new to Weave GitOps, we encourage you to download the open source Weave GitOps and explore the feature today. With Weave GitOps Enterprise, you can benefit from the basic features of Weave GitOps as well as sandboxed environments and full-fledged UI for those environments. For more information on GitOps Run, check out our documentation.

Contact us to learn more about our Weave GitOps Enterprise offering.

Related posts

September Release - Weave GitOps 2022.09

Watch Weave GitOps Release Features: Trusted Application Delivery with Policy as Code, VScode and Terraform extensions for Flux

Beginner’s Guide to Platform Engineering: Simplifying Software Delivery

Whitepaper: GitOps Accelerates Self-service for Developers and Operators

Find out how GitOps enables organizations to adopt a self-service platform model both for developers and operators.

Download now