From f15f4ee3dda31745b12ed765886a843867d59d1b Mon Sep 17 00:00:00 2001 From: Scott Rigby Date: Wed, 15 Sep 2021 15:28:52 -0400 Subject: [PATCH 01/21] (Draft) GitOps Principles 1.0.0-rc.1 The objective of this change is to propose a release candidate draft reconciling and incorporating the varying views of all GitOps Working Group community participants. Co-authored-by: Dan Garfield Co-authored-by: Leonardo Murillo Signed-off-by: Scott Rigby --- PRINCIPLES.md | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/PRINCIPLES.md b/PRINCIPLES.md index 859c666..fb61a11 100644 --- a/PRINCIPLES.md +++ b/PRINCIPLES.md @@ -10,22 +10,21 @@ These principles were derived from modern software operations but are rooted in ## Principles -1. **The principle of declarative desired state** +1. **Declarative** - A system managed by GitOps must have its _Desired State_ expressed declaratively as data in a format writable and readable by both humans and machines. + A system managed by GitOps must have its desired state expressed declaratively. -2. **The principle of immutable desired state versions** +2. **Versioned and Immutable** - _Desired State_ is stored in a way that supports versioning, immutability of versions, and retains a complete version history. + Desired state is stored in a way that enforces immutability, versioning and retains a complete version history. -3. **The principle of continuous state reconciliation** +3. **Pulled Automatically** - Software agents continuously, and automatically, compare a system's _Actual State_ to its _Desired State_. - If the actual and desired states differ for any reason, automated actions to reconcile them are initiated. + Software agents automatically pull the desired state declarations from the source. -4. **The principle of operations through declaration** +4. **Continuously Reconciled** - The only mechanism through which the system is intentionally operated on is through these principles. + Software agents continuously observe actual system state and attempt to apply the desired state. ## Glossary From adc0af38c69890efbf0b5c8e94c74d0a6571ef57 Mon Sep 17 00:00:00 2001 From: Scott Rigby Date: Wed, 15 Sep 2021 15:47:11 -0400 Subject: [PATCH 02/21] Add context sentence for the principle headers grammar Co-authored-by: Dan Garfield Co-authored-by: Leonardo Murillo Signed-off-by: Scott Rigby --- PRINCIPLES.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/PRINCIPLES.md b/PRINCIPLES.md index fb61a11..783bca1 100644 --- a/PRINCIPLES.md +++ b/PRINCIPLES.md @@ -10,6 +10,8 @@ These principles were derived from modern software operations but are rooted in ## Principles +The desired state of a GitOps managed system must be: + 1. **Declarative** A system managed by GitOps must have its desired state expressed declaratively. From 0d845cc032647714ab80e6d3d33e95ac1747b86a Mon Sep 17 00:00:00 2001 From: Scott Rigby Date: Wed, 15 Sep 2021 15:58:19 -0400 Subject: [PATCH 03/21] Remove incomplete summary from introduction. Unecessary now because principles are shorter and summmarize themselves Signed-off-by: Scott Rigby --- PRINCIPLES.md | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/PRINCIPLES.md b/PRINCIPLES.md index 783bca1..77a7fd3 100644 --- a/PRINCIPLES.md +++ b/PRINCIPLES.md @@ -1,14 +1,7 @@ # GitOps Principles v0.1.0 -## Summary - GitOps is a set of principles for operating and managing software systems. - -When using GitOps, the _Desired State_ of a system or subsystem is defined declaratively as versioned, immutable data, and the running system's configuration is continuously derived from this data. - -These principles were derived from modern software operations but are rooted in pre-existing and widely adopted best practices. - -## Principles +These principles are derived from modern software operations, but are also rooted in pre-existing and widely adopted best practices. The desired state of a GitOps managed system must be: From f1c30944fe513b7023badd01d649b86e40421592 Mon Sep 17 00:00:00 2001 From: Scott Rigby Date: Wed, 15 Sep 2021 16:17:17 -0400 Subject: [PATCH 04/21] Move glossary to a standalone file Signed-off-by: Scott Rigby --- GLOSSARY.md | 47 +++++++++++++++++++++++++++++++++++++++++++++++ PRINCIPLES.md | 46 ---------------------------------------------- 2 files changed, 47 insertions(+), 46 deletions(-) create mode 100644 GLOSSARY.md diff --git a/GLOSSARY.md b/GLOSSARY.md new file mode 100644 index 0000000..0162054 --- /dev/null +++ b/GLOSSARY.md @@ -0,0 +1,47 @@ +# GitOps Glossary + +This glossary accompanies the [GitOps Principles](./PRINCIPLES.md), and other supporting documents in this repository. + +- ## Break Glass + + The temporary suspension of GitOps principles, often accomplished by pausing automated _Reconciliation_. + While these principles apply to typical operations, it may at times be necessary to temporarily pause reconciliation, for example during incident management activities. + In these cases, other modes of operations should be considered (e.g. manual intervention), followed by any necessary updates to the desired state declarations, and finally resuming reconciliation of the system with the updated declarations. + Pragmatic exceptions to these guiding principles are expected from time to time during the journey toward a system being fully managed by GitOps. + +- ## Continuous + + By "continuous" we adopt the industry standard to mean that _Reconciliation_ continues to happen, not that it must be instantaneous. + +- ## Declarative Description + + Describing the desired state or behavior of a system without specifying how that state will be achieved, thereby separating configuration (the desired state) from the implementation (commands, API calls, scripts etc.) that actually achieves the desired state described in the declarative description. + +- ## Desired State + + The aggregate of all configuration data for a system form its _Desired State_ which is defined as data sufficient to recreate the system so that instances of the system are behaviourally indistinguishable. + +- ## Drift + + When a system's _Actual State_ changes for any reason other than its versioned _Desired State_ declarations having changed, we say that the system has drifted from its _Desired State_. + +- ## Reconciliation + + The process of ensuring that the _Actual State_ of a sytem matches its versioned _Desired State_ declarations. + Contrary to CIops, any divergence between the two will trigger reconciliation, regardless of where changes occured. + Divergence could be due to the actual state unintentionally _Drifting_ from the desired state declarations, or a new desired state declaration version having been changed intentionally. + +- ## Software System + + One or more Runtime environments consisting of resources under management. + In each Runtime, management Agents to act on resources according to security policies. + One or more software Repositories for storing deployable artifacts that may be loaded into the runtime environments, eg. configuration files, code, binaries and packages. + One or more Administrators who are responsible for operating the runtime environments ie. installing, starting, stopping and updating software, code, configuration, etc. + A set of policies controlling access and management of repositories, deployments, runtimes. + +- ## State Store + + A system for storing immutable versions of _Desired State_ declarations. + This state store should provide access control and auditing on the changes to the Desired State. + Git is the canonical example used as this State Store, and where GitOps derived its name, but but any other system that meets this criteria may be used. + In all cases these must be properly configured, and special precautions must be taken to comply with requirements set out in the GitOps Principles. diff --git a/PRINCIPLES.md b/PRINCIPLES.md index 77a7fd3..88b0e37 100644 --- a/PRINCIPLES.md +++ b/PRINCIPLES.md @@ -20,49 +20,3 @@ The desired state of a GitOps managed system must be: 4. **Continuously Reconciled** Software agents continuously observe actual system state and attempt to apply the desired state. - -## Glossary - -- ### Break Glass - - The temporary suspension of GitOps principles, often accomplished by pausing automated _Reconciliation_. - While these principles apply to typical operations, it may at times be necessary to temporarily pause reconciliation, for example during incident management activities. - In these cases, other modes of operations should be considered (e.g. manual intervention), followed by any necessary updates to the desired state declarations, and finally resuming reconciliation of the system with the updated declarations. - Pragmatic exceptions to these guiding principles are expected from time to time during the journey toward a system being fully managed by GitOps. - -- ### Continuous - - By "continuous" we adopt the industry standard to mean that _Reconciliation_ continues to happen, not that it must be instantaneous. - -- ### Declarative Description - - Describing the desired state or behavior of a system without specifying how that state will be achieved, thereby separating configuration (the desired state) from the implementation (commands, API calls, scripts etc.) that actually achieves the desired state described in the declarative description. - -- ### Desired State - - The aggregate of all configuration data for a system form its _Desired State_ which is defined as data sufficient to recreate the system so that instances of the system are behaviourally indistinguishable. - -- ### Drift - - When a system's _Actual State_ changes for any reason other than its versioned _Desired State_ declarations having changed, we say that the system has drifted from its _Desired State_. - -- ### Reconciliation - - The process of ensuring that the _Actual State_ of a sytem matches its versioned _Desired State_ declarations. - Contrary to CIops, any divergence between the two will trigger reconciliation, regardless of where changes occured. - Divergence could be due to the actual state unintentionally _Drifting_ from the desired state declarations, or a new desired state declaration version having been changed intentionally. - -- ### Software System - - One or more Runtime environments consisting of resources under management. - In each Runtime, management Agents to act on resources according to security policies. - One or more software Repositories for storing deployable artifacts that may be loaded into the runtime environments, eg. configuration files, code, binaries and packages. - One or more Administrators who are responsible for operating the runtime environments ie. installing, starting, stopping and updating software, code, configuration, etc. - A set of policies controlling access and management of repositories, deployments, runtimes. - -- ### State Store - - A system for storing immutable versions of _Desired State_ declarations. - This state store should provide access control and auditing on the changes to the Desired State. - Git is the canonical example used as this State Store, and where GitOps derived its name, but but any other system that meets this criteria may be used. - In all cases these must be properly configured, and special precautions must be taken to comply with requirements set out in the GitOps Principles. From d2610a0f2b64beba8a41440dfbf4d4b083aab0de Mon Sep 17 00:00:00 2001 From: Scott Rigby Date: Wed, 15 Sep 2021 16:18:03 -0400 Subject: [PATCH 05/21] First attempt at linking terms in principles to glossary items Signed-off-by: Scott Rigby --- PRINCIPLES.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/PRINCIPLES.md b/PRINCIPLES.md index 88b0e37..475ed8a 100644 --- a/PRINCIPLES.md +++ b/PRINCIPLES.md @@ -3,15 +3,15 @@ GitOps is a set of principles for operating and managing software systems. These principles are derived from modern software operations, but are also rooted in pre-existing and widely adopted best practices. -The desired state of a GitOps managed system must be: +The [desired state](./GLOSSARY.md#desired-state) of a GitOps managed system must be: 1. **Declarative** - A system managed by GitOps must have its desired state expressed declaratively. + A [system](./GLOSSARY.md#software-system) managed by GitOps must have its desired state expressed [declaratively](./GLOSSARY.md#declarative-description). 2. **Versioned and Immutable** - Desired state is stored in a way that enforces immutability, versioning and retains a complete version history. + Desired state is [stored](./GLOSSARY.md#state-store) in a way that enforces immutability, versioning and retains a complete version history. 3. **Pulled Automatically** @@ -19,4 +19,4 @@ The desired state of a GitOps managed system must be: 4. **Continuously Reconciled** - Software agents continuously observe actual system state and attempt to apply the desired state. + Software agents [continuously](./GLOSSARY.md#continuous) observe actual system state and [attempt to apply](./GLOSSARY.md#reconciliation) the desired state. From 3626449cd83d96498ffc4abeddae7e8aeb644936 Mon Sep 17 00:00:00 2001 From: Scott Rigby Date: Wed, 15 Sep 2021 16:37:29 -0400 Subject: [PATCH 06/21] Address markdown version / git revision mismatch. Fixes #20 Signed-off-by: Scott Rigby --- PRINCIPLES.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PRINCIPLES.md b/PRINCIPLES.md index 475ed8a..f597ad7 100644 --- a/PRINCIPLES.md +++ b/PRINCIPLES.md @@ -1,4 +1,4 @@ -# GitOps Principles v0.1.0 +# GitOps Principles {{version}} GitOps is a set of principles for operating and managing software systems. These principles are derived from modern software operations, but are also rooted in pre-existing and widely adopted best practices. From c5fb6f4352ae2fa729d19c42a4b9943ff6849d18 Mon Sep 17 00:00:00 2001 From: Scott Rigby Date: Wed, 15 Sep 2021 19:37:40 -0400 Subject: [PATCH 07/21] Typo fix suggested by @RedbackThomson Co-authored-by: Nicholas Thomson Signed-off-by: Scott Rigby --- GLOSSARY.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/GLOSSARY.md b/GLOSSARY.md index 0162054..a44a054 100644 --- a/GLOSSARY.md +++ b/GLOSSARY.md @@ -27,7 +27,7 @@ This glossary accompanies the [GitOps Principles](./PRINCIPLES.md), and other su - ## Reconciliation - The process of ensuring that the _Actual State_ of a sytem matches its versioned _Desired State_ declarations. + The process of ensuring that the _Actual State_ of a system matches its versioned _Desired State_ declarations. Contrary to CIops, any divergence between the two will trigger reconciliation, regardless of where changes occured. Divergence could be due to the actual state unintentionally _Drifting_ from the desired state declarations, or a new desired state declaration version having been changed intentionally. From cf6b40fe466dac28497c3c532e9d8fe7d4c053a7 Mon Sep 17 00:00:00 2001 From: Scott Rigby Date: Wed, 15 Sep 2021 19:44:07 -0400 Subject: [PATCH 08/21] Add note about configuration data excluding other external data Signed-off-by: Scott Rigby Co-authored-by: Nicholas Thomson --- GLOSSARY.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/GLOSSARY.md b/GLOSSARY.md index a44a054..8df1041 100644 --- a/GLOSSARY.md +++ b/GLOSSARY.md @@ -19,7 +19,7 @@ This glossary accompanies the [GitOps Principles](./PRINCIPLES.md), and other su - ## Desired State - The aggregate of all configuration data for a system form its _Desired State_ which is defined as data sufficient to recreate the system so that instances of the system are behaviourally indistinguishable. + The aggregate of all configuration data for a system form its _Desired State_ which is defined as data sufficient to recreate the system so that instances of the system are behaviourally indistinguishable, but does not include the state of any data stored within the system, eg. user data. - ## Drift From 22ce66457772ea1b445563bb7a3dffc8b87d4ca0 Mon Sep 17 00:00:00 2001 From: Scott Rigby Date: Wed, 15 Sep 2021 19:49:22 -0400 Subject: [PATCH 09/21] Fix formatting of software system glossary item. Clarify one list item Co-authored-by: Nicholas Thomson Signed-off-by: Scott Rigby --- GLOSSARY.md | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/GLOSSARY.md b/GLOSSARY.md index 8df1041..9342486 100644 --- a/GLOSSARY.md +++ b/GLOSSARY.md @@ -33,11 +33,13 @@ This glossary accompanies the [GitOps Principles](./PRINCIPLES.md), and other su - ## Software System - One or more Runtime environments consisting of resources under management. - In each Runtime, management Agents to act on resources according to security policies. - One or more software Repositories for storing deployable artifacts that may be loaded into the runtime environments, eg. configuration files, code, binaries and packages. - One or more Administrators who are responsible for operating the runtime environments ie. installing, starting, stopping and updating software, code, configuration, etc. - A set of policies controlling access and management of repositories, deployments, runtimes. + We currently understand a software system to include: + + - One or more Runtime environments consisting of resources under management + - In each Runtime, the management Agents which act on resources according to security policies + - One or more software Repositories for storing deployable artifacts that may be loaded into the runtime environments, eg. configuration files, code, binaries and packages + - One or more Administrators who are responsible for operating the runtime environments ie. installing, starting, stopping and updating software, code, configuration, etc + - A set of policies controlling access and management of repositories, deployments, runtimes - ## State Store From e48298c93becce082a941893fbc18a3d4b4ad068 Mon Sep 17 00:00:00 2001 From: Scott Rigby Date: Fri, 17 Sep 2021 14:53:11 -0400 Subject: [PATCH 10/21] glossary item links Signed-off-by: Scott Rigby Co-authored-by: Dan Garfield --- GLOSSARY.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/GLOSSARY.md b/GLOSSARY.md index 9342486..e160eaa 100644 --- a/GLOSSARY.md +++ b/GLOSSARY.md @@ -29,7 +29,7 @@ This glossary accompanies the [GitOps Principles](./PRINCIPLES.md), and other su The process of ensuring that the _Actual State_ of a system matches its versioned _Desired State_ declarations. Contrary to CIops, any divergence between the two will trigger reconciliation, regardless of where changes occured. - Divergence could be due to the actual state unintentionally _Drifting_ from the desired state declarations, or a new desired state declaration version having been changed intentionally. + Divergence could be due to the actual state unintentionally [drifting](#drift) from the desired state declarations, or a new desired state declaration version having been changed intentionally. - ## Software System From 94ec893a0561050def2c360afcfdd729eeba1e81 Mon Sep 17 00:00:00 2001 From: Scott Rigby Date: Fri, 17 Sep 2021 14:53:38 -0400 Subject: [PATCH 11/21] text format and glossary item links Signed-off-by: Scott Rigby Co-authored-by: Dan Garfield --- GLOSSARY.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/GLOSSARY.md b/GLOSSARY.md index e160eaa..aa482cd 100644 --- a/GLOSSARY.md +++ b/GLOSSARY.md @@ -23,7 +23,7 @@ This glossary accompanies the [GitOps Principles](./PRINCIPLES.md), and other su - ## Drift - When a system's _Actual State_ changes for any reason other than its versioned _Desired State_ declarations having changed, we say that the system has drifted from its _Desired State_. + When a system's actual state changes for any reason other than its versioned [desired state](#desired-state) declarations having changed, we say that the system has drifted from its desired state. - ## Reconciliation From db1c6d13ce0c8b1a75db29e3e3b55fe5e47d1c7c Mon Sep 17 00:00:00 2001 From: Scott Rigby Date: Fri, 17 Sep 2021 14:53:56 -0400 Subject: [PATCH 12/21] glossary item links Signed-off-by: Scott Rigby Co-authored-by: Dan Garfield --- GLOSSARY.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/GLOSSARY.md b/GLOSSARY.md index aa482cd..5f06ba8 100644 --- a/GLOSSARY.md +++ b/GLOSSARY.md @@ -11,7 +11,7 @@ This glossary accompanies the [GitOps Principles](./PRINCIPLES.md), and other su - ## Continuous - By "continuous" we adopt the industry standard to mean that _Reconciliation_ continues to happen, not that it must be instantaneous. + By "continuous" we adopt the industry standard to mean that [reconciliation](#reconciliation) continues to happen, not that it must be instantaneous. - ## Declarative Description From 20a843023ac58309925500f5a1b3905045ccd1b0 Mon Sep 17 00:00:00 2001 From: Scott Rigby Date: Fri, 17 Sep 2021 14:54:10 -0400 Subject: [PATCH 13/21] glossary item links Signed-off-by: Scott Rigby Co-authored-by: Dan Garfield --- GLOSSARY.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/GLOSSARY.md b/GLOSSARY.md index 5f06ba8..67d095d 100644 --- a/GLOSSARY.md +++ b/GLOSSARY.md @@ -4,7 +4,7 @@ This glossary accompanies the [GitOps Principles](./PRINCIPLES.md), and other su - ## Break Glass - The temporary suspension of GitOps principles, often accomplished by pausing automated _Reconciliation_. + The temporary suspension of GitOps principles, often accomplished by pausing automated [reconciliation](#reconciliation). While these principles apply to typical operations, it may at times be necessary to temporarily pause reconciliation, for example during incident management activities. In these cases, other modes of operations should be considered (e.g. manual intervention), followed by any necessary updates to the desired state declarations, and finally resuming reconciliation of the system with the updated declarations. Pragmatic exceptions to these guiding principles are expected from time to time during the journey toward a system being fully managed by GitOps. From d3aad385fa85a7d9d2828f02019ad90f0029a91f Mon Sep 17 00:00:00 2001 From: Scott Rigby Date: Fri, 17 Sep 2021 14:55:56 -0400 Subject: [PATCH 14/21] Broaden user data example to just database contents. Fix formatting Signed-off-by: Scott Rigby Co-authored-by: Dan Garfield --- GLOSSARY.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/GLOSSARY.md b/GLOSSARY.md index 67d095d..6f28f06 100644 --- a/GLOSSARY.md +++ b/GLOSSARY.md @@ -19,7 +19,7 @@ This glossary accompanies the [GitOps Principles](./PRINCIPLES.md), and other su - ## Desired State - The aggregate of all configuration data for a system form its _Desired State_ which is defined as data sufficient to recreate the system so that instances of the system are behaviourally indistinguishable, but does not include the state of any data stored within the system, eg. user data. + The aggregate of all configuration data for a system form its desired state which is defined as data sufficient to recreate the system so that instances of the system are behaviourally indistinguishable, but do not include the state of any data stored within the system, eg. database contents. - ## Drift From 0e357fd5fadc4a4d0bfa067a2b30b1d7cd2a19a2 Mon Sep 17 00:00:00 2001 From: Scott Rigby Date: Fri, 17 Sep 2021 14:58:50 -0400 Subject: [PATCH 15/21] Remove versioned from reconciliation glossary item. Link to other item, and fix formatting Signed-off-by: Scott Rigby Co-authored-by: Dan Garfield --- GLOSSARY.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/GLOSSARY.md b/GLOSSARY.md index 6f28f06..727debe 100644 --- a/GLOSSARY.md +++ b/GLOSSARY.md @@ -27,7 +27,7 @@ This glossary accompanies the [GitOps Principles](./PRINCIPLES.md), and other su - ## Reconciliation - The process of ensuring that the _Actual State_ of a system matches its versioned _Desired State_ declarations. + The process of ensuring that the actual state of a system matches its [desired state](#desired-state) declarations. Contrary to CIops, any divergence between the two will trigger reconciliation, regardless of where changes occured. Divergence could be due to the actual state unintentionally [drifting](#drift) from the desired state declarations, or a new desired state declaration version having been changed intentionally. From db8d703fcdb47da113379b25c502746fe9f90592 Mon Sep 17 00:00:00 2001 From: Scott Rigby Date: Fri, 17 Sep 2021 14:59:27 -0400 Subject: [PATCH 16/21] Grammar fixes, and link to other glossary item Signed-off-by: Scott Rigby Co-authored-by: Dan Garfield --- GLOSSARY.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/GLOSSARY.md b/GLOSSARY.md index 727debe..5581384 100644 --- a/GLOSSARY.md +++ b/GLOSSARY.md @@ -43,7 +43,7 @@ This glossary accompanies the [GitOps Principles](./PRINCIPLES.md), and other su - ## State Store - A system for storing immutable versions of _Desired State_ declarations. + A system for storing immutable versions of [Desired State](#desired-state) declarations. This state store should provide access control and auditing on the changes to the Desired State. - Git is the canonical example used as this State Store, and where GitOps derived its name, but but any other system that meets this criteria may be used. - In all cases these must be properly configured, and special precautions must be taken to comply with requirements set out in the GitOps Principles. + 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 special precautions must be taken to comply with requirements set out in the GitOps Principles. From a76e8ba1344d4f50968e93d1418d884b9e868304 Mon Sep 17 00:00:00 2001 From: Scott Rigby Date: Fri, 17 Sep 2021 15:05:55 -0400 Subject: [PATCH 17/21] Lowercase formatting Signed-off-by: Scott Rigby Co-authored-by: Dan Garfield --- GLOSSARY.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/GLOSSARY.md b/GLOSSARY.md index 5581384..8f09462 100644 --- a/GLOSSARY.md +++ b/GLOSSARY.md @@ -36,7 +36,7 @@ This glossary accompanies the [GitOps Principles](./PRINCIPLES.md), and other su We currently understand a software system to include: - One or more Runtime environments consisting of resources under management - - In each Runtime, the management Agents which act on resources according to security policies + - In each runtime, the management agents which act on resources according to security policies - One or more software Repositories for storing deployable artifacts that may be loaded into the runtime environments, eg. configuration files, code, binaries and packages - One or more Administrators who are responsible for operating the runtime environments ie. installing, starting, stopping and updating software, code, configuration, etc - A set of policies controlling access and management of repositories, deployments, runtimes From 17bfdead8e57c9d0afc42a0a485dccc7b0b6b915 Mon Sep 17 00:00:00 2001 From: Scott Rigby Date: Fri, 17 Sep 2021 15:09:19 -0400 Subject: [PATCH 18/21] Lowercase formatting Signed-off-by: Scott Rigby Co-authored-by: Dan Garfield --- GLOSSARY.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/GLOSSARY.md b/GLOSSARY.md index 8f09462..6100d4e 100644 --- a/GLOSSARY.md +++ b/GLOSSARY.md @@ -35,7 +35,7 @@ This glossary accompanies the [GitOps Principles](./PRINCIPLES.md), and other su We currently understand a software system to include: - - One or more Runtime environments consisting of resources under management + - One or more runtime environments consisting of resources under management - In each runtime, the management agents which act on resources according to security policies - One or more software Repositories for storing deployable artifacts that may be loaded into the runtime environments, eg. configuration files, code, binaries and packages - One or more Administrators who are responsible for operating the runtime environments ie. installing, starting, stopping and updating software, code, configuration, etc From c44ad22555b1c5b0750e8ab210f80f098c125f12 Mon Sep 17 00:00:00 2001 From: Scott Rigby Date: Fri, 17 Sep 2021 15:09:46 -0400 Subject: [PATCH 19/21] Lowercase formatting, oxford comma Signed-off-by: Scott Rigby Co-authored-by: Dan Garfield --- GLOSSARY.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/GLOSSARY.md b/GLOSSARY.md index 6100d4e..f32e44c 100644 --- a/GLOSSARY.md +++ b/GLOSSARY.md @@ -37,7 +37,7 @@ This glossary accompanies the [GitOps Principles](./PRINCIPLES.md), and other su - One or more runtime environments consisting of resources under management - In each runtime, the management agents which act on resources according to security policies - - One or more software Repositories for storing deployable artifacts that may be loaded into the runtime environments, eg. configuration files, code, binaries and packages + - One or more software repositories for storing deployable artifacts that may be loaded into the runtime environments, eg. configuration files, code, binaries, and packages - One or more Administrators who are responsible for operating the runtime environments ie. installing, starting, stopping and updating software, code, configuration, etc - A set of policies controlling access and management of repositories, deployments, runtimes From 365e68d656af74b516f70ba6820de5632410148d Mon Sep 17 00:00:00 2001 From: Scott Rigby Date: Fri, 17 Sep 2021 17:53:34 -0400 Subject: [PATCH 20/21] Fix case and remove trailing space Signed-off-by: Scott Rigby --- GLOSSARY.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/GLOSSARY.md b/GLOSSARY.md index f32e44c..9f9434d 100644 --- a/GLOSSARY.md +++ b/GLOSSARY.md @@ -19,7 +19,7 @@ This glossary accompanies the [GitOps Principles](./PRINCIPLES.md), and other su - ## Desired State - The aggregate of all configuration data for a system form its desired state which is defined as data sufficient to recreate the system so that instances of the system are behaviourally indistinguishable, but do not include the state of any data stored within the system, eg. database contents. + The aggregate of all configuration data for a system form its desired state which is defined as data sufficient to recreate the system so that instances of the system are behaviourally indistinguishable, but do not include the state of any data stored within the system, eg. database contents. - ## Drift @@ -43,7 +43,7 @@ This glossary accompanies the [GitOps Principles](./PRINCIPLES.md), and other su - ## State Store - A system for storing immutable versions of [Desired State](#desired-state) declarations. + A system for storing immutable versions of [desired state](#desired-state) declarations. This state store should provide access control and auditing on the changes to the Desired State. 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 special precautions must be taken to comply with requirements set out in the GitOps Principles. From f871777986e24b1e15f2201edec7edc2a1928490 Mon Sep 17 00:00:00 2001 From: Scott Rigby Date: Fri, 17 Sep 2021 18:05:49 -0400 Subject: [PATCH 21/21] Reviews and prior work attribution RC 1 PR drafted by: Co-authored-by: Scott Rigby Co-authored-by: Dan Garfield Co-authored-by: Leonardo Murillo RC 1 PR reviewed by: Co-authored-by: Nicholas Thomson Co-authored-by: William Caban Co-authored-by: Dan Garfield Co-authored-by: Moshe Immerman Co-authored-by: Chris Sanders Co-authored-by: Leonardo Murillo Co-authored-by: Carlos Santana This draft was also based on work by the GitOps WG over the past 6 months. Specifically #14, which was closed in favor of this RC 1 draft. Contributors to that PR were: Co-authored-by: Jesse Butler Co-authored-by: William Caban Co-authored-by: Dan Garfield Co-authored-by: Moshe Immerman Co-authored-by: Christian Hernandez Co-authored-by: Leonardo Murillo Co-authored-by: Scott Rigby Co-authored-by: Chris Sanders Co-authored-by: Roberth Strand Co-authored-by: Daniel Warner Co-authored-by: Florian Heubeck Co-authored-by: Lloyd Chang Signed-off-by: Scott Rigby