This repository was archived by the owner on Sep 30, 2020. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 292
This repository was archived by the owner on Sep 30, 2020. It is now read-only.
Plugins #509
Copy link
Copy link
Closed
Labels
lifecycle/rottenDenotes an issue or PR that has aged beyond stale and will be auto-closed.Denotes an issue or PR that has aged beyond stale and will be auto-closed.
Description
Would it be useful/possible to introduce "kube-aws plugins" to define sets of configurations and resources(settings, k8s manifests, required iam policies, etc) used to extend kube-aws, without complicating the core of kube-aws?
For example, I guess with the feature, #507 can be implemented as a plugin composed of:
Design 1
plugins/enabled/<unique name of an instance of plugin e.g. cluster-dump>/controllermanifests/cluster-dump.yaml.tmplwith the content of cluster-dump.yaml
iam-policies/allow-puts-to-s3-path.json.tmplwith the content of the iam policy required by cluster-dump
Intentions:
- The directory is named
plugins/enabled/<unique name of an instance of plugin>so that- we can later introduce
plugins/available/<unique name of a plugin>for defining a plugin=a template of instances of plugin
- we can later introduce
- The
controllerdirectory is there to place controller node specific files and settings
Design 2
plugins/available/<unique name of a plugin e.g. cluster-dump>/controllermanifests/cluster-dump.yaml.tmpl
iam-policies/allow-puts-to-s3-path.json.tmpl
cluster.yaml- With the new configuration key to allow enabling and customizing plugins
clusterName: *** externalDNSName: *** kmsKeyARN: *** *snip* plugins: clusterDump: - pluginName: <unique name of a plugin e.g. cluster-dump> s3Prefix: <customs3prefix_to_where_cluster_is_dumped> rescheduler: - pluginName: rescheduler
- With the new configuration key to allow enabling and customizing plugins
and we bundle default plugins into kube-aws binaries, but putting files to plugins/available would allow customizing a default plugin.
@c-knowles I can't locate the exact link to it but if I remember correctly, we've discussed before about introducing "plugins" to make kube-aws extendable by users?
Metadata
Metadata
Assignees
Labels
lifecycle/rottenDenotes an issue or PR that has aged beyond stale and will be auto-closed.Denotes an issue or PR that has aged beyond stale and will be auto-closed.