Getting Started With Weave GitOps
Weave GitOps Core is a free and open source continuous delivery product to run apps in any Kubernetes. It is powered by Flux but provides additional dashboarding functionality for a superior dev experience. Get started with GitOps today.
GitOps is an operational framework for continuous deployment. Typically used with Infrastructure as Code (IaC), the definitions are managed with Git workflows, providing a version history and an audit trail. Automatic reconciliation compares the desired state, stored in Git, with the actual runtime state and applies changes as required. This highly automated approach to continuous delivery increases software delivery pipeline velocity, saves DevOps engineers time and delivers consistent and repeatable deployments.
Weave GitOps is a continuous delivery product to run your applications in any Kubernetes. Applications are delivered securely and reliably with the use of Policy as Code providing guardrails to ensure corporate standards continually are met. Weave GitOps takes DevOps to the next level by applying GitOps principles to cluster management. Manage your entire fleet of clusters and applications one pull request at a time.
Weave GitOps is built on a core of Flux, which Weaveworks donated to the CNCF and still takes a very active role in its maintenance.
Take it For a Spin
Want to kick the tires? You can start with Weave GitOps OSS which is the free and open source version, just having the continuous application delivery functionality. With the Weave GitOps dashboard, you can monitor the status of the Flux engine, see the commit hash or helm chart version of your defined sources and watch your applications get deployed and updated.
What you’ll Need
- GitHub account and access token
- Any Kubernetes cluster: EKS, AKS, GKE, Mini Kube, KinD
- Docker
Let’s Go
Follow the Getting Started Guide and you’ll soon be up and running.
That was easy. What’s next?
Extending Observability
The Weave GitOps dashboard is great for taking a sneak peak at the status of the Flux engine and the resources it’s managing. See what commit or version your sources are synchronised to. Know that your latest Git push got deployed and is up and running. There’s also a VS Code extension providing an overview of Flux resources right inside your current IDE session; no need to lose your place switching out to another window. If you want to take a deeper look it’s easy to integrate Flux into an Observability solution.
All the Flux engine components provide detailed logging and expose a Prometheus metrics endpoint. Logs can be shipped with Fluentd to your existing ELK stack or perhaps you’d like to use Promtail and Loki? Commercial solutions like Datadog, New Relic, Dynatrace, etc. all provide log ingestion capabilities. For metrics, fire up Prometheus on your cluster then visualise the data with Grafana or use one of the commercial integrations. The Flux documentation includes a guide and sample Grafana dashboards to get you started.
Progressive Delivery
Take the risk out of deploying new releases by using progressive delivery. If you want to use Canary releases, A/B testing or Blue/Green deployments then Flagger makes it easy. Flagger is part of the Flux ecosystem and the two of them work seamlessly together. Hint: To get your first Canary release rolling, don’t use a service mesh, use Nginx ingress controller. The setup is a lot easier and quicker.
GitOps Everything
Now you’ve deployed and updated a few Kubernetes applications using Weave GitOps, can this technique be used for anything else? How about AWS Lambda functions? Yes you can, with the Flux Terraform controller. This applies the principles of GitOps to your Terraform files; stored in Git of course. Update the definition in Git and the reconciliation will do the rest. Delete the function in the AWS console, reconciliation will automatically restore it.
Not just limited to Terraform for Infrastructure as Code, Crossplane resource definitions can also be managed by Weave GitOps.
Watch our latest webinar where we introduce the Terraform Controller, together with Weave GitOps Cluster API (CAPI) capabilities, which brings the entire Terraform universe into the GitOps flow.
ArgoCD
Already using ArgoCD but finding its security and poor Helm support limiting? You’d like to move on but don’t want to deprecate all the work you’ve done already? Flux Subsystem for Argo lets you run both simultaneously and see your new Flux resources in the ArgoCD dashboard. Learn how you can make the best of both worlds in this blog: "Flamingo: Expand Argo CD with Flux."
Upgrade to Enterprise
Weave GitOps Enterprise builds on the rich set of features from open source and adds Policy as Code and Multiple Cluster Control Plane.
Trusted Delivery with Policy as Code
Use policies from Weaveworks curated library of 100+ policies covering GDPR, SOC II, HIPAA, PCI-DSS, etc. Alternatively write your own using standard Open Policy Agent Rego language. GitOps principles are, of course, applied to policy management, active policies are pulled from a Git repository. Compliance is checked at multiple steps in your software delivery pipeline: commit / pull request, build, deploy and run time. Shift left with Policy as Code to ensure that security, resilience and deployment standards are not an afterthought.
GitOps for Cluster Management
Extending the principles of GitOps beyond applications to multiple cluster management across cloud providers, in your data centre or at the edge. Cluster templates are defined in Git, engineers can instantiate a cluster from the available templates; fully RBAC controlled. Alternatively import your existing clusters by installing the Weave GitOps agent.
Deploy applications to multiple clusters, manage updates and node scaling one pull request at a time.
The Weave GitOps Enterprise dashboard provides an overview of cluster and application health.
Take Control
Try Weave GitOps Core for free then contact our sales team to arrange a trial of Weave GitOps Enterprise. Take control of your Kubernetes environments with Weave GitOps.