diff --git a/cmd/etcd.go b/cmd/etcd.go index 9a21577..3e9cd33 100644 --- a/cmd/etcd.go +++ b/cmd/etcd.go @@ -22,6 +22,7 @@ func init() { kvCmd.AddCommand(etcdCmd) etcdCmd.Flags().Int("sync-period", 0, "Sync period for etcd in seconds.") + etcdCmd.Flags().String("etcd-version", "etcd", "The etcd version can be: 'etcd' or 'etcdv3'.") } func etcdRun(baseConfig *dumper.BaseConfig, cmd *cobra.Command) error { @@ -36,7 +37,20 @@ func etcdRun(baseConfig *dumper.BaseConfig, cmd *cobra.Command) error { } config.Options.SyncPeriod = time.Duration(synPeriod) * time.Second - config.Backend = store.ETCD + backend, err := cmd.Flags().GetString("etcd-version") + if err != nil { + return err + } + + switch backend { + case "etcd": + config.Backend = store.ETCD + case "etcdv3": + config.Backend = store.ETCDV3 + default: + config.Backend = store.ETCD + } + etcd.Register() return kv.Dump(config, baseConfig) diff --git a/docs/traefik-certs-dumper_kv_etcd.md b/docs/traefik-certs-dumper_kv_etcd.md index 368337d..6b3abc1 100644 --- a/docs/traefik-certs-dumper_kv_etcd.md +++ b/docs/traefik-certs-dumper_kv_etcd.md @@ -13,8 +13,9 @@ traefik-certs-dumper kv etcd [flags] ### Options ``` - -h, --help help for etcd - --sync-period int Sync period for etcd in seconds. + --etcd-version string The etcd version can be: 'etcd' or 'etcdv3'. (default "etcd") + -h, --help help for etcd + --sync-period int Sync period for etcd in seconds. ``` ### Options inherited from parent commands