From 90c4bd25d2c5945448a07a38dde5f2de78baf854 Mon Sep 17 00:00:00 2001 From: Dan Garfield Date: Fri, 16 Dec 2022 12:04:07 -0700 Subject: [PATCH 1/3] Add glossary item for "pull" Signed-off-by: Dan Garfield Signed-off-by: Dan Garfield Signed-off-by: Dan Garfield --- GLOSSARY.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/GLOSSARY.md b/GLOSSARY.md index 53ab9da..8cc9fad 100644 --- a/GLOSSARY.md +++ b/GLOSSARY.md @@ -18,6 +18,10 @@ This glossary accompanies the [GitOps Principles](./PRINCIPLES.md), and other su - ## Drift When a system's actual state has moved or is in the process of moving away from the [desired state](#desired-state), this is often referred to as drift. + +- ## Pull + + In contrast to traditional, CI/CD pipelines which "push" event based triggers to discover state changes, in GitOps desired state is "pulled". This state may be reconciled with local or remote actual states. In GitOps agents are expected to pull both desired and actual states without the requirement of events. Webhooks may be used to speed up this process, but should a webhook fail, the agent is still expected to discover changes to desired state by pulling from the source of truth. - ## Reconciliation From 988845cdb6355d2219e8e61045fb5a07a00c0997 Mon Sep 17 00:00:00 2001 From: Dan Garfield Date: Tue, 21 Mar 2023 09:49:33 -0600 Subject: [PATCH 2/3] Update GLOSSARY.md Signed-off-by: Dan Garfield Co-authored-by: Scott Rigby Signed-off-by: Dan Garfield --- GLOSSARY.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/GLOSSARY.md b/GLOSSARY.md index 8cc9fad..b0650dc 100644 --- a/GLOSSARY.md +++ b/GLOSSARY.md @@ -21,7 +21,10 @@ This glossary accompanies the [GitOps Principles](./PRINCIPLES.md), and other su - ## Pull - In contrast to traditional, CI/CD pipelines which "push" event based triggers to discover state changes, in GitOps desired state is "pulled". This state may be reconciled with local or remote actual states. In GitOps agents are expected to pull both desired and actual states without the requirement of events. Webhooks may be used to speed up this process, but should a webhook fail, the agent is still expected to discover changes to desired state by pulling from the source of truth. + [Principle 3](./PRINCIPLES.md) specifies the desired state must be "pulled" rather than "pushed", primarily because the software agents must be able to access the [desired state](#desired-state) from the [state store](#state-store) at _any_ time, not only when there is an intentional change in the state store triggering a push event. + This is a prerequisite for [reconciliation](#reconciliation) to happen [continuously](#continuous), as specified in [principle 4](./PRINCIPLES.md). + Note that – in contrast to traditional CI/CD, where automation is generally driven by pre-set triggers – in GitOps, [reconciliation](#reconciliation) is triggered _whenever_ there is a divergence. + Divergence could be due to the actual state unintentionally [drifting](#drift) from the desired state declarations – not only due to a new desired state declaration version having been changed intentionally. - ## Reconciliation From 0949f59119ed9a52f78b2e22c75d106c015655c2 Mon Sep 17 00:00:00 2001 From: Dan Garfield Date: Fri, 7 Apr 2023 10:54:05 -0600 Subject: [PATCH 3/3] Add link from principles to glossary Signed-off-by: Dan Garfield --- PRINCIPLES.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PRINCIPLES.md b/PRINCIPLES.md index da5b87e..d8f1d01 100644 --- a/PRINCIPLES.md +++ b/PRINCIPLES.md @@ -15,7 +15,7 @@ The [desired state](./GLOSSARY.md#desired-state) of a GitOps managed system must 3. **Pulled Automatically** - Software agents automatically pull the desired state declarations from the source. + Software agents automatically [pull]((./GLOSSARY.md#pull)) the desired state declarations from the source. 4. **Continuously Reconciled**