Skip to content

Commit a97673b

Browse files
authored
Clarify Pluggable Deployment Mechanism (#3093)
1 parent dcdca9c commit a97673b

File tree

3 files changed

+21
-14
lines changed

3 files changed

+21
-14
lines changed

docs/design-docs/07-package-orchestration.md

Lines changed: 19 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,9 @@ of WYSIWYG package authoring which supports broader package lifecycle, including
1414
package authoring with *guardrails*, approval workflow, package deployment, and
1515
more, is not yet available.
1616

17-
*Package Orchestration* service is the component that completes the set of core
18-
Configuration as Data components - *CaD Core* - and enables building the
19-
delightful UI experience supporting the configuration lifecycle.
17+
*Package Orchestration* service is part of the implementation of the
18+
Configuration as Data approach, and enables building the delightful UI
19+
experience supporting the configuration lifecycle.
2020

2121
## Core Concepts
2222

@@ -52,7 +52,7 @@ repository to be applied to all packages on changes.
5252
([more details](#functions))
5353

5454
A repository can be designated as ***deployment repository***. *Published*
55-
packages in a deployment repository is considered deployment-ready.
55+
packages in a deployment repository are considered deployment-ready.
5656
([more details](#deployment))
5757

5858
<!-- Reference links -->
@@ -68,7 +68,7 @@ packages in a deployment repository is considered deployment-ready.
6868
[representation]: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#differing-representations
6969
[crds]: https://kubernetes.io/docs/concepts/extend-kubernetes/api-extension/custom-resources/
7070

71-
## CaD Core Components
71+
## Core Components of Configuration as Data Implementation
7272

7373
The Core implementation of Configuration as Data, *CaD Core*, is a set of
7474
components and APIs which collectively enable:
@@ -95,8 +95,9 @@ At the high level, the Core CaD functionality comprises:
9595
* package discovery, authoring and lifecycle management
9696
* [kpt][] - a Git-native, schema-aware, extensible client-side tool for
9797
managing KRM packages
98-
* [Config Sync][] - configuration distribution and deployment mechanism with
99-
observability of the status of deployed resources
98+
* a GitOps-based deployment mechanism (for example [Config Sync][]), which
99+
distributes and deploys configuration, and provides observability of the
100+
status of deployed resources
100101
* a task-specific UI supporting repository management, package discovery,
101102
authoring, and lifecycle
102103

@@ -108,10 +109,11 @@ Concepts briefly introduced above are elaborated in more detail in this section.
108109

109110
### Repositories
110111

111-
[Config Sync][] and [kpt][] currently integrate with [git][] repositories, and
112+
[kpt][] and [Config Sync][] currently integrate with [git][] repositories, and
112113
there is an existing design to add [OCI support](./02-oci-support.md) to kpt.
113-
Initially, the CaD Core system will prioritize integration with [git][], and
114-
support for additional repository types may be added in the future as required.
114+
Initially, the Package Orchestration service will prioritize integration with
115+
[git][], and support for additional repository types may be added in the future
116+
as required.
115117

116118
Requirements applicable to all repositories include: ability to store packages,
117119
their versions, and sufficient metadata associated with package to capture:
@@ -159,7 +161,12 @@ the downstream package.
159161

160162
### Deployment
161163

162-
[Config Sync][] is the deployment mechanism used by CaD Core implementation.
164+
The deployment mechanism is responsible for deploying configuration packages
165+
from a repository and affecting the live state. Because the configuration
166+
is stored in standard repositories (Git, and in the future OCI), the deployment
167+
component is pluggable. By default, [Config Sync][] is the deployment mechanism
168+
used by CaD Core implementation but others can be used as well.
169+
163170
Here we highlight some key attributes of the deployment mechanism and its
164171
integration within the CaD Core:
165172

@@ -345,7 +352,7 @@ of the basic roles. For example, only permitted roles can:
345352
### Porch Architecture
346353

347354
The Package Orchestration service, **Porch** is designed to be hosted in a
348-
[Kubernetes](https://kubernetes.io/) cluster, just like [Config Sync][].
355+
[Kubernetes](https://kubernetes.io/) cluster.
349356

350357
The overall architecture is shown below, and includes also existing components
351358
(k8s apiserver and Config Sync).

docs/design-docs/CaD Core Architecture.svg

Lines changed: 1 addition & 1 deletion
Loading

docs/design-docs/Porch Architecture.svg

Lines changed: 1 addition & 1 deletion
Loading

0 commit comments

Comments
 (0)