@@ -74,6 +74,8 @@ This proposal provides a solution that leverages a declarative API and an
74
74
operator to empower admins to handle the lifecycle of providers within the
75
75
management cluster.
76
76
77
+ The operator is developed in a separate repository [ TBD] and will have its own release cycle.
78
+
77
79
## Motivation
78
80
79
81
In its current form clusterctl is designed to provide a simple user experience
@@ -113,6 +115,8 @@ management cluster based on a declarative API.
113
115
114
116
### Non-Goals/Future Work
115
117
118
+ - ` clusterctl ` related changes will be implemented after core operator functionality
119
+ is complete. For example, deprecating ` Provider ` type and migrating to new ones.
116
120
- ` clusterctl ` will not be deprecated or replaced with another CLI.
117
121
- Implement an operator driven version of ` clusterctl move ` .
118
122
- Manage cert-manager using the operator.
@@ -145,7 +149,8 @@ The `clusterctl` CLI will provide a similar UX to the users whilst leveraging
145
149
the operator for the functions it can. As stated in the Goals/Non-Goals, the
146
150
move operation will not be driven by the operator but rather remain within the
147
151
CLI for now. However, this is an implementation detail and will not affect the
148
- users.
152
+ users. The move operation and all other ` clusterctl ` refactoring will be
153
+ done after core operator functionality is implemented.
149
154
150
155
#### Existing API Types Changes
151
156
@@ -754,36 +759,40 @@ will look like.
754
759
755
760
##### Operator Installation
756
761
757
- - ` clusterctl init ` will install the operator and its corresponding CRDs as a
758
- pre-requisite if the operator doesn’t already exist. Please note that this
762
+ - During the first phase of implementation ` clusterctl ` won't provide support
763
+ for managing the operator, so the admin will have to install it manually using
764
+ ` kubectl apply ` (or similar solutions), the operator yaml that will be published in the
765
+ operator subproject release artifacts.
766
+ - In future ` clusterctl init ` will install the operator and its corresponding CRDs
767
+ as a pre-requisite if the operator doesn’t already exist. Please note that this
759
768
command will consider image overrides defined in the local clusterctl config
760
769
file.
761
- - If the admin does not want to use clusterctl to install the operator, it is
762
- possible to ` kubectl apply ` the operator yaml that will be published in the
763
- cluster-api release artifacts.
764
770
765
771
##### Operator Upgrade
766
-
767
- - The admin can use ` clusterctl upgrade operator ` to upgrade the operator
768
- components. Please note that this command will consider image overrides
769
- defined in the local clusterctl config file. Other commands such as
770
- ` clusterctl upgrade apply ` will also allow to upgrade the operator.
772
+ - During the first phase of implementation ` clusterctl ` operations will not be
773
+ supported and admin will have to install the operator manually, or in case if
774
+ the admin doesn’t want to use clusterctl, they can use ` kubectl apply ` (or similar solutions)
775
+ with the latest version of the operator yaml that will be published in the
776
+ operator subproject release artifacts.
777
+ - The transition between manually managed operator and clusterctl managed
778
+ operator will be documented later as we progress with the implementation.
779
+ - In future the admin will be able to use ` clusterctl upgrade operator ` to
780
+ upgrade the operator components. Please note that this command will consider
781
+ image overrides defined in the local clusterctl config file. Other commands
782
+ such as ` clusterctl upgrade apply ` will also allow to upgrade the operator.
771
783
- ` clusterctl upgrade plan ` will identify when the operator can be upgraded by
772
784
checking the cluster-api release artifacts.
773
- - If the admin doesn’t want to use clusterctl, they can use kubectl apply with
774
- the latest version of the operator yaml that will be published in the
775
- cluster-api release artifacts.
776
785
- clusterctl will require a matching operator version. In the future, when
777
786
clusterctl move to beta/GA, we will reconsider supporting version skew
778
787
between clusterctl and the operator.
779
788
780
789
##### Operator Delete
781
-
782
- - clusterctl will delete the operator as part of the ` clusterctl delete --all `
783
- command.
784
- - If the admin doesn’t want to use clusterctl, they can use kubectl delete .
785
- However, it’s the admin’s responsibility to verify that there are no
786
- providers running in the management cluster .
790
+ - During the first phase of implementation ` clusterctl ` operations will not be
791
+ supported and admin will have to delete the operator manually using ` kubectl delete`
792
+ (or similar solutions). However, it’s the admin’s responsibility to verify that there
793
+ are no providers running in the management cluster .
794
+ - In future the clusterctl will delete the operator as part of
795
+ the ` clusterctl delete --all ` command .
787
796
788
797
#### Air gapped environment
789
798
0 commit comments