This introduces a kvstore-tool tool with two subcommands:
decode - for decoding Kubernetes data stored in binary in etcd to YAML, JSON or Protobuf
extract - for extracting kubernetes data directly from boltdb ".db" files
Suggestions on what to name this tool welcome. kvstore-tool was chosen in hopes of not confusing the tool with other storage/persistence kubernetes features.
This currently vendors in all of k8s.io/kubernetes, which is currently needed to register the core ("") group types, but really slows down the build. See the import of k8s.io/kubernetes/pkg/kubeapiserver/options in cmd/decode.go for details. I'd like to eliminate that dependency somehow. If removed, we would only have dependencies on k8s.io/apimachinery and k8s.io/apiserver, which would be more reasonable.
Recommendations on the layout of flags and arguments of the CLI tool are also welcome. Ideally this would "look and feel" much like other k8s CLIs.
This introduces a
kvstore-tool
tool with two subcommands:Suggestions on what to name this tool welcome.
kvstore-tool
was chosen in hopes of not confusing the tool with other storage/persistence kubernetes features.This currently vendors in all of k8s.io/kubernetes, which is currently needed to register the core ("") group types, but really slows down the build. See the import of
k8s.io/kubernetes/pkg/kubeapiserver/options
in cmd/decode.go for details. I'd like to eliminate that dependency somehow. If removed, we would only have dependencies on k8s.io/apimachinery and k8s.io/apiserver, which would be more reasonable.Recommendations on the layout of flags and arguments of the CLI tool are also welcome. Ideally this would "look and feel" much like other k8s CLIs.