From 8769c156ab11fbfb36697864f0cffd932d46abec Mon Sep 17 00:00:00 2001 From: Graeme Hay Date: Tue, 12 Oct 2021 15:32:56 -0700 Subject: [PATCH 1/7] Update PRINCIPLES.md Signed-off-by: Graeme Hay --- PRINCIPLES.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/PRINCIPLES.md b/PRINCIPLES.md index da5b87e..0233f7a 100644 --- a/PRINCIPLES.md +++ b/PRINCIPLES.md @@ -21,3 +21,6 @@ The [desired state](./GLOSSARY.md#desired-state) of a GitOps managed system must Software agents [continuously](./GLOSSARY.md#continuous) observe actual system state and [attempt to apply](./GLOSSARY.md#reconciliation) the desired state. +5. **Manageable "always"** + + Desired state is able to be updated according to users' SLA expectations to update system state, even if the "source" is unavailable. From 469d730d9fe06c8d00a86568d7aa6544cb580788 Mon Sep 17 00:00:00 2001 From: Graeme Hay Date: Tue, 12 Oct 2021 15:34:19 -0700 Subject: [PATCH 2/7] Update GLOSSARY.md Signed-off-by: Graeme Hay --- GLOSSARY.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/GLOSSARY.md b/GLOSSARY.md index 53ab9da..f18b845 100644 --- a/GLOSSARY.md +++ b/GLOSSARY.md @@ -40,7 +40,14 @@ This glossary accompanies the [GitOps Principles](./PRINCIPLES.md), and other su Git, from which GitOps derives its name, is the canonical example used as this state store but any other system that meets these criteria may be used. In all cases, these state stores must be properly configured and precautions must be taken to comply with requirements set out in the GitOps Principles. +- ## Intermediate State Store + A system for storing a copy of the declarations that are mastered in the State Store. This system's purpose is intended to bridge the gap in availability between that of the State Store and the expected availability to make configuration changes to the Software System. The Intermediate State Store will offer an availability the same as or near enough to that of the users' expectations to update configuration in the Software System. + +Where an Intermediate State Store is used, Reconciliation is used between the State Store and the Intermediate State Store and then again between the Intermediate State Store and the Software System.![image](https://user-images.githubusercontent.com/7180729/137037872-934eba46-31a5-4509-a6cd-78aaf5bcbc63.png) + - ## Feedback Open GitOps follows [control-theory](https://en.wikipedia.org/wiki/Control_theory) and operates in a closed-loop. In control theory, feedback represents how previous attempts to apply a desired state have affected the actual state. For example if the desired state requires more resources than exist in a system, the software agent may make attempts to add resources, to automatically rollback to a previous version, or to send alerts to human operators. +- ## Break the Glass +The process of editing the Intermediate State Store directly in the event that a configuration update needs to be made to the Software System but the State Store is unavailable. From 564d81ee5e7622c144989701f3420fef5fa07bdd Mon Sep 17 00:00:00 2001 From: Graeme Hay Date: Tue, 12 Oct 2021 15:34:49 -0700 Subject: [PATCH 3/7] Update GLOSSARY.md Signed-off-by: Graeme Hay --- GLOSSARY.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/GLOSSARY.md b/GLOSSARY.md index f18b845..5cc9a37 100644 --- a/GLOSSARY.md +++ b/GLOSSARY.md @@ -43,7 +43,7 @@ This glossary accompanies the [GitOps Principles](./PRINCIPLES.md), and other su - ## Intermediate State Store A system for storing a copy of the declarations that are mastered in the State Store. This system's purpose is intended to bridge the gap in availability between that of the State Store and the expected availability to make configuration changes to the Software System. The Intermediate State Store will offer an availability the same as or near enough to that of the users' expectations to update configuration in the Software System. -Where an Intermediate State Store is used, Reconciliation is used between the State Store and the Intermediate State Store and then again between the Intermediate State Store and the Software System.![image](https://user-images.githubusercontent.com/7180729/137037872-934eba46-31a5-4509-a6cd-78aaf5bcbc63.png) +Where an Intermediate State Store is used, Reconciliation is used between the State Store and the Intermediate State Store and then again between the Intermediate State Store and the Software System. - ## Feedback From 3fc26ecb98e500c46b2fced0ca7f343c346f40ae Mon Sep 17 00:00:00 2001 From: Graeme Hay Date: Tue, 12 Oct 2021 15:35:10 -0700 Subject: [PATCH 4/7] Update GLOSSARY.md Signed-off-by: Graeme Hay --- GLOSSARY.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/GLOSSARY.md b/GLOSSARY.md index 5cc9a37..c8d9451 100644 --- a/GLOSSARY.md +++ b/GLOSSARY.md @@ -42,8 +42,7 @@ This glossary accompanies the [GitOps Principles](./PRINCIPLES.md), and other su - ## Intermediate State Store A system for storing a copy of the declarations that are mastered in the State Store. This system's purpose is intended to bridge the gap in availability between that of the State Store and the expected availability to make configuration changes to the Software System. The Intermediate State Store will offer an availability the same as or near enough to that of the users' expectations to update configuration in the Software System. - -Where an Intermediate State Store is used, Reconciliation is used between the State Store and the Intermediate State Store and then again between the Intermediate State Store and the Software System. + Where an Intermediate State Store is used, Reconciliation is used between the State Store and the Intermediate State Store and then again between the Intermediate State Store and the Software System. - ## Feedback From 0069b13e0fb78cd9f860507e22ddf778bc1b3e4e Mon Sep 17 00:00:00 2001 From: Graeme Hay Date: Tue, 19 Oct 2021 18:43:59 -0700 Subject: [PATCH 5/7] Update GLOSSARY.md Signed-off-by: Graeme Hay --- GLOSSARY.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/GLOSSARY.md b/GLOSSARY.md index c8d9451..3c4facc 100644 --- a/GLOSSARY.md +++ b/GLOSSARY.md @@ -49,4 +49,4 @@ This glossary accompanies the [GitOps Principles](./PRINCIPLES.md), and other su Open GitOps follows [control-theory](https://en.wikipedia.org/wiki/Control_theory) and operates in a closed-loop. In control theory, feedback represents how previous attempts to apply a desired state have affected the actual state. For example if the desired state requires more resources than exist in a system, the software agent may make attempts to add resources, to automatically rollback to a previous version, or to send alerts to human operators. - ## Break the Glass -The process of editing the Intermediate State Store directly in the event that a configuration update needs to be made to the Software System but the State Store is unavailable. + The process of editing the Intermediate State Store directly in the event that a configuration update needs to be made to the Software System but the State Store is unavailable. From c996234876b160236eccd30337dbb94048c96ff2 Mon Sep 17 00:00:00 2001 From: Graeme Hay Date: Tue, 19 Oct 2021 18:48:01 -0700 Subject: [PATCH 6/7] Update PRINCIPLES.md Signed-off-by: Graeme Hay --- PRINCIPLES.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/PRINCIPLES.md b/PRINCIPLES.md index 0233f7a..dbd500c 100644 --- a/PRINCIPLES.md +++ b/PRINCIPLES.md @@ -21,6 +21,6 @@ The [desired state](./GLOSSARY.md#desired-state) of a GitOps managed system must Software agents [continuously](./GLOSSARY.md#continuous) observe actual system state and [attempt to apply](./GLOSSARY.md#reconciliation) the desired state. -5. **Manageable "always"** +5. **Actual System State is Manageable "always"** - Desired state is able to be updated according to users' SLA expectations to update system state, even if the "source" is unavailable. + System state must still be manageable to users' SLA expectations to make changes. If the desired state store's availability is less that that SLA expectation, it should be possible to "break the glass" to update the system state directly and reconcile system state to desire state. From d2110b6272890228d930c95f406569991882fdce Mon Sep 17 00:00:00 2001 From: Graeme Hay Date: Tue, 19 Oct 2021 18:49:38 -0700 Subject: [PATCH 7/7] Update PRINCIPLES.md Signed-off-by: Graeme Hay --- PRINCIPLES.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PRINCIPLES.md b/PRINCIPLES.md index dbd500c..3d52219 100644 --- a/PRINCIPLES.md +++ b/PRINCIPLES.md @@ -23,4 +23,4 @@ The [desired state](./GLOSSARY.md#desired-state) of a GitOps managed system must 5. **Actual System State is Manageable "always"** - System state must still be manageable to users' SLA expectations to make changes. If the desired state store's availability is less that that SLA expectation, it should be possible to "break the glass" to update the system state directly and reconcile system state to desire state. + System state manageability must meet users' SLA expectations to make changes to it. If the desired state store's availability is less that that SLA expectation, it should be possible to "break the glass" to update the system state directly and reconcile system state to desire state.