5 |
6 | Code for CNCF OpenGitOps project website.
7 |
8 | **👩💻 Local Development.**
9 |
10 | ```shell
11 | # if you like npm
12 | npm i
13 | npm start
14 |
15 | # Or if you like yarn
16 | yarn install
17 | yarn start
18 | ```
19 |
20 | **Docker setup**
21 | ```shell
22 | # Build container image from local filesystem with default Node version
23 | docker build --no-cache -t website: -f Containerfile .
24 |
25 | # Build container image from local filesystem with Node version as build arg
26 | docker build --build-arg NODE_VERSION=19 --no-cache -t website: -f Containerfile .
27 |
28 | # Run container image with mapping port 80 on your computer
29 | docker run -dit -p 8000:8000 website:
30 | ```
31 |
--------------------------------------------------------------------------------
/content/blog/1.0-announcement/images/GitOps-1.0.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/open-gitops/website/4c355f478ae2b5d7e8b5fc62a6c50d44e3e28f7f/content/blog/1.0-announcement/images/GitOps-1.0.jpg
--------------------------------------------------------------------------------
/content/blog/1.0-announcement/index.mdx:
--------------------------------------------------------------------------------
1 | ---
2 | title: OpenGitOps 1.0 is finally here and why you should care
3 | date: "2021-11-08T09:00:01.284Z"
4 | description: "OpenGitOps 1.0 brings a mature standard to the DevOps industry."
5 | author: Dan Garfield and Scott Rigby
6 | thumbnail: images/GitOps-1.0.jpg
7 | ---
8 |
9 | GitOps is a term coined by Alexis Richardson a few years ago and has grown immensely in popularity.
10 | In a nutshell, GitOps is a set of principles for operating and managing software systems, derived from modern software operations, but also rooted in pre-existing and widely adopted best practices.
11 | However they differ in specific ways from traditional CI & CD pipeline approach that has dominated the industry for decades.
12 | Last year, Amazon, Azure, Codefresh, Github, Redhat, and Weaveworks teamed up to launch the GitOps Working Group under the CNCF.
13 | The goal was to formalize all the ideas that have developed around GitOps into a single cohesive set of principles that would be easily digestible and repeatable by any organization.
14 |
15 | We’re very proud to announce that over 60 companies, 96 interested parties, and 34 co-authors have brought the best of DevOps into the [OpenGitOps 1.0 Principles and Glossary](https://github.com/open-gitops/documents/releases/tag/v1.0.0).
16 | Each principle discusses the desired state of a system and how it should be operated.
17 |
18 | The desired state of a GitOps managed system must be:
19 |
20 | 1. **Declarative**
21 |
22 | A [system](https://github.com/open-gitops/documents/blob/v1.0.0/GLOSSARY.md#software-system) managed by GitOps must have its desired state expressed [declaratively](https://github.com/open-gitops/documents/blob/v1.0.0/GLOSSARY.md#declarative-description).
23 |
24 | 2. **Versioned and Immutable**
25 |
26 | Desired state is [stored](https://github.com/open-gitops/documents/blob/v1.0.0/GLOSSARY.md#state-store) in a way that enforces immutability, versioning and retains a complete version history.
27 |
28 | 3. **Pulled Automatically**
29 |
30 | Software agents automatically pull the desired state declarations from the source.
31 |
32 | 4. **Continuously Reconciled**
33 |
34 | Software agents [continuously](https://github.com/open-gitops/documents/blob/v1.0.0/GLOSSARY.md#continuous) observe actual system state and [attempt to apply](https://github.com/open-gitops/documents/blob/v1.0.0/GLOSSARY.md#reconciliation) the desired state.
35 |
36 | ## GitOps is more than just storing infrastructure-as-code
37 |
38 | As [git history shows](https://github.com/open-gitops/documents/commits/v1.0.0), the wording of each principle and linked glossary item was very carefully chosen.
39 | While many of these principles should be familiar to professionals, many are surprised to learn that they still have work to do to implement GitOps fully.
40 |
41 | _Declarative_ is usually the easiest principle to understand.
42 | Not just infrastructure-as-code but all configuration data that is needed to run a system including the application layer.
43 | While this doesn’t generally include persistent application data such as database contents it often includes credentials and configuration for data recovery or data access.
44 |
45 | _Versioned and Immutable_ is often understood as “use git” but there is more to it than that.
46 | If that desired state describes using a “latest” tag for example, it is no longer versioned because there is no way to rollback changes in the desired state.
47 | Likewise, many version control systems can be used in GitOps as long as they meet those two basic requirements and teams use them in a conformant manner.
48 |
49 | _Pulled Automatically_ means we have to have software agents constantly observing the desired state.
50 | While triggers may exist to speed up that observation, a GitOps system shouldn’t exclusively rely on them.
51 | Software agents need to constantly be aware of what the desired state should be, not only when a deliberate change is made.
52 | The verb “pull” here is used very clearly in contrast to the way traditional CI/CD pipelines function based on triggers that simply push.
53 |
54 | Finally, _Continuously Reconciled_ brings it all together.
55 | The GitOps software agents have to be aware of the actual state of a system under management and attempt to apply the desired state.
56 | Being constantly aware of both the actual state and desired state means we can detect anytime they are out of alignment whether by changes to the desired state (normal operation) or changes to the actual state (drift), a GitOps software agent should detect this attempt to apply the desired state.
57 |
58 | When teams implement these principles and achieve GitOps they deploy more often, have fewer regressions, and are more competitive.
59 | They bring together decades of experience delivering software to create a standard that is incredibly powerful and accessible and rapidly being adopted by a growing number of open source tools and vendors.
60 |
61 | ## What’s next
62 |
63 | There’s so much more on the horizon and we need your help!
64 | This vendor-neutral, principle-led meaning of GitOps establishes a foundation for interoperability between tools, conformance, and certification through lasting programs, documents, and code.
65 |
66 | How do you use GitOps?
67 | Join us in developing GitOps case studies and best practices, plan GitOps events, and help with the direction of the OpenGitOps project!
68 |
69 |
74 |
--------------------------------------------------------------------------------
/content/blog/cdcon+gitopscon-at-open-source-summit/images/gitopscon-opengitops-blog-banner.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/open-gitops/website/4c355f478ae2b5d7e8b5fc62a6c50d44e3e28f7f/content/blog/cdcon+gitopscon-at-open-source-summit/images/gitopscon-opengitops-blog-banner.png
--------------------------------------------------------------------------------
/content/blog/cdcon+gitopscon-at-open-source-summit/index.mdx:
--------------------------------------------------------------------------------
1 | ---
2 | title: 📢 GitOpsCon relocates to Open Source Summit
3 | date: "2022-12-16"
4 | description: "GitOpsCon relocates to Open Source Summit"
5 | author: Scott Rigby
6 | thumbnail: images/gitopscon-opengitops-blog-banner.png
7 | ---
8 |
9 | On December 14th, the CNCF [announced changes to how co-located events will work](https://www.cncf.io/blog/2022/12/14/important-updates-for-2023-kubecon--cloudnativecon-and-co-located-events/) moving forward, starting with KubeCon + CloudNativeCon 2023 EU.
10 |
11 | With this announcement, we are happy to announce that GitOpsCon is joining forces with cdCon and moving from KubeCon + CloudNativeCon to Open Source Summit starting in 2023!
12 |
13 | This relocation to Open Source Summit - also a Linux Foundation event - is planned to continue moving forward, both in North America and Europe, and more directly align CD Foundation and CNCF communities. Everyone is welcome!
14 |
15 | ## Upcoming dates
16 |
17 | | | |
18 | | -- | -- |
19 | | April 2023 | The GitOps WG and OpenGitOps will continue to have an onsite presence at [KubeCon + CloudNativeCon, EU 2023](https://events.linuxfoundation.org/kubecon-cloudnativecon-europe/) in Amsterdam, NL - as a project meeting or ½ day co-located event - but this will no longer be where the main GitOpsCon event is held. In addition, CNCF GitOps projects such as Argo, Carvel, Flux, and Keptn will be in the project pavilion as usual. |
20 | | May 2023 | This coming GitOpsCon will be at [Open Source Summit, North America 2023](https://events.linuxfoundation.org/open-source-summit-north-america/) from May 10-12 in Vancouver, Canada. This will be a 2-day, multi-track event, in a larger space to accommodate even more attendees! A CNCF booth is also planned to be next to the CD Foundation booth, to represent CNCF groups including the GitOps WG, and projects relevant to the colocated events including GitOps CNCF projects above. |
21 | | September 2023 | The following GitOpsCon would be at [Open Source Summit, Europe 2023](https://events.linuxfoundation.org/open-source-summit-europe/) in Bilbao, Spain. |
22 | | November 2023 | Continuing with GitOps WG and OpenGitOps project meeting at [KubeCon + CloudNativeCon, NA 2023](https://events.linuxfoundation.org/kubecon-cloudnativecon-north-america-2023/) in Chicago, IL. |
23 |
24 | ## Context
25 |
26 | GitOpsCon will share this event with CdCon, and co-organize this with the CD Foundation. This is a huge alignment between CNCF and the CDF, and we are honoured that GitOpsCon can serve as the gateway for this collaboration
27 | While this is also part of a larger reorganisation of co-located events at KubeCon + CloudNativeCon, GitOpsCon in particular has been the most well-attended KCCNC co-located event.
28 | So it is a truly exciting announcement that GitOpsCon is now large enough to move to this kind of joint event at Open Source Summit!
29 |
30 | ## Communication
31 |
32 | - On Dec 8 LF informed the GitOpsCon organisers of this change by email. We have not yet announced this to the rest of the WG in the week between then and now because there has not been a WG meeting, and we have been in discussion with LF this past week to gather details before presenting to the group. As of our meeting with Linux Foundation staff today, Dec 15, we now have more complete info to share.
33 | - We will announce this through the TAG App Delivery mailing list, in CNCF Slack #opengitops and #wg-gitops channels. Additionally, we are working on a short blog post on this for opengitops.dev website and the media subgroup will promote it through Twitter, Discord, etc for those GitOpsCon who don't attend WG meetings or watch our Slack channels or the mailing list.
34 |
35 | ## Presence at KubeCon + CloudNativeCon EU 2023
36 |
37 | - The GitOps Working Group will still have the option to potentially host a project meeting or ½ day co-located event onsite at KCCNC. We have tentatively said yes to this, pending feedback from the group at our next WG meeting and when this is announced through the mailing list
38 |
39 | ## Benefits for attendees
40 |
41 | - GitOpsCon will now be a 2-day event! We are currently considering one day for hands-on workshops and community conversations, and the other day for sessions as we have done previously. We will confirm this publicly either way, as soon as this is decided by GitOpsCon and cdCon organizers.
42 | - Attendees no longer need to register for the parent conference to attend GitOpsCon! Previously, in order to attend GitOpsCon, attendees needed to also register for KubeCon + CloudNativeCon – an additional expense for those who only wanted GitOpsCon. Now attendees may register for cdCon + GitOpsCon colocated event on its own, without having to also register for the rest of the parent event - now Open Source Summit - saving money for those who want this option.
43 |
44 | ## Sponsorship
45 |
46 | - This move also comes with more options and benefits for sponsors. Lead generation will now be available to all sponsorship levels (Diamond, Platinum, Gold, Silver, and Startup), with additional benefits at each tier as well. Sponsorship packages will be published very soon. We are encouraging more organizations to sponsor this time around - to help keep attendee costs down, and share investment in this important event for the GitOps community. We will be amplifying huge thanks as sponsors become confirmed!
47 |
48 | Looking forward to seeing you there!
49 |
--------------------------------------------------------------------------------
/content/blog/flux-cncf-graduation/images/flux-cncf-graduation.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/open-gitops/website/4c355f478ae2b5d7e8b5fc62a6c50d44e3e28f7f/content/blog/flux-cncf-graduation/images/flux-cncf-graduation.png
--------------------------------------------------------------------------------
/content/blog/flux-cncf-graduation/index.mdx:
--------------------------------------------------------------------------------
1 | ---
2 | title: Flux Graduates within CNCF! 🥳
3 | date: "2022-11-30"
4 | description: "Flux Graduates within CNCF!"
5 | author: Scott Rigby
6 | thumbnail: images/flux-cncf-graduation.png
7 | ---
8 |
9 | Today we celebrate [Flux's graduation within CNCF](https://www.cncf.io/announcements/2022/11/30/flux-graduates-from-cncf-incubator/)!
10 | A momentous occasion not only for the Flux project, but for the GitOps Working Group and OpenGitOps project.
11 | Flux (and its subproject, Flagger) has been providing GitOps and Progressive Delivery capabilities to a growing community of users, enterprise companies, and providers such as Weaveworks, AWS, Microsoft, D2iQ, VMware, and Red Hat.
12 | So it's no surprise that the project met the scrutiny of the Cloud Native Computing Foundation's Technical Oversight Committee and its third-party security audits.
13 | Flux has come a long way since its beginnings as the project that [led to the term, GitOps](https://www.weave.works/blog/the-history-of-gitops).
14 | Flux's graduation within CNCF validates the maturity of the project, the GitOps landscape, and the purpose of the OpenGitOps project.
15 |
16 | Enterprise users have shared their experiences:
17 |
18 | > Flux makes Kubernetes easier to use for platform teams, and … Flux and Flagger make GitOps safer to adopt for developers.
19 | > \- Ivan Anisimov, Director of Engineering, RingCentral
20 |
21 | These are some of the reasons that led Amazon, Codefresh, GitHub, Microsoft, and Weaveworks to create the GitOps Working Group within the CNCF.
22 | As voiced by their CTO:
23 |
24 | > The Flux project in the CNCF has been exciting because it has been a simple extension of Kubernetes and helped pioneer the GitOps movement.
25 | > \- Chris Aniszczyk, CTO, Cloud Native Computing Foundation
26 |
27 | As Kubernetes co-creator, Brendan Burns, has noted in “[GitOps as an evolution of Kubernetes](https://www.youtube.com/watch?v=c2k16drHqvA&list=PL9lTuCFNLaD0ogh8S9cYMZTkzzrTxjg1o&index=10),” this trend is increasingly being seen as a natural natural extension, evolution, and value-add to Kubernetes itself.
28 | And Kubernetes Co-Founder, Joe Beda, adds:
29 |
30 | > Application deployment is a deceptively hard problem. The general approach of GitOps is to leverage existing tools with deep support and good security aspects to create automation that is easy for developers and operators to reason about. Flux is the premier way to apply this to Kubernetes and, by being constructed as a toolkit, both solves existing problems and is set up to lead the charge as we, as an industry, continue to innovate around these ideas.
31 | > \- Joe Beda, Kubernetes Co-Founder
32 |
33 | Many end users have also shared how Flux's design and technical benefits help them to achieve their business needs:
34 |
35 | > At Ortec for communications, Flux has been an essential part of our DevOps journey and the ability to do more with less.
36 | > \- Mathijs Hoogland, Senior DevOps Engineer, Ortec for communications
37 |
38 | > At J. B. Hunt, Flagger is an essential part of allowing our devs to deploy more rapidly than our regular schedule. Flagger's progressive delivery helps us provide reliability to business-critical apps for our customers.
39 | > \- Daniel Trimble, Director of SRE, J.B. Hunt Transport, Inc.
40 |
41 | Flux users have shared all types of needs: multi-region cluster management for their globally growing businesses, managing traffic spikes on special holidays, migrating legacy applications to modern infrastructure, complying with industry regulations and auditors, and much more.
42 | In all of these cases, Flux and Flagger have been core tools to help them meet these business needs in ways that takes away the manual work and gives them room to innovate with velocity.
43 |
44 | Flux's graduation and stories like these are particularly exciting for the GitOps Working Group and the OpenGitOps project.
45 | Flux follows the [4 core principles](https://github.com/open-gitops/documents/blob/release-v1.0.0/PRINCIPLES.md) and the [adopters](https://fluxcd.io/adopters/) are showing the benefits that they enjoy.
46 | As GitOps and Flux have moved into the mainstream, risk averse verticals such as global banking, telecoms, and government have adopted Flux already.
47 | One reason for this is that you cannot have innovative offerings without [making security a priority](https://fluxcd.io/flux/security/):
48 |
49 | > We work with security professionals as part of an ongoing development process as security is a top priority in Flux's design and maintenance.
50 | > \- Paulo Gomes, Flux maintainer, Weaveworks
51 |
52 | Flux's graduation is a big win for the CNCF and a win for the many current and future adopters that the OpenGitOps project supports.
53 | We congratulate Flux for the success and for the years of growth to come. 💖
54 |
--------------------------------------------------------------------------------
/content/blog/gitops-days-2022/images/gitops-days-2022-recap.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/open-gitops/website/4c355f478ae2b5d7e8b5fc62a6c50d44e3e28f7f/content/blog/gitops-days-2022/images/gitops-days-2022-recap.png
--------------------------------------------------------------------------------
/content/blog/gitops-schedule-kubecon-eu-2023/index.mdx:
--------------------------------------------------------------------------------
1 | ---
2 | title: GitOps at KubeCon EU (Amsterdam) 2023
3 | date: "2023-04-10"
4 | description: "GitOps Schedule at KubeCon Amsterdam"
5 | author: Stacey Potter
6 | thumbnail: kubecon-europe-2023-1.png
7 | ---
8 |
9 | We know tracking all the things at KubeCon can be a challenge, so we thought we'd gather up all things GitOps that are happening at KubeCon EU in Amsterdam in one blog post (hope it helps). Please let us know if we missed anything, and be sure to add these to your Schedule!
10 |
11 | ## Tuesday, 18 April 2023 (Day 0)
12 |
13 | - 08:00 - 12:00 CEST: [OpenGitOps Project Meeting](https://sched.co/1K65O)
14 | - 09:00 - 17:00 CEST: [ArgoCon Europe](https://events.linuxfoundation.org/kubecon-cloudnativecon-europe/co-located-events/argocon/)
15 | - 13:00 - 17:00 CEST: [Flux Project Meeting](https://sched.co/1JWP8)
16 |
17 | ## Wednesday, 19 April 2023 (Day 1)
18 |
19 | - 11:55 CEST: [How We Securely Scaled Multi-tenancy with VCluster, Crossplane and ArgoCD with Konstantinos & Ilia from Codefresh](https://sched.co/1HyYu)
20 | - 11:55 CEST: [Flux Maintainer Track Talk "Flux Beyond Git: Harnessing the Power of OCI" with Stefan Prodan & Hidde Beydals from Weaveworks](https://sched.co/1HySr)
21 | - 14:30 CEST:
22 | - [ArgoCD Maintainer Track Talk "ArgoCD Core - A Pure GitOps Agent for Kubernetes" with Alexander Matyushentsev of Akuity & Leonardo Luz Almeida of Intuit](https://sched.co/1HySi)
23 | - [A Confidential Story of Well-Kept Secrets - Lukonde Mwila, AWS](https://sched.co/1HyVr)
24 |
25 | - 16:30 CEST:
26 | - [Protecting Your Crown Jewels with External Secrets Operator with Moritz Johner of Form3](https://sched.co/1HyYQ)
27 | - [Operate Multi-Tenancy Service Mesh with ArgoCD in Production - Lin Sun, Solo.io & Faseela K, Ericsson Software Technology](https://sched.co/1Hyd1)
28 |
29 |
30 | ## Thursday, 20 April 2023 (Day 2)
31 |
32 | - 11:00 CEST: [Unlocking Argo CD’s Hidden Tools for Chaos Engineering - Featuring VCluster and More - Dan Garfield & Brandon Phillips, Codefresh](https://sched.co/1Hybl)
33 | - 11:55 CEST:
34 | - [How We Migrated Over 1000 Services to Backstage Using GitOps and Survived to Talk About It! - Shahar Shmaram & Ran Mansoor, AppsFlyer](https://sched.co/1Hyae)
35 | - [Tips from the Trenches: GitOps at Adobe - Larisa Andreea Danaila & Ionut-Maxim Margelatu, Adobe](https://sched.co/1Hyca)
36 | - [Automated Cloud-Native Incident Response with Kubernetes and Service Mesh - Matt Turner, Tetrate & Francesco Beltramini, Control Plane](https://sched.co/1HyZ9)
37 | - 14:30 CEST: [Ephemeral Clusters as a Service with ClusterAPI and GitOps - Alessandro Vozza, Solo.io & Joaquin Rodriguez, Microsoft](https://sched.co/1HyXe)
38 | - 15:25 CEST:
39 | - [Automating Configuration and Permissions Testing for GitOps with OPA Conftest - Eve Ben Ezra & Michael Hume, The New York Times](https://sched.co/1HydS)
40 | - [The Day We Delete(d) Production - Ricardo Rocha & Spyridon Trigazis, CERN](https://sched.co/1HyaS)
41 | - 16:00 CEST: [Graduated Project Celebration: Join us near the project pavilion for cupcakes to celebrate our newest Graduated Projects, Flux and Argo!](https://sched.co/1KRtT)
42 | - 16:30 CEST:
43 | - [Deliver Applications Efficiently with Cloud-Native Platforms - Thomas Schuetz,; Josh Gavant, Red Hat; Jennifer Strejevitch, Kainos](https://sched.co/1Hzd9)
44 | - [Tutorial: Deploying Cloud-Native Applications Using Kubevela and OAM - Daniel Higuero, Napptive](https://sched.co/1Hyaw)
45 | - 17:25 CEST:
46 | - [Disaster Recovery: Bringing Back Production from Scratch in Under 1 Hour Using KOps, ArgoCD and Velero - Andre Jay Marcelo-Tanner, Ada Support](https://sched.co/1Hye8)
47 | - [Beyond Gateway API: Building a Cloud Agnostic Gateway Controller for Self-Service Network Configuration - Michael Vittrup Larsen & Martin Villumsen, TV 2 Denmark](https://sched.co/1HyaP)
48 |
49 | ## Friday, 21 April 2023 (Day 3)
50 |
51 | - 11:00 CEST: [Keptn Maintainer Track Talk: Navigating the Delivery Lifecycle with Keptn - Giovanni Liva, Dynatrace; Ana Margarita Medina, Lightstep; Brad McCoy, Basiq; Meha Bhalodiya, Red Hat](https://sched.co/1HyTy)
52 | - 14:00 CEST
53 | - [How to Make Kubernetes Rhyme with Prod-Readiness - Tiffany Jernigan, VMware & Matthias Haeussler, Novatec Consulting GmbH](https://sched.co/1Hydw)
54 | - [Building Apache Druid on Kubernetes: How Dailymotion Serves Partner Data - Cyril Corbon & Alex Triquet, Dailymotion](https://sched.co/1Hyab)
55 | - [Our Journey Through Cloud-Native as Mentee and Mentor - Brad McCoy, Basiq & Meha Bhalodiya, Student](https://sched.co/1HyWU)
56 | - 14:55 CEST: [How GitOps Changed Our Lives & Can Change Yours Too! - Priyanka Ravi, Weaveworks; Christian Hernandez, Red Hat; Filip Jansson, Strålfors; Roberth Strand, Amesto Fortytwo; Leigh Capili, VMware](https://sched.co/1HydD)
57 | - 16:00 CEST:
58 | - [Self-Service GitOps at a Regulated Enterprise - Erick Bourgeois, Freelance https://sched.co/1Hyc9)
59 | - [A Look Under the Hood of CNCF Security Audits - Adam Korczynski & David Korczynski, Ada Logics](https://sched.co/1Hybf)
60 |
61 | Looking forward to seeing you there!
62 |
--------------------------------------------------------------------------------
/content/blog/gitops-schedule-kubecon-eu-2023/kubecon-europe-2023-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/open-gitops/website/4c355f478ae2b5d7e8b5fc62a6c50d44e3e28f7f/content/blog/gitops-schedule-kubecon-eu-2023/kubecon-europe-2023-1.png
--------------------------------------------------------------------------------
/content/blog/gitops-schedule-kubecon-na-2024/index.mdx:
--------------------------------------------------------------------------------
1 | ---
2 | title: GitOps at KubeCon NA (Salt Lake City) 2024
3 | date: "2024-11-07"
4 | description: "GitOps Schedule at KubeCon Salt Lake City"
5 | author: Christian Hernandez
6 | thumbnail: kubecon_saltlake.jpeg
7 | ---
8 |
9 | We know tracking all the things at KubeCon can be a challenge, so we we gathered up all things related to GitOps that are happening at KubeCon NA in Salt Lake City in one blog post (hope it helps). Please let us know if we missed anything, and be sure to add these to your Schedule!
10 |
11 | ## Tuesday, 12 November 2024 (Day 0)
12 |
13 | - [ArgoCon NA](https://sched.co/1iVjy)
14 | - [Accelerating Application Delivery with OpenTofu Controller and GitOps](https://sched.co/1jCbL) - Lucas Duarte & Tiago Reichert (AWS) at OpenTofu Day, Community Insights colo event
15 | - [Flux lightning talk: What’s Flux and What’s New?](https://sched.co/1iW8J) | Project Lightning Talk with Leigh Capili (Flox) & Tamao Nakahara (helix.ml)
16 |
17 | ## Wednesday 13 November 2024 (Day 1)
18 |
19 | - [TUF: Secure Distribution Beyond Software - Marina Moore, Independent](https://sched.co/1hovM)
20 | - [GitOops... I Did It Again! Protecting Your GitOps System from Being Used for Privilege Escalation - Oreen Livni & Elad Pticha, Cycode](https://sched.co/1i7nd)
21 | - [Towards Zero Change Incidents: Intuit's Strategy for Implementing AI-Driven Progressive Delivery - Avik Basu & Saravanan Balasubramanian, Intuit](https://sched.co/1i7kp)
22 | - [Mastering ApplicationSet: Advanced Argo CD Automation - Alexander Matyushentsev, Akuity](https://sched.co/1hovt)
23 | - [Perform Laser Focused Deployments by Deciding in Advance the Blast Radius - Kostis Kapelonis, Octopus deploy](https://sched.co/1i7mH)
24 | - [Taming Your Application’s Environments - Marcos Lilljedahl, Dagger & Mauricio "Salaboy" Salatino, Diagrid](https://sched.co/1i7kY)
25 | - [Poster Session (PS10): Accepting Mortality: Strategies for Ultra-Long Running Stateful Workloads in K8s - Sebastian Beyvers & Maria Hansen, Giessen University](https://sched.co/1i7mo)
26 |
27 | ## Thursday 14 November 2024 (Day 2)
28 |
29 | - [GitOps at Production Scale with Flux - Leigh Capili, Flux & Priyanka Ravi, G-Research](https://sched.co/1howJ)
30 | - [Shifting Gears: Leveraging CNCF Tools to Streamline Operations at Toyota Connected - Benson Phillips & Rob Heckel, Toyota Connected](https://sched.co/1i7oE)
31 | - [From Chaos to Calm: Building a Unified and Scalable CI/CD Pipeline at Akamai - Tomer Patel, Akamai Technologies Inc.](https://sched.co/1i7nh)
32 | - [One Inventory to Rule Them All: Standardizing Multicluster Management - Corentin Debains, Google & Ryan Zhang, Microsoft](https://sched.co/1i7o5)
33 | - [Bring the Joy Back to Deployments! - Murriel McCabe, Google Cloud & Elizabeth Ponce, Airbnb](https://sched.co/1i7p3)
34 | - [Inside Argo: A Documentary Film World Premiere](https://sched.co/1mWb4)
35 |
36 | ## Project Pavilion
37 |
38 | There will also be members of the OpenGitOps Project at the Flux, Argo, and Keptn booths at the Project Pavilion.
39 |
40 | Looking forward to seeing you all there!
41 |
--------------------------------------------------------------------------------
/content/blog/gitops-schedule-kubecon-na-2024/kubecon_saltlake.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/open-gitops/website/4c355f478ae2b5d7e8b5fc62a6c50d44e3e28f7f/content/blog/gitops-schedule-kubecon-na-2024/kubecon_saltlake.jpeg
--------------------------------------------------------------------------------
/content/blog/gitopscon-eu-2023/images/GitOpsCon-NA-2023-image.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/open-gitops/website/4c355f478ae2b5d7e8b5fc62a6c50d44e3e28f7f/content/blog/gitopscon-eu-2023/images/GitOpsCon-NA-2023-image.png
--------------------------------------------------------------------------------
/content/blog/gitopscon-eu-2023/index.mdx:
--------------------------------------------------------------------------------
1 | ---
2 | title: GitOpsCon Europe 2023
3 | date: "2023-11-02"
4 | description: "GitOpsCon Europe 2023 Schedule is Out!"
5 | author: Stacey Potter
6 | thumbnail: images/GitOpsCon-NA-2023-image.png
7 | ---
8 |
9 | The GitOps Working Group is proud to announce that
10 | the schedule for GitOpsCon Europe 2023 has been
11 | released! Check out the full schedule on the [official event website](https://events.linuxfoundation.org/gitopscon-europe/program/schedule/).
12 |
13 | GitOpsCon Europe is a virtual event, and we have 2 half days (on Dec 5-6)
14 | of talks aimed at every level. Whether you are just
15 | beginning your GitOps journey or are a current user of GitOps,
16 | you will find the content that's rigth for you. From stories of
17 | how GitOps helped and where systems broke down, to end user talks
18 | around GitOps implementations, to how some convinced larger
19 | organizations to adopt GitOps, how to's, and more - there's something
20 | for everyone.
21 |
22 | Come join us as we hear talks from by Deutsche Telekom, Flipt,
23 | Kubesimplify, Orange, Venafi, and many more about how GitOps is shaping their
24 | environment. You will also hear from Amazon (AWS), Codefresh, Microsoft,
25 | Red Hat, Weaveworks, and the other GitOps Working Group members.
26 |
27 | We're looking for sponsors! You can view the sponsorship prospectus [here](https://events.linuxfoundation.org/wp-content/uploads/2023/10/sponsor-GitOpsCon-2023_102723.pdf)
28 | Contact sponsor@cncf.io to secure your sponsorship today at the
29 | start-up, gold, platinum, or diamond level.
30 |
31 |
32 |
37 |
--------------------------------------------------------------------------------
/content/blog/gitopscon-na-2021/images/goc-na-2021.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/open-gitops/website/4c355f478ae2b5d7e8b5fc62a6c50d44e3e28f7f/content/blog/gitopscon-na-2021/images/goc-na-2021.jpg
--------------------------------------------------------------------------------
/content/blog/gitopscon-na-2021/index.mdx:
--------------------------------------------------------------------------------
1 | ---
2 | title: GitOpsCon North America 2021
3 | date: "2021-09-01T22:12:03.284Z"
4 | description: "GitOpsCon North America 2021 schedule is out!"
5 | author: Christian Hernandez
6 | thumbnail: images/goc-na-2021.jpg
7 | ---
8 |
9 | The GitOps Working Group is proud to announce that
10 | the schedule for GitOpsCon North America 2021 has been
11 | released! You can see the full schedule on the [official event website](https://events.linuxfoundation.org/gitopscon-north-america/program/schedule/).
12 |
13 | We like to give a special thanks to our diamond level sponsors [Amazon
14 | (AWS)](https://aws.amazon.com/), [Red Hat](https://www.redhat.com),
15 | and [Weaveworks](https://www.weave.works). We also like to thank
16 | our Gold level sponsors [Codefresh](https://codefresh.io/) and
17 | [HashiCorp](https://www.hashicorp.com/) as well. You all rock!
18 |
19 | GitOpsCon will have talks aimed at every level. So whether you are
20 | just begining your GitOps journey, or are a current user of GitOps,
21 | you will find a great deal of information. From end user stories to how
22 | tos, there is plenty of content to keep you interested.
23 |
24 | Come join us as we hear talks from by Chick-fil-A, CERN, State Farm,
25 | Starbucks, and many more about how GitOps is shaping their
26 | environment. You will also hear from Amazon (AWS), Codefresh, Red Hat,
27 | Weaveworks, and the other GitOps Working Group members.
28 |
29 | This will be a Day 0 event Co-located with KubeCon. So when you are
30 | registering for KubeCon, don't forget to add GitOpsCon! You can also
31 | register for the event directly from the event page by clicking the
32 | link below.
33 |
34 |
35 |
40 |
--------------------------------------------------------------------------------
/content/blog/sec-gitops/images/GitOps-1.0.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/open-gitops/website/4c355f478ae2b5d7e8b5fc62a6c50d44e3e28f7f/content/blog/sec-gitops/images/GitOps-1.0.jpg
--------------------------------------------------------------------------------
/content/blog/sec-gitops/index.mdx:
--------------------------------------------------------------------------------
1 | ---
2 | title: Security of GitOps
3 | date: "2022-02-22T22:12:03.284Z"
4 | description: "Security of GitOps"
5 | author: Mateusz Pruchniak
6 | thumbnail: images/GitOps-1.0.jpg
7 | ---
8 |
9 | # Security of GitOps
10 |
11 | ## Introduction to GitOps
12 |
13 | GitOps is code-based infrastructure and operational procedure that rely on Git as a source control system. It is an evolution of Infrastructure as Code (IaC) and a DevOps best practice that leverages Git as the single source of truth, and control mechanism for creating, updating, and deleting IT system infrastructure. Implementing and using GitOps based strategy changes the way of securing the overall IT systems. Proper implementation of GitOps strategy increases the security and reliability itself but still leaves several attack vectors open. Traditional processes mostly rely on human operational knowledge, expertise and actions performed manually but in case of GitOps all changes are made as interactions with Git repository.
14 | GitOps allows to separate deployments from development and use full advantage of the immutable declarative infrastructure. Every element of the environment can be deployed as often as needed with the same result, instances are redeployed instead of restoring from multiple unique configurations and versions. Immutability of infrastructure protects from making changes from outside of the main deployment process and makes it easier to detect and reverse environment changes based on the declarative state in the Git repository.
15 | One of the other key benefits of GitOps could be more than just how to make the deployment of the infrastructure and software faster, but could also improve MTTR - Mean Time To Remediate/Repair. MTTR is an essential failure metric that represents the average time it takes to repair and restore a component or system to function. GitOps is also helpful in the case of the disaster recovery plan, rollback, and reversing changes.
16 |
17 |
18 | ## Securing GitOps Repository and Process
19 |
20 | GitOps provides:
21 | * a SINGLE source of truth for the state of a given environment,
22 | * a SINGLE process to introduce changes,
23 | * a SINGLE source of truth to run security scans against intended state, allowing for best practices to be enforced before they reach the target environments,
24 | * a SINGLE source of truth to run security scans against previous states to identify when a security issue was introduced (i.e. git bisect),
25 | * a SINGLE set of tests,
26 | * a SINGLE set of permissions and implement necessary controls and gates on this process to make sure that you can meet security requirements.
27 | * ability to eliminate the need to make manual changes on environments.
28 | The centralized management process provides easy access to audit trail: what was changed, who and why made changes. It is achievable thanks to the full history of every change with a dedicated commit message. The best practice of GitOps requires enforcing master branch protection by making Pull Requests with required code review by other senior specialists.
29 |
30 |
31 | ### Secure Git Repository
32 |
33 | In general, the Git repository should be treated as a standard production system and secured in the same way, including the principle of least privilege as well as the separation of duties.
34 |
35 | Particular attention should be focus on:
36 | * Correct level of oversight and access control to repository,
37 | * Enforce branching policy and protect release and shared (i.e. main) branches,
38 | * Enforce peer reviews before changes are merged in shared repositories (i.e. GitHub's Pull Request reviews, pair programming),
39 | * Enforce policy to block sensitive data being pushed to Git, in order to store secrets and credentials safely in a public or private Git repository, use Mozilla SOPS CLI or SealedSecrets to protect it,
40 | * Enforce strong identity with GPG Signed Commits, to give accountability and traceability,
41 | * Require linear history and maintain a commit history by disallowing force pushes,
42 | * Require dedicated reviewers to accept Pull Requests and reviewers from Code Owners (a CODEOWNERS file),
43 | * Enforce static code analysis to security checks,
44 | * Use dedicated technical accounts for GitOps (read-only access) and for CI/CD pipelines,
45 | * Monitoring of Git vulnerabilities, keeping Git and related tools up to date,
46 | * Rotate SSH keys and Personal Access Tokens, block unauthorized access to Git repositories,
47 | * Monitor and implement alerting mechanism,
48 | * Use physical GPG Keys to increase security,
49 | * Always backup Git repositories, backup can be used by verification tools to verify integrity of repository that the commits hashes match, so that if somebody rewrites history to bypass the protections, then commit hashes will not match.
50 |
51 |
52 | ### Securing GitOps Process
53 |
54 | GitOps Process should be secure by design. GitOps processes are responsible to deliver changes to the production environment and if that process is compromised then it can open backdoor in infrastructure or deliver harmful software to the production environment. GitOps processes need to utilize a dedicated non-user technical account for access where credentials are frequently rotated and short lived. It should be restricted who can make changes in process itself including the principle of least privilege as well as the separation of duties. It should be avoided to use administration permissions. GitOps process should be hardened and protected from elevating permissions to remove security features without leaving an audit trail and triggering alerts. List of allowed repositories should be limited by using FQDN filtering.
55 | It is important to implement quality gates in the process and prevent the deployment of containers with critical vulnerability (use e.g. Open Policy Agent, Grafeas, Kritis).
56 |
57 |
58 | ### Securing GitOps Containers
59 |
60 | GitOps require that only images that have successfully passed and gone through all the steps of CI/CD pipeline are allowed to be deployed into every environment.
61 | Process of building images should be hermetic and nobody can sideload images bypassing the main process. GitOps containers should be stored in a private container registry, not only for security reasons but also for reliability, performance, and privacy. Containers should be immutable and never change the meaning of a container as well as an assigned tag. Every container should be scanned for vulnerabilities (e.g. TwistLock), dependency scanning, signed and verified compliance with CIS Kubernetes Benchmark.
62 |
63 |
--------------------------------------------------------------------------------
/content/events/20220216-gitops-eks-anywhere-flux.mdx:
--------------------------------------------------------------------------------
1 | ---
2 | title: GitOps with Amazon EKS Anywhere + Flux with Dan Budris
3 | date: "2022-02-16"
4 | location: "Virtual"
5 | attend: https://www.meetup.com/GitOps-Community/events/283339915/
6 | recordings:
7 | ---
8 |
--------------------------------------------------------------------------------
/content/events/20220217-gitops-for-helm-users.mdx:
--------------------------------------------------------------------------------
1 | ---
2 | title: GitOps for Helm Users with Scott Rigby
3 | date: "2022-02-17"
4 | location: "Virtual"
5 | attend: https://www.meetup.com/GitOps-Community/events/283851888/
6 | recordings:
7 | ---
8 |
--------------------------------------------------------------------------------
/content/events/20220224_cncf_get-started-gitops-flux.mdx:
--------------------------------------------------------------------------------
1 | ---
2 | title: Getting Started with GitOps & Flux
3 | date: "2022-02-24"
4 | location: "Virtual"
5 | attend: https://community.cncf.io/events/details/cncf-cncf-online-programs-presents-cncf-on-demand-webinar-getting-started-with-gitops-flux/
6 | recordings: https://community.cncf.io/events/details/cncf-cncf-online-programs-presents-cncf-on-demand-webinar-getting-started-with-gitops-flux/
7 | ---
8 |
--------------------------------------------------------------------------------
/content/events/20220224_gitops-with-github-and-flux.mdx:
--------------------------------------------------------------------------------
1 | ---
2 | title: GitOps with GitHub Actions and Flux
3 | date: "2022-02-24"
4 | location: "Virtual"
5 | attend: https://www.meetup.com/GitOps-Community/events/284000202/
6 | recordings:
7 | ---
8 |
--------------------------------------------------------------------------------
/content/events/20220302_managing-thousands-clusters-flux.mdx:
--------------------------------------------------------------------------------
1 | ---
2 | title: Managing Thousands of Clusters & Their Workloads with Flux - Max Jonas Werner
3 | date: "2022-03-02"
4 | location: "Virtual"
5 | attend: https://www.meetup.com/GitOps-Community/events/283484465/
6 | recordings:
7 | ---
8 |
--------------------------------------------------------------------------------
/content/events/20220331-gitops-for-helm-users.mdx:
--------------------------------------------------------------------------------
1 | ---
2 | title: GitOps for Helm Users with Scott Rigby
3 | date: "2022-03-31"
4 | location: "Virtual"
5 | attend: https://www.meetup.com/GitOps-Community/events/284800690/
6 | recordings:
7 | ---
8 |
--------------------------------------------------------------------------------
/content/events/202203_flux-for-helm-users.mdx:
--------------------------------------------------------------------------------
1 | ---
2 | title: Flux for Helm Users with Scott Rigby
3 | date: "2022-03-03"
4 | location: "Virtual"
5 | attend: https://community.cncf.io/events/details/cncf-cncf-online-programs-presents-cncf-on-demand-webinar-flux-for-helm-users/
6 | recordings: https://community.cncf.io/events/details/cncf-cncf-online-programs-presents-cncf-on-demand-webinar-flux-for-helm-users/
7 | ---
8 |
--------------------------------------------------------------------------------
/content/events/20220915-cncf-odw-Flux-OCI:
--------------------------------------------------------------------------------
1 | ---
2 | title: CNCF On-Demand Webinar: Flux increased security & scalability with OCI
3 | date: "2022-09-15"
4 | location: "Virtual"
5 | url: https://youtu.be/l5pVzP6wsP0
6 | ---
7 |
--------------------------------------------------------------------------------
/content/events/20220929-cncf-odw-how-to-gitops-your-terraform:
--------------------------------------------------------------------------------
1 | ---
2 | title: CNCF On-Demand Webinar: How to GitOps your Terraform!
3 | date: "2022-09-29"
4 | location: "Virtual"
5 | url: https://community.cncf.io/events/details/cncf-cncf-online-programs-presents-cncf-on-demand-webinar-how-to-gitops-your-terraform/
6 | ---
7 |
--------------------------------------------------------------------------------
/content/events/argocon-2022.mdx:
--------------------------------------------------------------------------------
1 | ---
2 | title: ArgoCon NA 2022
3 | date: "2022-09-19"
4 | location: "Hybrid (In-Person and Virtual)"
5 | attend: https://events.linuxfoundation.org/argocon/
6 | recordings: https://youtube.com/playlist?list=PLj6h78yzYM2MbKazKesjAx4jq56pnz1XE
7 | ---
8 |
--------------------------------------------------------------------------------
/content/events/argocon-eu-2023.mdx:
--------------------------------------------------------------------------------
1 | ---
2 | title: ArgoCon EU 2023
3 | date: "2023-04-18"
4 | location: "Kubecon - Amsterdam Netherlands"
5 | attend: https://events.linuxfoundation.org/kubecon-cloudnativecon-europe/co-located-events/argocon/
6 | recordings: https://www.youtube.com/playlist?list=PLj6h78yzYM2MqzIJyc5OBXAgFxjW6ZyBq
7 | ---
8 |
--------------------------------------------------------------------------------
/content/events/argocon-eu-2024.mdx:
--------------------------------------------------------------------------------
1 | ---
2 | title: ArgoCon EU 2024
3 | date: "2024-03-19"
4 | location: "Kubecon - Paris, France"
5 | attend: https://events.linuxfoundation.org/kubecon-cloudnativecon-europe/co-located-events/argocon/
6 | ---
7 |
--------------------------------------------------------------------------------
/content/events/argocon-eu-2025.mdx:
--------------------------------------------------------------------------------
1 | ---
2 | title: ArgoCon EU 2025
3 | date: "2025-04-01"
4 | location: "Kubecon - London, England"
5 | attend: https://events.linuxfoundation.org/kubecon-cloudnativecon-europe/co-located-events/argocon/#about
6 | ---
7 |
--------------------------------------------------------------------------------
/content/events/argocon-na-2023.mdx:
--------------------------------------------------------------------------------
1 | ---
2 | title: ArgoCon NA 2023
3 | date: "2023-11-06"
4 | location: "Kubecon - Chicago, IL USA"
5 | attend: https://events.linuxfoundation.org/kubecon-cloudnativecon-north-america/co-located-events/argocon
6 | ---
7 |
--------------------------------------------------------------------------------
/content/events/argocon-na-2024.mdx:
--------------------------------------------------------------------------------
1 | ---
2 | title: ArgoCon NA 2024
3 | date: "2024-11-12"
4 | location: "Kubecon - Salt Lake City, UT USA"
5 | attend: https://events.linuxfoundation.org/kubecon-cloudnativecon-north-america-2024/
6 | recordings: https://www.youtube.com/playlist?list=PLj6h78yzYM2Ow7Jy0paxwrimeuFGONU_7
7 | ---
8 |
--------------------------------------------------------------------------------
/content/events/argocon-na-2025.mdx:
--------------------------------------------------------------------------------
1 | ---
2 | title: ArgoCon NA 2025
3 | date: "2025-11-10"
4 | location: "Kubecon - Atlanta, Georgia USA"
5 | attend: https://events.linuxfoundation.org/kubecon-cloudnativecon-north-america/co-located-events/argocon/
6 | ---
7 |
--------------------------------------------------------------------------------
/content/events/fluxcon-na-2025.mdx:
--------------------------------------------------------------------------------
1 | ---
2 | title: FluxCon NA 2025
3 | date: "2025-11-10"
4 | location: "Kubecon - Atlanta, Georgia USA"
5 | attend: https://events.linuxfoundation.org/kubecon-cloudnativecon-north-america/co-located-events/fluxcon/
6 | ---
7 |
--------------------------------------------------------------------------------
/content/events/gitops-one-stop-shop.mdx:
--------------------------------------------------------------------------------
1 | ---
2 | title: GitOps One-Stop Shop Event
3 | date: "2021-10-20"
4 | location: "Virtual"
5 | attend: https://weaveworks.zoom.us/webinar/register/WN_iBK5tOxmQFuWsNQsn89seA
6 | recordings:
7 | ---
8 |
--------------------------------------------------------------------------------
/content/events/gitopscon-eu-2021.mdx:
--------------------------------------------------------------------------------
1 | ---
2 | title: GitOpsCon EU
3 | date: "2021-05-03"
4 | location: "Kubecon EU 2021"
5 | attend:
6 | recordings: https://www.youtube.com/playlist?list=PLXOML2VBdIo7xEp8Bo9kFB-d6tTlHK5Fk
7 | ---
8 |
--------------------------------------------------------------------------------
/content/events/gitopscon-eu-2022.mdx:
--------------------------------------------------------------------------------
1 | ---
2 | title: GitOpsCon Europe
3 | date: "2022-05-17"
4 | location: "Kubecon - Valencia, Spain"
5 | attend:
6 | recordings: https://youtube.com/playlist?list=PLj6h78yzYM2PTHsP7RhbRYBT_TDJz5x3M
7 | ---
8 |
--------------------------------------------------------------------------------
/content/events/gitopscon-eu-2023-virtual.mdx:
--------------------------------------------------------------------------------
1 | ---
2 | title: OpenGitOps EU
3 | date: "2023-12-05"
4 | location: "Virtual"
5 | attend: https://events.linuxfoundation.org/gitopscon-europe/
6 | recordings: https://www.youtube.com/playlist?list=PLj6h78yzYM2O_SAJ83NPv8vebFQT9m6x8
7 | ---
8 |
--------------------------------------------------------------------------------
/content/events/gitopscon-eu-2023.mdx:
--------------------------------------------------------------------------------
1 | ---
2 | title: OpenGitOps Project Meeting
3 | date: "2023-04-18"
4 | location: "Kubecon - Amsterdam Netherlands"
5 | attend: https://kccnceu2023.sched.com/event/1K65O
6 | ---
7 |
--------------------------------------------------------------------------------
/content/events/gitopscon-na-2022.mdx:
--------------------------------------------------------------------------------
1 | ---
2 | title: GitOpsCon North America
3 | date: "2022-10-24"
4 | location: "Kubecon - Detroit, Michigan + Virtual"
5 | attend: https://events.linuxfoundation.org/kubecon-cloudnativecon-north-america/
6 | recordings: https://youtube.com/playlist?list=PLj6h78yzYM2PVniTC7pKpHx1KsYjsOJnJ
7 | ---
8 |
--------------------------------------------------------------------------------
/content/events/gitopscon-na-2023.mdx:
--------------------------------------------------------------------------------
1 | ---
2 | title: GitOpsCon North America
3 | date: "2023-05-08"
4 | location: "OpenSource Summit - Vancouver British Columbia, Canada"
5 | attend:
6 | recordings: https://www.youtube.com/playlist?list=PL2KXbZ9-EY9TV7_fwDCl1Wid8_ugpE08h
7 | ---
8 |
--------------------------------------------------------------------------------
/content/events/gitopscon-na-2024.mdx:
--------------------------------------------------------------------------------
1 | ---
2 | title: GitOpsCon NA 2024
3 | date: "2024-04-15"
4 | location: "Seattle, WA USA"
5 | attend: https://events.linuxfoundation.org/gitopscon-north-america/
6 | ---
7 |
--------------------------------------------------------------------------------
/content/events/gitopscon-na-2025.mdx:
--------------------------------------------------------------------------------
1 | ---
2 | title: GitOpsCon NA 2025
3 | date: "2025-11-10"
4 | location: "Kubecon - Atlanta, Georgia USA"
5 | attend: https://events.linuxfoundation.org/kubecon-cloudnativecon-north-america/co-located-events/gitopscon/
6 | ---
7 |
--------------------------------------------------------------------------------
/content/events/gitopscon-us-2021.mdx:
--------------------------------------------------------------------------------
1 | ---
2 | title: GitOpsCon North America
3 | date: "2021-10-12"
4 | location: "Kubecon - Los Angeles, California + Virtual"
5 | attend:
6 | recordings: https://www.youtube.com/watch?v=4gpomcM_sLE&list=PLj6h78yzYM2O_aoiru-ZeyVT0VHdWglfZ
7 | ---
8 |
--------------------------------------------------------------------------------
/content/events/gitopsdays-2022.mdx:
--------------------------------------------------------------------------------
1 | ---
2 | title: GitOps Days 2022
3 | date: "2022-06-08"
4 | location: "Virtual"
5 | attend:
6 | recordings: https://youtube.com/playlist?list=PL9lTuCFNLaD0NVkR17tno4X6BkxsbZZfr
7 | ---
8 |
--------------------------------------------------------------------------------
/content/events/gitopsdays-ww-2021.mdx:
--------------------------------------------------------------------------------
1 | ---
2 | title: GitOps Days 2021 hosted by WeaveWorks
3 | date: "2021-06-09"
4 | location: "Virtual"
5 | attend: https://go.weave.works/2021_gitops_days_registration.html
6 | recordings: https://go.weave.works/2021_gitops_days_registration.html
7 | ---
8 |
--------------------------------------------------------------------------------
/content/events/openshift-commons-gitopsday.mdx:
--------------------------------------------------------------------------------
1 | ---
2 | title: OpenShift Commons Gathering on GitOps
3 | date: "2022-02-09"
4 | location: "Virtual"
5 | attend:
6 | recordings: https://www.youtube.com/watch?v=D2Qn95xrG_E&list=PLaR6Rq6Z4IqcfC5F-DuOlRTpwjLc_IPag
7 | ---
8 |
--------------------------------------------------------------------------------
/content/members/amazon/amazon.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/content/members/amazon/index.mdx:
--------------------------------------------------------------------------------
1 | ---
2 | title: Amazon
3 | site: https://amazon.com
4 | logo: amazon.svg
5 | founding: true
6 | current: true
7 | ---
8 |
--------------------------------------------------------------------------------
/content/members/amestofortytwo/amestofortytwo.svg:
--------------------------------------------------------------------------------
1 |
2 |
4 |
107 |
--------------------------------------------------------------------------------
/content/members/amestofortytwo/index.mdx:
--------------------------------------------------------------------------------
1 | ---
2 | title: Amesto Fortytwo
3 | site: https://amestofortytwo.com
4 | logo: amestofortytwo.svg
5 | current: true
6 | ---
7 |
--------------------------------------------------------------------------------
/content/members/azure/azure.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/content/members/azure/index.mdx:
--------------------------------------------------------------------------------
1 | ---
2 | title: Azure
3 | site: https://azure.microsoft.com
4 | logo: azure.svg
5 | founding: true
6 | current: true
7 | ---
8 |
--------------------------------------------------------------------------------
/content/members/codefresh/codefresh.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/content/members/codefresh/index.mdx:
--------------------------------------------------------------------------------
1 | ---
2 | title: Codefresh
3 | site: https://codefresh.io
4 | logo: codefresh.svg
5 | founding: true
6 | current: true
7 | ---
8 |
--------------------------------------------------------------------------------
/content/members/crayon/crayon.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/content/members/crayon/index.mdx:
--------------------------------------------------------------------------------
1 | ---
2 | title: Crayon
3 | site: https://crayon.com
4 | logo: crayon.svg
5 | current: false
6 | ---
7 |
--------------------------------------------------------------------------------
/content/members/flanksource/index.mdx:
--------------------------------------------------------------------------------
1 | ---
2 | title: Flanksource
3 | site: https://www.flanksource.com
4 | logo: flanksource.svg
5 | current: true
6 | ---
7 |
--------------------------------------------------------------------------------
/content/members/github/github.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/content/members/github/index.mdx:
--------------------------------------------------------------------------------
1 | ---
2 | title: GitHub
3 | site: https://github.com
4 | logo: github.svg
5 | founding: true
6 | current: true
7 | ---
8 |
--------------------------------------------------------------------------------
/content/members/redhat/index.mdx:
--------------------------------------------------------------------------------
1 | ---
2 | title: Red Hat
3 | site: https://redhat.com
4 | logo: redhat.svg
5 | founding: true
6 | current: true
7 | ---
8 |
--------------------------------------------------------------------------------
/content/members/redhat/redhat.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/content/members/weaveworks/index.mdx:
--------------------------------------------------------------------------------
1 | ---
2 | title: WeaveWorks
3 | site: https://www.weave.works
4 | logo: weaveworks.svg
5 | founding: true
6 | current: false
7 | ---
8 |
--------------------------------------------------------------------------------
/content/members/weaveworks/weaveworks.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/content/pages/about.mdx:
--------------------------------------------------------------------------------
1 | The GitOps Working Group is a WG under the CNCF App Delivery SIG.
2 |
3 | The focus of the GitOps WG is to clearly define a vendor-neutral, principle-led meaning of GitOps. This will establish a foundation for interoperability between tools, conformance, and certification. Lasting programs, documents, and code are planned to live within the [OpenGitOps](https://github.com/open-gitops) project.
4 |
5 | See the [charter](https://github.com/cncf/tag-app-delivery/blob/main/gitops-wg/charter.md) for additional info on the group's mission, scope, and alignment with other groups and projects.
6 |
7 | ## Growing Adoption of GitOps
8 |
9 | The creation of the GitOps Working Group was driven by the accelerating adoption of GitOps tools and methodologies by users of services from Amazon, Codefresh, GitHub, Microsoft, Weaveworks, and hundreds of other leading global companies that are adopting GitOps.
10 | This, combined with the recommendation by the Cloud Native Computing Foundation (CNCF) [user community to adopt Flux](https://radar.cncf.io/2020-06-continuous-delivery), made it clear that GitOps is fast becoming the methodology of choice for operating modern cloud native infrastructure and applications.
11 | The CNCF user community reported that development, DevOps, and operations teams who adopt GitOps tooling and follow best practices experience improvements in productivity, stability, reliability, and security for their cloud native environments.
12 |
13 | ## The What and Why of GitOps
14 |
15 | If you are new to GitOps, [it builds and iterates](https://www.weave.works/blog/gitops-operations-by-pull-request) on ideas drawn from DevOps and Infrastructure as Code that started with [Martin Fowler’s comprehensive Continuous Integration overview](https://martinfowler.com/articles/continuousIntegration.html) and provides the freedom to choose the tools that you need for your specific use cases.
16 |
17 | Individuals, teams, and organizations who implement GitOps experience many benefits, including:
18 |
19 | - Increased Developer & Operational Productivity
20 | - Enhanced Developer Experience
21 | - Improved Stability
22 | - Higher Reliability
23 | - Consistency and Standardization
24 | - Stronger Security Guarantees
25 |
--------------------------------------------------------------------------------
/content/pages/get-involved.mdx:
--------------------------------------------------------------------------------
1 | ## How to Get Involved
2 |
3 | The GitOps Working Group is an open group, inviting companies and individuals to join and contribute to the community and the adoption of GitOps across the cloud native landscape.
4 | There are a few ways you can get involved:
5 |
6 | - Watch or star [OpenGitOps project repo](https://github.com/open-gitops/project/blob/main/README.md#repositories) and [CNCF Application Delivery TAG: GitOps Working Group folder](https://github.com/cncf/tag-app-delivery/tree/main/gitops-wg) to see when things change
7 | - Join the [GitOps Subreddit](https://www.reddit.com/r/GitOps/)
8 | - Attend a [Working Group or Committee meeting](https://github.com/cncf/tag-app-delivery/tree/main/gitops-wg#meetings)
9 | - Start or participate in [Discussions](https://github.com/open-gitops/project/discussions)
10 | - [Open a discussion](https://github.com/open-gitops/project/discussions/new)
11 | - [Open an issue](https://github.com/open-gitops/project/issues) and let us know how you're using GitOps and any important considerations we should include
12 | - Join `#opengitops` on [CNCF Slack](https://slack.cncf.io/)
13 | - Join the [SIG App Delivery](https://lists.cncf.io/g/cncf-tag-app-delivery/topics) mailing list, and watch or participate in topics prefixed with `[gitops-wg]`
14 | - Volunteer to join [committees](https://github.com/open-gitops/project/blob/main/GOVERNANCE.md#committees) and help with projects according to your interest and ability
15 |
16 | The Working Group will review all open issues and PRs.
17 |
18 | ## Meetings
19 |
20 | - 🗓 3rd Wednesdays at [19:00 GMT](https://greenwichmeantime.com/time-gadgets/time-zone-converter/)
21 | - 👩💻 Join using [this Zoom link](https://zoom.us/j/93779536510?pwd=TEFzbGRzREI3MVlkZmluemVkMEhHdz09)
22 | - ✏️ See [Agenda and Notes](https://docs.google.com/document/d/1hxifmCdOV5_FbKloDJRWZQHq0ge-trXJKF-BgV4wHVk/) for next and and all previous meetings
23 | - 💡 Hint: use the [document outline](https://support.google.com/docs/answer/6367684) to help navigate to the right meeting!
24 | - 📼 Browse the [YouTube playlists](https://www.youtube.com/channel/UCI6iqYuuI4gZuOCZaks5i1g/playlists) for recordings of all previous meetings
25 | - 📧 Additional committee meetings may be scheduled as needed, and will be announced on the [CNCF App Delivery TAG](https://github.com/cncf/tag-app-delivery) mailing list, prefixed with `[gitops-wg]`
26 |
--------------------------------------------------------------------------------
/content/principles/1-declarative.mdx:
--------------------------------------------------------------------------------
1 | ---
2 | order: 1
3 | title: Declarative
4 | description: A [system](https://github.com/open-gitops/documents/blob/v1.0.0/GLOSSARY.md#software-system) managed by GitOps must have its desired state expressed [declaratively](https://github.com/open-gitops/documents/blob/v1.0.0/GLOSSARY.md#declarative-description).
5 | ---
6 |
7 | A [system](https://github.com/open-gitops/documents/blob/v1.0.0/GLOSSARY.md#software-system) managed by GitOps must have its desired state expressed [declaratively](https://github.com/open-gitops/documents/blob/v1.0.0/GLOSSARY.md#declarative-description).
--------------------------------------------------------------------------------
/content/principles/2-versioned-and-immutable.mdx:
--------------------------------------------------------------------------------
1 | ---
2 | order: 2
3 | title: Versioned and Immutable
4 | description: "Desired state is [stored](https://github.com/open-gitops/documents/blob/v1.0.0/GLOSSARY.md#state-store) in a way that enforces immutability, versioning and retains a complete version history."
5 | ---
6 |
7 | Desired state is [stored](https://github.com/open-gitops/documents/blob/v1.0.0/GLOSSARY.md#state-store) in a way that enforces immutability, versioning and retains a complete version history.
--------------------------------------------------------------------------------
/content/principles/3-pulled-automatically.mdx:
--------------------------------------------------------------------------------
1 | ---
2 | order: 3
3 | title: Pulled Automatically
4 | description: "Software agents automatically pull the desired state declarations from the source."
5 | ---
6 |
7 | Software agents automatically pull the desired state declarations from the source.
--------------------------------------------------------------------------------
/content/principles/4-continuously-reconciled.mdx:
--------------------------------------------------------------------------------
1 | ---
2 | order: 4
3 | title: Continuously Reconciled
4 | description: "Software agents [continuously](https://github.com/open-gitops/documents/blob/v1.0.0/GLOSSARY.md#continuous) observe actual system state and [attempt to apply](https://github.com/open-gitops/documents/blob/v1.0.0/GLOSSARY.md#reconciliation) the desired state."
5 | ---
6 |
7 | Software agents [continuously](https://github.com/open-gitops/documents/blob/v1.0.0/GLOSSARY.md#continuous) observe actual system state and [attempt to apply](https://github.com/open-gitops/documents/blob/v1.0.0/GLOSSARY.md#reconciliation) the desired state.
--------------------------------------------------------------------------------
/content/testimonials/testimonial-1.mdx:
--------------------------------------------------------------------------------
1 | **GitOps is the best thing since configuration as code.** Git changed how we collaborate, but declarative configuration is the key to dealing with infrastructure at scale, and sets the stage for the next generation of management tools.
2 |
3 | - Kelsey Hightower
4 | Staff Developer Advocate, Google
5 |
--------------------------------------------------------------------------------
/content/testimonials/testimonial-2.mdx:
--------------------------------------------------------------------------------
1 | **I wish GitOps practices were available a decade ago.** GitOps increases the quality of everything we do. Right now, I can't imagine working differently anytime in the future.
2 |
3 | - Florian Heubeck, Principal Engineer, MediaMarktSaturn Technology
4 |
--------------------------------------------------------------------------------
/content/testimonials/testimonial-3.mdx:
--------------------------------------------------------------------------------
1 | GitOps feels like the right way to manage Kubernetes clusters. Other pre-containerization CI/CD tools are flakey, fragile and take up valuable time. **Engineers should focus on solving code problems, and not on the deployment process.**
2 |
3 | - Curve
4 |
--------------------------------------------------------------------------------
/content/trainings/LinuxFoundation/LFX-Gitops-certification-1.0.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/open-gitops/website/4c355f478ae2b5d7e8b5fc62a6c50d44e3e28f7f/content/trainings/LinuxFoundation/LFX-Gitops-certification-1.0.png
--------------------------------------------------------------------------------
/content/trainings/LinuxFoundation/LFX.mdx:
--------------------------------------------------------------------------------
1 | ---
2 | title: Certified GitOps Associate Certification (CGOA)
3 | description: "Become a professional by getting certified in GitOps"
4 | thumbnail: LFX-Gitops-certification-1.0.png
5 | site: https://training.linuxfoundation.org/certification/certified-gitops-associate-cgoa/
6 | ---
7 |
8 | {/* Note: To generate "thumbnail_url", visit https://embed.ly/docs/explore/extract
9 | and enter the link to the resource. Once you do that, select any thumbnail url of choice to use and download.*/}
--------------------------------------------------------------------------------
/content/trainings/akuity-gitops-intro/akuity-gitops-intro.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/open-gitops/website/4c355f478ae2b5d7e8b5fc62a6c50d44e3e28f7f/content/trainings/akuity-gitops-intro/akuity-gitops-intro.png
--------------------------------------------------------------------------------
/content/trainings/akuity-gitops-intro/akuity.mdx:
--------------------------------------------------------------------------------
1 | ---
2 | title: Introduction to Continuous Delivery and GitOps course by Akuity
3 | description: "A course from the creators of Argo. With hands-on challenges for deploying Helm charts and Argo CD Applications."
4 | thumbnail: akuity-gitops-intro.png
5 | site: https://academy.akuity.io/courses/gitops-argocd-intro
6 | ---
7 |
8 | {/* Note: To generate "thumbnail_url", visit https://embed.ly/docs/explore/extract
9 | and enter the link to the resource. Once you do that, select any thumbnail url of choice to use and download.*/}
10 |
--------------------------------------------------------------------------------
/content/trainings/codefresh-gitops-at-scale/gitops-at-scale.mdx:
--------------------------------------------------------------------------------
1 | ---
2 | title: GitOps At Scale course by Codefresh
3 | description: "Become a professional by getting certified in GitOps"
4 | thumbnail: gitops-at-scale.png
5 | site: https://learning.codefresh.io/course/gitops-scale
6 | ---
7 |
8 | {/* Note: To generate "thumbnail_url", visit https://embed.ly/docs/explore/extract
9 | and enter the link to the resource. Once you do that, select any thumbnail url of choice to use and download.*/}
--------------------------------------------------------------------------------
/content/trainings/codefresh-gitops-at-scale/gitops-at-scale.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/open-gitops/website/4c355f478ae2b5d7e8b5fc62a6c50d44e3e28f7f/content/trainings/codefresh-gitops-at-scale/gitops-at-scale.png
--------------------------------------------------------------------------------
/content/trainings/codefresh-gitops-fundamentals/codefresh-gitops-fundamental.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/open-gitops/website/4c355f478ae2b5d7e8b5fc62a6c50d44e3e28f7f/content/trainings/codefresh-gitops-fundamentals/codefresh-gitops-fundamental.png
--------------------------------------------------------------------------------
/content/trainings/codefresh-gitops-fundamentals/codefresh.mdx:
--------------------------------------------------------------------------------
1 | ---
2 | title: GitOps Fundamentals course by Codefresh
3 | description: "Become a professional by getting certified in GitOps"
4 | thumbnail: codefresh-gitops-fundamental.png
5 | site: https://learning.codefresh.io/course/gitops-fundamentals
6 | ---
7 |
8 | {/* Note: To generate "thumbnail_url", visit https://embed.ly/docs/explore/extract
9 | and enter the link to the resource. Once you do that, select any thumbnail url of choice to use and download.*/}
--------------------------------------------------------------------------------
/gatsby-browser.js:
--------------------------------------------------------------------------------
1 | // Site styles
2 | import "./src/styles/app.scss"
3 |
4 | // Prism styles
5 | require("prismjs/themes/prism-tomorrow.css")
6 |
--------------------------------------------------------------------------------
/gatsby-config.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | pathPrefix: "/website",
3 | siteMetadata: {
4 | title: "OpenGitOps",
5 | description:
6 | "OpenGitOps is a set of open-source standards, best practices, and community-focused education to help organizations adopt a structured, standardized approach to implementing GitOps.",
7 | siteUrl: "https://github.com/open-gitops/project",
8 | repo: "open-gitops/project",
9 | social: {
10 | github: "https://github.com/open-gitops",
11 | slack: "https://slack.cncf.io",
12 | twitter: "https://twitter.com/opengitops",
13 | reddit: "https://www.reddit.com/r/GitOps",
14 | },
15 | menuLinks: [
16 | {
17 | title: "About",
18 | url: "/about",
19 | },
20 | {
21 | title: "Community",
22 | url: "/community",
23 | },
24 | {
25 | title: "Training",
26 | url: "/training",
27 | },
28 | {
29 | title: "Get Involved",
30 | url: "/get-involved",
31 | },
32 | {
33 | title: "Events",
34 | url: "/events",
35 | },
36 | {
37 | title: "Blog",
38 | url: "/blog",
39 | },
40 | ],
41 | },
42 | plugins: [
43 | "gatsby-plugin-sass",
44 | "gatsby-plugin-image",
45 | "gatsby-plugin-react-helmet",
46 | "gatsby-plugin-sitemap",
47 | "gatsby-plugin-postcss",
48 | {
49 | resolve: "gatsby-plugin-manifest",
50 | options: {
51 | icon: "src/images/icon.png",
52 | },
53 | },
54 | {
55 | resolve: "gatsby-plugin-anchor-links",
56 | options: {
57 | offset: -50,
58 | },
59 | },
60 | "gatsby-plugin-sharp",
61 | "gatsby-transformer-sharp",
62 | {
63 | resolve: "gatsby-plugin-mdx",
64 | options: {
65 | gatsbyRemarkPlugins: [
66 | {
67 | resolve: "gatsby-remark-images",
68 | options: {
69 | maxWidth: 750,
70 | linkImagesToOriginal: false,
71 | backgroundColor: "white",
72 | },
73 | },
74 | {
75 | resolve: `gatsby-remark-autolink-headers`,
76 | options: {
77 | removeAccents: true,
78 | elements: [`h2`, `h3`],
79 | icon: false,
80 | },
81 | },
82 | `gatsby-remark-prismjs`,
83 | ],
84 | },
85 | },
86 | {
87 | resolve: "gatsby-source-filesystem",
88 | options: {
89 | name: "images",
90 | path: "./src/images/",
91 | },
92 | __key: "images",
93 | },
94 | {
95 | resolve: "gatsby-source-filesystem",
96 | options: {
97 | name: "blog",
98 | path: "./content/blog",
99 | },
100 | __key: "blog",
101 | },
102 | {
103 | resolve: "gatsby-source-filesystem",
104 | options: {
105 | name: "principles",
106 | path: "./content/principles",
107 | },
108 | __key: "principles",
109 | },
110 | {
111 | resolve: "gatsby-source-filesystem",
112 | options: {
113 | name: "trainings",
114 | path: "./content/trainings",
115 | },
116 | __key: "trainings",
117 | },
118 | {
119 | resolve: "gatsby-source-filesystem",
120 | options: {
121 | name: "events",
122 | path: "./content/events",
123 | },
124 | __key: "events",
125 | },
126 | {
127 | resolve: "gatsby-source-filesystem",
128 | options: {
129 | name: "testimonials",
130 | path: "./content/testimonials",
131 | },
132 | __key: "testimonials",
133 | },
134 | {
135 | resolve: "gatsby-source-filesystem",
136 | options: {
137 | name: "members",
138 | path: "./content/members/",
139 | },
140 | __key: "members",
141 | },
142 | {
143 | resolve: "gatsby-source-filesystem",
144 | options: {
145 | name: "pages",
146 | path: "./content/pages",
147 | },
148 | __key: "pages",
149 | },
150 | {
151 | resolve: "gatsby-source-filesystem",
152 | options: {
153 | name: "pages",
154 | path: "./src/pages/",
155 | },
156 | __key: "pages",
157 | },
158 | {
159 | resolve: "gatsby-plugin-react-svg",
160 | options: {
161 | rule: {
162 | include: /svg/,
163 | },
164 | },
165 | },
166 | ],
167 | }
168 |
--------------------------------------------------------------------------------
/gatsby-node.js:
--------------------------------------------------------------------------------
1 | const path = require(`path`)
2 | const { createFilePath } = require(`gatsby-source-filesystem`)
3 |
4 | exports.createPages = async ({ graphql, actions, reporter }) => {
5 | const { createPage } = actions
6 |
7 | // Define a template for blog post
8 | const blogPost = path.resolve(`./src/templates/blog-post.js`)
9 |
10 | // Get all markdown blog posts sorted by date
11 | const result = await graphql(
12 | `
13 | {
14 | allMdx(
15 | filter: { fileAbsolutePath: { regex: "/(content/blog)/" } }
16 | sort: { fields: [frontmatter___date], order: ASC }
17 | limit: 1000
18 | ) {
19 | nodes {
20 | id
21 | slug
22 | }
23 | }
24 | }
25 | `
26 | )
27 |
28 | if (result.errors) {
29 | reporter.panicOnBuild(
30 | `There was an error loading your blog posts`,
31 | result.errors
32 | )
33 | return
34 | }
35 |
36 | const posts = result.data.allMdx.nodes
37 |
38 | // Create blog posts pages
39 | // But only if there's at least one markdown file found at "content/blog" (defined in gatsby-config.js)
40 | // `context` is available in the template as a prop and as a variable in GraphQL
41 |
42 | if (posts.length > 0) {
43 | posts.forEach((post, index) => {
44 | const previousPostId = index === 0 ? null : posts[index - 1].id
45 | const nextPostId = index === posts.length - 1 ? null : posts[index + 1].id
46 |
47 | createPage({
48 | path: `/blog/${post.slug}`,
49 | component: blogPost,
50 | context: {
51 | id: post.id,
52 | previousPostId,
53 | nextPostId,
54 | },
55 | })
56 | })
57 | }
58 | }
59 |
60 | exports.onCreateNode = ({ node, actions, getNode }) => {
61 | const { createNodeField } = actions
62 |
63 | // Create slug field for MDX files.
64 | if (node.internal.type === "Mdx") {
65 | const value = createFilePath({ node, getNode })
66 |
67 | createNodeField({
68 | name: "slug",
69 | node, // Individual MDX node.
70 | value, // createFilePath returns a path with the leading "/".
71 | })
72 | }
73 | }
74 |
75 | exports.createSchemaCustomization = ({ actions }) => {
76 | const { createTypes } = actions
77 |
78 | // Explicitly define the siteMetadata {} object
79 | // This way those will always be defined even if removed from gatsby-config.js
80 |
81 | // Also explicitly define the Markdown frontmatter
82 | // This way the "MarkdownRemark" queries will return `null` even when no
83 | // blog posts are stored inside "content/blog" instead of returning an error
84 | createTypes(`
85 | type SiteSiteMetadata {
86 | author: Author
87 | siteUrl: String
88 | social: Social
89 | }
90 |
91 | type Author {
92 | name: String
93 | summary: String
94 | }
95 |
96 | type Social {
97 | twitter: String
98 | }
99 |
100 | type MarkdownRemark implements Node {
101 | frontmatter: Frontmatter
102 | fields: Fields
103 | }
104 |
105 | type Frontmatter {
106 | title: String
107 | description: String
108 | date: Date @dateformat
109 | }
110 |
111 | type Fields {
112 | slug: String
113 | }
114 | `)
115 | }
116 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "open-git-ops",
3 | "version": "1.0.0",
4 | "private": true,
5 | "description": "Open GitOps",
6 | "author": "Thiago Solcia",
7 | "keywords": [
8 | "gatsby"
9 | ],
10 | "scripts": {
11 | "develop": "gatsby develop",
12 | "start": "gatsby develop --host=0.0.0.0",
13 | "build": "gatsby build",
14 | "serve": "gatsby serve",
15 | "clean": "gatsby clean",
16 | "deploy": "gatsby build && gh-pages -d public -b gh-pages",
17 | "lint": "eslint ./src --ext .js"
18 | },
19 | "dependencies": {
20 | "@animated-burgers/burger-squeeze": "^1.1.2",
21 | "@mdx-js/mdx": "^1.6.22",
22 | "@mdx-js/react": "^1.6.22",
23 | "axios": "^0.21.1",
24 | "body-scroll-lock": "^4.0.0-beta.0",
25 | "classnames": "^2.3.1",
26 | "gatsby": "^3.6.2",
27 | "gatsby-plugin-anchor-links": "^1.2.1",
28 | "gatsby-plugin-image": "^1.8.0",
29 | "gatsby-plugin-manifest": "^3.8.0",
30 | "gatsby-plugin-mdx": "^2.8.0",
31 | "gatsby-plugin-react-helmet": "^4.8.0",
32 | "gatsby-plugin-react-svg": "^3.0.1",
33 | "gatsby-plugin-sass": "^4.8.0",
34 | "gatsby-plugin-sharp": "^3.8.0",
35 | "gatsby-plugin-sitemap": "^4.4.0",
36 | "gatsby-remark-autolink-headers": "^4.11.0",
37 | "gatsby-remark-images": "^5.5.0",
38 | "gatsby-remark-prismjs": "^5.5.0",
39 | "gatsby-source-filesystem": "^3.8.0",
40 | "gatsby-transformer-remark": "^4.5.0",
41 | "gatsby-transformer-sharp": "^3.8.0",
42 | "prismjs": "^1.23.0",
43 | "react": "^17.0.1",
44 | "react-dom": "^17.0.1",
45 | "react-helmet": "^6.1.0",
46 | "react-share": "^4.4.0",
47 | "react-spinners": "^0.11.0",
48 | "sass": "^1.35.1"
49 | },
50 | "devDependencies": {
51 | "@tailwindcss/aspect-ratio": "^0.2.1",
52 | "@tailwindcss/typography": "^0.4.1",
53 | "autoprefixer": "^10.2.6",
54 | "eslint": "^8.11.0",
55 | "eslint-plugin-react": "^7.29.4",
56 | "gatsby-plugin-postcss": "^4.8.0",
57 | "gh-pages": "^3.2.3",
58 | "postcss": "^8.3.5",
59 | "tailwindcss": "^2.2.2"
60 | }
61 | }
--------------------------------------------------------------------------------
/postcss.config.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | plugins: {
3 | tailwindcss: {},
4 | autoprefixer: {},
5 | },
6 | }
7 |
--------------------------------------------------------------------------------
/public/CNAME:
--------------------------------------------------------------------------------
1 | opengitops.dev
--------------------------------------------------------------------------------
/src/components/events.js:
--------------------------------------------------------------------------------
1 | import * as React from "react"
2 | import { useStaticQuery, graphql } from "gatsby"
3 | import { Grid, Container } from "./ui/grid"
4 | import CardEvent from "./ui/card-event"
5 | import CardEventAlt from "./ui/card-event-alt"
6 | import Button from "./ui/button"
7 | import Map from "../svg/map.svg"
8 |
9 | const Events = ({ upcomingLimit, pastLimit }) => {
10 | const date = new Date()
11 | const query = useStaticQuery(
12 | graphql`
13 | query {
14 | allMdx(
15 | filter: { fileAbsolutePath: { regex: "/(content/events)/" } }
16 | sort: { fields: [frontmatter___date], order: DESC }
17 | ) {
18 | edges {
19 | node {
20 | frontmatter {
21 | title
22 | date(formatString: "MMM DD, YYYY")
23 | location
24 | attend
25 | recordings
26 | }
27 | }
28 | }
29 | }
30 | }
31 | `
32 | )
33 |
34 | const upcomingEvents = query.allMdx.edges
35 | .filter(event => {
36 | const eventDate = event.node.frontmatter?.date
37 | const startDate = new Date(eventDate)
38 | return eventDate ? startDate > date : false
39 | })
40 | .sort((a, b) => a.node.frontmatter?.date < b.node.frontmatter?.date)
41 |
42 | const pastEvents = query.allMdx.edges.filter(event => {
43 | const eventDate = event.node.frontmatter?.date
44 | const startDate = new Date(eventDate)
45 | return eventDate ? startDate < date : false
46 | })
47 |
48 | return (
49 |
35 |
36 |
37 | {query.mdx.body}
38 |
39 |
40 |
41 |
42 |
43 | )
44 | }
45 |
46 | export default GetInvolvedPage
47 |
--------------------------------------------------------------------------------
/src/pages/index.js:
--------------------------------------------------------------------------------
1 | import * as React from "react"
2 | import Layout from "../components/layout"
3 | import { AnchorLink } from "gatsby-plugin-anchor-links"
4 | import Seo from "../components/seo"
5 | import Events from "../components/events"
6 | import Principles from "../components/principles"
7 | import Testimonials from "../components/testimonials"
8 | import { Container } from "../components/ui/grid"
9 | import Button from "../components/ui/button"
10 | import BgElement from "../components/ui/bgElement"
11 | import BgCircle from "../components/ui/bgCircle"
12 | import LogoIcon from "../svg/icon.svg"
13 | import thumbnail from "../images/thumbnail-default.png"
14 |
15 | const IndexPage = ({ location }) => {
16 | return (
17 |
18 |
24 |
25 |
26 |
27 |
28 |
29 |
30 | What is OpenGitOps?
31 |
32 |
33 |
34 | OpenGitOps is a set of
35 | open-source standards, best practices, and community-focused
36 | education to help organizations adopt a structured, standardized
37 | approach to implementing{" "}
38 | GitOps.
39 |