etcd: WIP.

This commit is contained in:
Fernandez Ludovic 2019-04-20 15:47:10 +02:00
parent f3e10c8489
commit b2407882e7

View File

@ -1,8 +1,13 @@
package cmd
import (
"fmt"
"strconv"
"time"
"github.com/abronan/valkeyrie/store"
"github.com/abronan/valkeyrie/store/etcd/v2"
"github.com/ldez/traefik-certs-dumper/dumper"
"github.com/ldez/traefik-certs-dumper/dumper/kv"
"github.com/spf13/cobra"
)
@ -11,10 +16,7 @@ var etcdCmd = &cobra.Command{
Use: "etcd",
Short: "TODO",
Long: `TODO`,
RunE: func(cmd *cobra.Command, args []string) error {
fmt.Println("etcd called")
return nil
},
RunE: etcdRun,
}
func init() {
@ -22,3 +24,38 @@ func init() {
etcdCmd.Flags().Int("sync-period", 0, "Sync period for etcd in seconds.")
}
func etcdRun(cmd *cobra.Command, _ []string) error {
// FIXME shared with file and all KVs
dumpPath := cmd.Flag("dest").Value.String()
crtInfo := dumper.FileInfo{
Name: cmd.Flag("crt-name").Value.String(),
Ext: cmd.Flag("crt-ext").Value.String(),
}
keyInfo := dumper.FileInfo{
Name: cmd.Flag("key-name").Value.String(),
Ext: cmd.Flag("key-ext").Value.String(),
}
subDir, _ := strconv.ParseBool(cmd.Flag("domain-subdir").Value.String())
// ---
config, err := getBaseConfig(cmd)
if err != nil {
return err
}
synPeriod, err := cmd.Flags().GetInt("sync-period")
if err != nil {
return err
}
config.Options.SyncPeriod = time.Duration(synPeriod) * time.Second
config.Backend = store.ETCD
etcd.Register()
return kv.Dump(config, dumpPath, crtInfo, keyInfo, subDir)
}