Skip to content

Commit 47eb07d

Browse files
committed
Replace rollout extension for external update extension
1 parent 8bf9eb0 commit 47eb07d

File tree

1 file changed

+7
-7
lines changed

1 file changed

+7
-7
lines changed

docs/proposals/20240807-in-place-updates.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -102,31 +102,31 @@ Even if the project continues to improve immutable rollouts, most probably there
102102
* Single node cluster without extra hardware available.
103103
* `TODO: looking for more real life usecases here`
104104

105-
With this proposal, Cluster API provides a new extensibility point for users willing to implement their own specific solution for these problems, allowing them to implement a custom rollout strategy to be triggered via a new rollout extension point implemented using the existing runtime extension framework.
105+
With this proposal, Cluster API provides a new extensibility point for users willing to implement their own specific solution for these problems, allowing them to implement a custom rollout strategy to be triggered via a new external update extension point implemented using the existing runtime extension framework.
106106

107107
With the implementation of custom rollout strategy, users can take ownership of the rollout process and embrace in-place rollout strategies, intentionally trading off some of the benefits that you get from immutable infrastructure.
108108

109109
### Divide and conquer
110110

111-
As this proposal is an output of the In-place updates Feature Group, ensuring that the rollout extension allows the implementation of in-place rollout strategies is considered a non-negotiable goal of this effort.
111+
As this proposal is an output of the In-place updates Feature Group, ensuring that the external update extension allows the implementation of in-place rollout strategies is considered a non-negotiable goal of this effort.
112112

113113
Please note that the practical consequence of focusing on in-place rollout strategies, is that the possibility to implement different types of custom rollout strategies, even if technically possible, won’t be validated in this first iteration (future goal).
114114

115-
Another important point to surface, before digging into implementation details of the proposal, is the fact that this proposal is not tackling the problem of improving CAPI to embrace all the possibilities that rollout extensions are introducing.
115+
Another important point to surface, before digging into implementation details of the proposal, is the fact that this proposal is not tackling the problem of improving CAPI to embrace all the possibilities that external update extensions are introducing.
116116

117-
E.g. If a rollout extension introduces support for in-place updates, using “BootstrapConfig” (emphasis on bootstrap) as the place where most of the machine configurations are defined seems not ideal.
117+
E.g. If a external update extension introduces support for in-place updates, using “BootstrapConfig” (emphasis on bootstrap) as the place where most of the machine configurations are defined seems not ideal.
118118

119119
However, at the same time we would like to make it possible for Cluster API users to start exploring this field, gain experience, and report back so we can have concrete use cases and real-world feedback to evolve our API.
120120

121121
### Tenets
122122

123123
#### Same UX
124124

125-
Cluster API user experience MUST be the same when using default, immutable updates or when using rollout extensions: e.g. in order to trigger a MachineDeployment rollout, you have to rotate a template, etc.
125+
Cluster API user experience MUST be the same when using default, immutable updates or when using external update extensions: e.g. in order to trigger a MachineDeployment rollout, you have to rotate a template, etc.
126126

127127
#### Fallback to Immutable rollouts
128128

129-
If rollout extensions can not cover the totality of the desired changes, users SHOULD be able to defer to Cluster API’s default, immutable rollouts. This is important for a couple of reasons:
129+
If external update extensions can not cover the totality of the desired changes, users SHOULD be able to defer to Cluster API’s default, immutable rollouts. This is important for a couple of reasons:
130130

131131
* It allows to implement custom rollout strategies incrementally, without the need to cover all use cases up-front.
132132
* There are case when replacing the machine will always be necessary:
@@ -136,7 +136,7 @@ If rollout extensions can not cover the totality of the desired changes, users S
136136

137137
#### Clean separation of concern
138138

139-
The rollout extension will be responsible to perform the updates on a single machine.
139+
The external update extension will be responsible to perform the updates on a single machine.
140140

141141
The responsibility to determine which machine should be rolled out as well as the responsibility to handle rollout options like MaxSurge/MaxUnavailable will remain on the controllers owning the machine (e.g. KCP, MD controller).
142142

0 commit comments

Comments
 (0)