From f13b0c00a3d1c83170fffee7aabaf057f24939cd Mon Sep 17 00:00:00 2001 From: Andy Goldstein Date: Tue, 27 Feb 2018 14:32:45 -0500 Subject: [PATCH] server: don't assume /ark for internal plugins If you want to test changes to the ark server without having to rebuild and redeploy the ark container, this change allows you to do something like this (assuming you've created your cloud credentials file): AWS_SHARED_CREDENTIALS_FILE=credentials-minio ark server -n heptio-ark Signed-off-by: Andy Goldstein --- pkg/plugin/manager.go | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/pkg/plugin/manager.go b/pkg/plugin/manager.go index 80bc1594d..ee8dbdfaa 100644 --- a/pkg/plugin/manager.go +++ b/pkg/plugin/manager.go @@ -176,16 +176,18 @@ func getPluginInstance(client *plugin.Client, kind PluginKind) (interface{}, err } func (m *manager) registerPlugins() error { + arkCommand := os.Args[0] + // first, register internal plugins for _, provider := range []string{"aws", "gcp", "azure"} { - m.pluginRegistry.register(provider, "/ark", []string{"run-plugin", "cloudprovider", provider}, PluginKindObjectStore, PluginKindBlockStore) + m.pluginRegistry.register(provider, arkCommand, []string{"run-plugin", "cloudprovider", provider}, PluginKindObjectStore, PluginKindBlockStore) } - m.pluginRegistry.register("pv", "/ark", []string{"run-plugin", string(PluginKindBackupItemAction), "pv"}, PluginKindBackupItemAction) - m.pluginRegistry.register("backup-pod", "/ark", []string{"run-plugin", string(PluginKindBackupItemAction), "pod"}, PluginKindBackupItemAction) + m.pluginRegistry.register("pv", arkCommand, []string{"run-plugin", string(PluginKindBackupItemAction), "pv"}, PluginKindBackupItemAction) + m.pluginRegistry.register("backup-pod", arkCommand, []string{"run-plugin", string(PluginKindBackupItemAction), "pod"}, PluginKindBackupItemAction) - m.pluginRegistry.register("job", "/ark", []string{"run-plugin", string(PluginKindRestoreItemAction), "job"}, PluginKindRestoreItemAction) - m.pluginRegistry.register("restore-pod", "/ark", []string{"run-plugin", string(PluginKindRestoreItemAction), "pod"}, PluginKindRestoreItemAction) - m.pluginRegistry.register("svc", "/ark", []string{"run-plugin", string(PluginKindRestoreItemAction), "svc"}, PluginKindRestoreItemAction) + m.pluginRegistry.register("job", arkCommand, []string{"run-plugin", string(PluginKindRestoreItemAction), "job"}, PluginKindRestoreItemAction) + m.pluginRegistry.register("restore-pod", arkCommand, []string{"run-plugin", string(PluginKindRestoreItemAction), "pod"}, PluginKindRestoreItemAction) + m.pluginRegistry.register("svc", arkCommand, []string{"run-plugin", string(PluginKindRestoreItemAction), "svc"}, PluginKindRestoreItemAction) // second, register external plugins (these will override internal plugins, if applicable) if _, err := os.Stat(pluginDir); err != nil {