File tree Expand file tree Collapse file tree 2 files changed +29
-0
lines changed
docs/book/src/tasks/experimental-features/runtime-sdk Expand file tree Collapse file tree 2 files changed +29
-0
lines changed Original file line number Diff line number Diff line change @@ -15,6 +15,7 @@ controllers. The recommended deployment model is to deploy a Runtime Extension i
15
15
- Using a Kubernetes Deployment to run the above container inside the Management Cluster.
16
16
- Using a Cluster IP Service to make the Runtime Extension instances accessible via a stable DNS name.
17
17
- Using a cert-manager generated Certificate to protect the endpoint.
18
+ - Register the Runtime Extension using ExtensionConfig.
18
19
19
20
For an example, please see our [ test extension] ( https://github.com/kubernetes-sigs/cluster-api/tree/main/test/extension )
20
21
which follows, as closely as possible, the kubebuilder setup used for controllers in Cluster API.
Original file line number Diff line number Diff line change @@ -291,6 +291,34 @@ controllers processing those resource that might impact system stability.
291
291
292
292
</aside >
293
293
294
+ ### ExtensionConfig
295
+
296
+ To register your runtime extension apply the ExtensionConfig resource in the management cluster, including your CA
297
+ certs, ClusterIP service associated with the app and namespace, and the target namespace for the given extension. Once
298
+ created, the extension will detect the associated service and discover the associated Hooks. For clarification, you can
299
+ check the status of the ExtensionConfig. Below is an example of ` ExtensionConfig ` -
300
+
301
+ ``` yaml
302
+ apiVersion : runtime.cluster.x-k8s.io/v1alpha1
303
+ kind : ExtensionConfig
304
+ metadata :
305
+ annotations :
306
+ runtime.cluster.x-k8s.io/inject-ca-from-secret : default/test-runtime-sdk-svc-cert
307
+ name : test-runtime-sdk-extensionconfig
308
+ spec :
309
+ clientConfig :
310
+ service :
311
+ name : test-runtime-sdk-svc
312
+ namespace : default # Note: this assumes the test extension get deployed in the default namespace
313
+ port : 443
314
+ namespaceSelector :
315
+ matchExpressions :
316
+ - key : kubernetes.io/metadata.name
317
+ operator : In
318
+ values :
319
+ - default # Note: this assumes the test extension is used by Cluster in the default namespace only
320
+ ` ` `
321
+
294
322
### Settings
295
323
296
324
Settings can be added to the ExtensionConfig object in the form of a map with string keys and values. These settings are
You can’t perform that action at this time.
0 commit comments