@@ -119,6 +119,31 @@ type WorkConfiguration struct {
119
119
// he can set featuregate/Foo=false before upgrading. Let's say the cluster-admin wants featuregate/Foo=false.
120
120
// +optional
121
121
FeatureGates []FeatureGate `json:"featureGates,omitempty"`
122
+
123
+ // WorkDriver represents the type of work driver. Possible values are kube, mqtt, or grpc.
124
+ // If not provided, the default value is kube.
125
+ // If the driver is not kube, the driver config must be provided in a secret named "work-driver-config".
126
+ //
127
+ // An example of MQTT driver config (in YAML format) is as follows:
128
+ // broker: broker.example.com:1883
129
+ // username: maestro
130
+ // password: password
131
+ // topics:
132
+ // sourceEvents: sources/maestro/consumers/+/sourceevents
133
+ // agentEvents: $share/statussubscribers/sources/maestro/consumers/+/agentevents
134
+ //
135
+ // An example of GRPC driver config (in YAML format) is as follows:
136
+ // url: grpc.example.com:8443
137
+ // caFile: /certs/ca.crt
138
+ // clientCertFile: /certs/client.crt
139
+ // clientKeyFile: /certs/client.key
140
+ //
141
+ // For detailed driver config content, refer to the specific work driver options package:
142
+ // MQTT: https://github.com/open-cluster-management-io/sdk-go/blob/00a94671ced1c17d2ca2b5fad2f4baab282a7d3c/pkg/cloudevents/generic/options/mqtt/options.go#L46-L76
143
+ // GRPC: https://github.com/open-cluster-management-io/sdk-go/blob/00a94671ced1c17d2ca2b5fad2f4baab282a7d3c/pkg/cloudevents/generic/options/grpc/options.go#L30-L40
144
+ // +optional
145
+ // +kubebuilder:default:=kube
146
+ WorkDriver string `json:"workDriver,omitempty"`
122
147
}
123
148
124
149
type AddOnManagerConfiguration struct {
0 commit comments