diff --git a/ts-obs/.goreleaser.yml b/cli/.goreleaser.yml
similarity index 82%
rename from ts-obs/.goreleaser.yml
rename to cli/.goreleaser.yml
index ae0df003..c7d3a85d 100644
--- a/ts-obs/.goreleaser.yml
+++ b/cli/.goreleaser.yml
@@ -1,5 +1,6 @@
# This is an example goreleaser.yaml file with some sane defaults.
# Make sure to check the documentation at http://goreleaser.com
+project_name: tobs
before:
hooks:
# You may remove this if you don't use go modules.
@@ -8,7 +9,8 @@ builds:
- env:
- CGO_ENABLED=0
archives:
-- replacements:
+- name_template: '{{ .ProjectName }}_{{ .Version }}_{{ .Os }}_{{ .Arch }}'
+ replacements:
darwin: Darwin
linux: Linux
windows: Windows
diff --git a/cli/README.md b/cli/README.md
new file mode 100644
index 00000000..5aec6292
--- /dev/null
+++ b/cli/README.md
@@ -0,0 +1,82 @@
+# tobs - The Observability Stack for Kubernetes CLI
+
+This is a CLI tool for installing and managing the The Observability Stack for Kubernetes.
+
+## Quick Start
+
+__Dependencies__: [Go](https://golang.org/doc/install), [Helm](https://helm.sh/docs/intro/install/)
+
+To install the CLI, run `go install` from inside the `tobs` folder.
+Then, copy the `tobs` binary from `$GOPATH/bin` to your `/bin` folder.
+
+## Commands
+
+The following are the commands possible with the CLI.
+
+### Base Commands
+
+| Command | Description | Flags |
+|---------------------|------------------------------------------------------------------|------------------------------------------------------|
+| `tobs install` | Alias for `tobs helm install`. | `--filename`, `-f` : file to load configuration from |
+| `tobs uninstall` | Alias for `tobs helm unintall`. | None |
+| `tobs port-forward` | Port-forwards TimescaleDB, Grafana, and Prometheus to localhost. | `--timescaledb`, `-t` : port for TimescaleDB
`--grafana`, `-g` : port for Grafana
`--prometheus`, `-p` : port for Prometheus |
+
+### Helm Commands
+
+| Command | Description | Flags |
+|-------------------------|------------------------------------------------------------------------------|------------------------------------------------------|
+| `tobs helm install` | Installs Helm chart for The Observability Stack. | `--filename`, `-f` : file to load configuration from |
+| `tobs helm uninstall` | Uninstalls Helm chart for The Observability Stack. | None |
+| `tobs helm show-values` | Prints the YAML configuration of the Helm chart for The Observability Stack. | None |
+| `tobs helm delete-data` | Deletes persistent volume claims associated with The Observability Stack. | None |
+
+### TimescaleDB Commands
+
+| Command | Description | Flags |
+|------------------------------------|------------------------------------------------------------|---------------------------------------------|
+| `tobs timescaledb connect` | Connects to the Timescale database running in the cluster. | `--user`, `-U` : user to login with
`--master`, `-m` : directly execute session on master node |
+| `tobs timescaledb port-forward` | Port-forwards TimescaleDB to localhost. | `--port`, `-p` : port to listen from |
+| `tobs timescaledb get-password` | Gets the password for a user in the Timescale database. | `--user`, `-U` : user whose password to get |
+| `tobs timescaledb change-password` | Changes the password for a user in the Timescale database. | `--user`, `-U` : user whose password to get |
+
+### Grafana Commands
+
+| Command | Description | Flags |
+|-------------------------------------|------------------------------------------------|--------------------------------------|
+| `tobs grafana port-forward` | Port-forwards the Grafana server to localhost. | `--port`, `-p` : port to listen from |
+| `tobs grafana get-initial-password` | Gets the initial admin password for Grafana. | None |
+| `tobs grafana change-password` | Changes the admin password for Grafana. | None |
+
+### Prometheus Commands
+
+| Command | Description | Flags |
+|--------------------------------|---------------------------------------------------|--------------------------------------|
+| `tobs prometheus port-forward` | Port-forwards the Prometheus server to localhost. | `--port`, `-p` : port to listen from |
+
+### Metrics Commands
+
+| Command | Description | Flags |
+|-------------------------------------------|--------------------------------------------------------------------------------------|-------|
+| `tobs metrics retention get` | Gets the data retention period of a specific metric. | `--user`, `-U` : database user name
`--dbname`, `-d` : database name to connect to |
+| `tobs metrics retention set-default` | Sets the default data retention period to the specified number of days. | `--user`, `-U` : database user name
`--dbname`, `-d` : database name to connect to |
+| `tobs metrics retention set` | Sets the data retention period of a specific metric to the specified number of days. | `--user`, `-U` : database user name
`--dbname`, `-d` : database name to connect to |
+| `tobs metrics retention reset` | Resets the data retention period of a specific metric to the default value. | `--user`, `-U` : database user name
`--dbname`, `-d` : database name to connect to |
+| `tobs metrics chunk-interval get` | Gets the chunk interval of a specific metric. | `--user`, `-U` : database user name
`--dbname`, `-d` : database name to connect to |
+| `tobs metrics chunk-interval set-default` | Sets the default chunk interval to the specified duration. | `--user`, `-U` : database user name
`--dbname`, `-d` : database name to connect to |
+| `tobs metrics chunk-interval set` | Sets the chunk interval of a specific metric to the specified duration. | `--user`, `-U` : database user name
`--dbname`, `-d` : database name to connect to |
+| `tobs metrics chunk-interval reset` | Resets chunk interval of a specific metric to the default value. | `--user`, `-U` : database user name
`--dbname`, `-d` : database name to connect to |
+
+## Global Flags
+
+The following are global flags that can be used with any of the above commands:
+
+| Flag | Description |
+|----------------|----------------------|
+| `--name`, `-n` | Helm release name |
+| `--namespace` | Kubernetes namespace |
+
+## Testing
+
+A testing suite is included in the `tests` folder. This testing suite has additional dependencies on [kubectl](https://kubernetes.io/docs/tasks/tools/install-kubectl/) and [minikube](https://kubernetes.io/docs/tasks/tools/install-minikube/).
+
+The testing suite can be run by calling `go test -timeout 30m` from within the `tests` folder.
diff --git a/ts-obs/cmd/chunkInterval.go b/cli/cmd/chunkInterval.go
similarity index 100%
rename from ts-obs/cmd/chunkInterval.go
rename to cli/cmd/chunkInterval.go
diff --git a/ts-obs/cmd/chunkIntervalGet.go b/cli/cmd/chunkIntervalGet.go
similarity index 100%
rename from ts-obs/cmd/chunkIntervalGet.go
rename to cli/cmd/chunkIntervalGet.go
diff --git a/ts-obs/cmd/chunkIntervalReset.go b/cli/cmd/chunkIntervalReset.go
similarity index 100%
rename from ts-obs/cmd/chunkIntervalReset.go
rename to cli/cmd/chunkIntervalReset.go
diff --git a/ts-obs/cmd/chunkIntervalSet.go b/cli/cmd/chunkIntervalSet.go
similarity index 100%
rename from ts-obs/cmd/chunkIntervalSet.go
rename to cli/cmd/chunkIntervalSet.go
diff --git a/ts-obs/cmd/chunkIntervalSetDefault.go b/cli/cmd/chunkIntervalSetDefault.go
similarity index 100%
rename from ts-obs/cmd/chunkIntervalSetDefault.go
rename to cli/cmd/chunkIntervalSetDefault.go
diff --git a/ts-obs/cmd/grafana.go b/cli/cmd/grafana.go
similarity index 100%
rename from ts-obs/cmd/grafana.go
rename to cli/cmd/grafana.go
diff --git a/ts-obs/cmd/grafanaChangePassword.go b/cli/cmd/grafanaChangePassword.go
similarity index 100%
rename from ts-obs/cmd/grafanaChangePassword.go
rename to cli/cmd/grafanaChangePassword.go
diff --git a/ts-obs/cmd/grafanaGetPassword.go b/cli/cmd/grafanaGetPassword.go
similarity index 100%
rename from ts-obs/cmd/grafanaGetPassword.go
rename to cli/cmd/grafanaGetPassword.go
diff --git a/ts-obs/cmd/grafanaPortForward.go b/cli/cmd/grafanaPortForward.go
similarity index 100%
rename from ts-obs/cmd/grafanaPortForward.go
rename to cli/cmd/grafanaPortForward.go
diff --git a/ts-obs/cmd/helm.go b/cli/cmd/helm.go
similarity index 100%
rename from ts-obs/cmd/helm.go
rename to cli/cmd/helm.go
diff --git a/ts-obs/cmd/helmDeleteData.go b/cli/cmd/helmDeleteData.go
similarity index 82%
rename from ts-obs/cmd/helmDeleteData.go
rename to cli/cmd/helmDeleteData.go
index 0b516592..d09feed5 100644
--- a/ts-obs/cmd/helmDeleteData.go
+++ b/cli/cmd/helmDeleteData.go
@@ -24,14 +24,14 @@ func helmDeleteData(cmd *cobra.Command, args []string) error {
fmt.Println("Getting Persistent Volume Claims")
pvcnames, err := KubeGetPVCNames(namespace, map[string]string{"release": name})
if err != nil {
- return fmt.Errorf("could not uninstall Timescale Observability: %w", err)
+ return fmt.Errorf("could not delete PVCs: %w", err)
}
fmt.Println("Removing Persistent Volume Claims")
for _, s := range pvcnames {
err = KubeDeletePVC(namespace, s)
if err != nil {
- return fmt.Errorf("could not uninstall Timescale Observability: %w", err)
+ return fmt.Errorf("could not delete PVCs: %w", err)
}
}
diff --git a/ts-obs/cmd/helmInstall.go b/cli/cmd/helmInstall.go
similarity index 81%
rename from ts-obs/cmd/helmInstall.go
rename to cli/cmd/helmInstall.go
index 935ed50b..3e0ed0d0 100644
--- a/ts-obs/cmd/helmInstall.go
+++ b/cli/cmd/helmInstall.go
@@ -16,7 +16,7 @@ const REPO_LOCATION = "https://charts.timescale.com"
// helmInstallCmd represents the helm install command
var helmInstallCmd = &cobra.Command{
Use: "install",
- Short: "Installs Timescale Observability",
+ Short: "Installs The Observability Stack",
Args: cobra.ExactArgs(0),
RunE: helmInstall,
}
@@ -32,7 +32,7 @@ func helmInstall(cmd *cobra.Command, args []string) error {
var file string
file, err = cmd.Flags().GetString("filename")
if err != nil {
- return fmt.Errorf("could not install Timescale Observability: %w", err)
+ return fmt.Errorf("could not install The Observability Stack: %w", err)
}
w := io.Writer(os.Stdout)
@@ -44,7 +44,7 @@ func helmInstall(cmd *cobra.Command, args []string) error {
fmt.Println("Adding Timescale Helm Repository")
err = addchart.Run()
if err != nil {
- return fmt.Errorf("could not install Timescale Observability: %w", err)
+ return fmt.Errorf("could not install The Observability Stack: %w", err)
}
update := exec.Command("helm", "repo", "update")
@@ -54,7 +54,7 @@ func helmInstall(cmd *cobra.Command, args []string) error {
fmt.Println("Fetching updates from repository")
err = update.Run()
if err != nil {
- return fmt.Errorf("could not install Timescale Observability: %w", err)
+ return fmt.Errorf("could not install The Observability Stack: %w", err)
}
cmds := []string{"install", name, "timescale/timescale-observability", "--set", "cli=true"}
@@ -69,10 +69,10 @@ func helmInstall(cmd *cobra.Command, args []string) error {
}
install := exec.Command("helm", cmds...)
- fmt.Println("Installing Timescale Observability")
+ fmt.Println("Installing The Observability Stack")
out, err := install.CombinedOutput()
if err != nil {
- return fmt.Errorf("could not install Timescale Observability: %w", err)
+ return fmt.Errorf("could not install The Observability Stack: %w", err)
}
time.Sleep(10 * time.Second)
@@ -90,7 +90,7 @@ func helmInstall(cmd *cobra.Command, args []string) error {
}
}
- fmt.Println("Timescale Observability has been installed successfully")
+ fmt.Println("The Observability Stack has been installed successfully")
fmt.Println(string(out))
return nil
}
diff --git a/ts-obs/cmd/helmShowValues.go b/cli/cmd/helmShowValues.go
similarity index 91%
rename from ts-obs/cmd/helmShowValues.go
rename to cli/cmd/helmShowValues.go
index 9c90acc9..56d3d5e5 100644
--- a/ts-obs/cmd/helmShowValues.go
+++ b/cli/cmd/helmShowValues.go
@@ -10,7 +10,7 @@ import (
// helmShowValuesCmd represents the helm show-values command
var helmShowValuesCmd = &cobra.Command{
Use: "show-values",
- Short: "Prints the default Timescale Observability values to console",
+ Short: "Prints the default Observability Stack values to console",
Args: cobra.ExactArgs(0),
RunE: helmShowValues,
}
diff --git a/ts-obs/cmd/helmUninstall.go b/cli/cmd/helmUninstall.go
similarity index 79%
rename from ts-obs/cmd/helmUninstall.go
rename to cli/cmd/helmUninstall.go
index 66afef43..318bdb7f 100644
--- a/ts-obs/cmd/helmUninstall.go
+++ b/cli/cmd/helmUninstall.go
@@ -14,7 +14,7 @@ import (
// helmUninstallCmd represents the helm uninstall command
var helmUninstallCmd = &cobra.Command{
Use: "uninstall",
- Short: "Uninstalls Timescale Observability",
+ Short: "Uninstalls The Observability Stack",
Args: cobra.ExactArgs(0),
RunE: helmUninstall,
}
@@ -30,7 +30,7 @@ func helmUninstall(cmd *cobra.Command, args []string) error {
var deleteData bool
deleteData, err = cmd.Flags().GetBool("delete-data")
if err != nil {
- return fmt.Errorf("could not uninstall Timescale Observability: %w", err)
+ return fmt.Errorf("could not uninstall The Observability Stack: %w", err)
}
var stdbuf bytes.Buffer
@@ -45,17 +45,17 @@ func helmUninstall(cmd *cobra.Command, args []string) error {
uninstall.Stdout = mw
uninstall.Stderr = mw
- fmt.Println("Uninstalling Timescale Observability")
+ fmt.Println("Uninstalling The Observability Stack")
err = uninstall.Run()
if err != nil {
- return fmt.Errorf("could not uninstall Timescale Observability: %w", err)
+ return fmt.Errorf("could not uninstall The Observability Stack: %w", err)
}
fmt.Println("Waiting for pods to terminate...")
for i := 0; i < 1000; i++ {
pods, err := KubeGetAllPods(namespace, name)
if err != nil {
- return fmt.Errorf("could not uninstall Timescale Observability: %w", err)
+ return fmt.Errorf("could not uninstall The Observability Stack: %w", err)
}
if len(pods) == 0 {
break
@@ -80,18 +80,18 @@ func helmUninstall(cmd *cobra.Command, args []string) error {
fmt.Println("Checking Persistent Volume Claims")
pvcnames, err := KubeGetPVCNames(namespace, map[string]string{"release": name})
if err != nil {
- return fmt.Errorf("could not uninstall Timescale Observability: %w", err)
+ return fmt.Errorf("could not uninstall The Observability Stack: %w", err)
}
fmt.Println("Removing Persistent Volume Claims")
for _, s := range pvcnames {
err = KubeDeletePVC(namespace, s)
if err != nil {
- return fmt.Errorf("could not uninstall Timescale Observability: %w", err)
+ return fmt.Errorf("could not uninstall The Observability Stack: %w", err)
}
}
} else {
- fmt.Println("Data still remains. To delete data as well, run 'ts-obs helm delete-data'")
+ fmt.Println("Data still remains. To delete data as well, run 'tobs helm delete-data'")
}
return nil
diff --git a/ts-obs/cmd/install.go b/cli/cmd/install.go
similarity index 100%
rename from ts-obs/cmd/install.go
rename to cli/cmd/install.go
diff --git a/ts-obs/cmd/kubectl.go b/cli/cmd/kubectl.go
similarity index 98%
rename from ts-obs/cmd/kubectl.go
rename to cli/cmd/kubectl.go
index b2b6a673..bdddd8cd 100644
--- a/ts-obs/cmd/kubectl.go
+++ b/cli/cmd/kubectl.go
@@ -56,10 +56,6 @@ func KubeGetPodName(namespace string, labelmap map[string]string) (string, error
return "", err
}
- if len(pods.Items) == 0 {
- return "", nil
- }
-
return pods.Items[0].Name, nil
}
@@ -78,10 +74,6 @@ func KubeGetServiceName(namespace string, labelmap map[string]string) (string, e
return "", err
}
- if len(services.Items) == 0 {
- return "", nil
- }
-
return services.Items[0].Name, nil
}
diff --git a/ts-obs/cmd/metrics.go b/cli/cmd/metrics.go
similarity index 100%
rename from ts-obs/cmd/metrics.go
rename to cli/cmd/metrics.go
diff --git a/ts-obs/cmd/pgx.go b/cli/cmd/pgx.go
similarity index 100%
rename from ts-obs/cmd/pgx.go
rename to cli/cmd/pgx.go
diff --git a/ts-obs/cmd/portForward.go b/cli/cmd/portForward.go
similarity index 100%
rename from ts-obs/cmd/portForward.go
rename to cli/cmd/portForward.go
diff --git a/ts-obs/cmd/prometheus.go b/cli/cmd/prometheus.go
similarity index 100%
rename from ts-obs/cmd/prometheus.go
rename to cli/cmd/prometheus.go
diff --git a/ts-obs/cmd/prometheusPortForward.go b/cli/cmd/prometheusPortForward.go
similarity index 100%
rename from ts-obs/cmd/prometheusPortForward.go
rename to cli/cmd/prometheusPortForward.go
diff --git a/ts-obs/cmd/retention.go b/cli/cmd/retention.go
similarity index 100%
rename from ts-obs/cmd/retention.go
rename to cli/cmd/retention.go
diff --git a/ts-obs/cmd/retentionGet.go b/cli/cmd/retentionGet.go
similarity index 100%
rename from ts-obs/cmd/retentionGet.go
rename to cli/cmd/retentionGet.go
diff --git a/ts-obs/cmd/retentionReset.go b/cli/cmd/retentionReset.go
similarity index 100%
rename from ts-obs/cmd/retentionReset.go
rename to cli/cmd/retentionReset.go
diff --git a/ts-obs/cmd/retentionSet.go b/cli/cmd/retentionSet.go
similarity index 100%
rename from ts-obs/cmd/retentionSet.go
rename to cli/cmd/retentionSet.go
diff --git a/ts-obs/cmd/retentionSetDefault.go b/cli/cmd/retentionSetDefault.go
similarity index 100%
rename from ts-obs/cmd/retentionSetDefault.go
rename to cli/cmd/retentionSetDefault.go
diff --git a/ts-obs/cmd/root.go b/cli/cmd/root.go
similarity index 83%
rename from ts-obs/cmd/root.go
rename to cli/cmd/root.go
index df9f585b..0ff1176e 100644
--- a/ts-obs/cmd/root.go
+++ b/cli/cmd/root.go
@@ -15,9 +15,9 @@ var name string
// rootCmd represents the base command when called without any subcommands
var rootCmd = &cobra.Command{
- Use: "ts-obs",
- Short: "A CLI tool for Timescale Observablity",
- Long: `Timescale Observability is a tool that uses TimescaleDB as a
+ Use: "tobs",
+ Short: "A CLI tool for The Observablity Stack",
+ Long: `The Observability Stack is a tool that uses TimescaleDB as a
compressed long-term store for time series metrics from Prometheus. This
application is a CLI tool that allows users to quickly access the different
components of Observability.`,
@@ -49,8 +49,8 @@ func Execute() {
func init() {
cobra.OnInitialize(initConfig)
- rootCmd.PersistentFlags().StringVar(&cfgFile, "config", "", "config file (default is $HOME/.ts-obs.yaml)")
- rootCmd.PersistentFlags().StringP("name", "n", "ts-obs", "Helm release name")
+ rootCmd.PersistentFlags().StringVar(&cfgFile, "config", "", "config file (default is $HOME/.tobs.yaml)")
+ rootCmd.PersistentFlags().StringP("name", "n", "tobs", "Helm release name")
rootCmd.PersistentFlags().StringP("namespace", "", "default", "Kubernetes namespace")
}
@@ -67,9 +67,9 @@ func initConfig() {
os.Exit(1)
}
- // Search config in home directory with name ".ts-obs" (without extension).
+ // Search config in home directory with name ".tobs" (without extension).
viper.AddConfigPath(home)
- viper.SetConfigName(".ts-obs")
+ viper.SetConfigName(".tobs")
}
viper.AutomaticEnv() // read in environment variables that match
diff --git a/ts-obs/cmd/timescaledb.go b/cli/cmd/timescaledb.go
similarity index 100%
rename from ts-obs/cmd/timescaledb.go
rename to cli/cmd/timescaledb.go
diff --git a/ts-obs/cmd/timescaledbChangePassword.go b/cli/cmd/timescaledbChangePassword.go
similarity index 100%
rename from ts-obs/cmd/timescaledbChangePassword.go
rename to cli/cmd/timescaledbChangePassword.go
diff --git a/ts-obs/cmd/timescaledbConnect.go b/cli/cmd/timescaledbConnect.go
similarity index 100%
rename from ts-obs/cmd/timescaledbConnect.go
rename to cli/cmd/timescaledbConnect.go
diff --git a/ts-obs/cmd/timescaledbGetPassword.go b/cli/cmd/timescaledbGetPassword.go
similarity index 100%
rename from ts-obs/cmd/timescaledbGetPassword.go
rename to cli/cmd/timescaledbGetPassword.go
diff --git a/ts-obs/cmd/timescaledbPortForward.go b/cli/cmd/timescaledbPortForward.go
similarity index 100%
rename from ts-obs/cmd/timescaledbPortForward.go
rename to cli/cmd/timescaledbPortForward.go
diff --git a/ts-obs/cmd/uninstall.go b/cli/cmd/uninstall.go
similarity index 100%
rename from ts-obs/cmd/uninstall.go
rename to cli/cmd/uninstall.go
diff --git a/cli/go.mod b/cli/go.mod
new file mode 100644
index 00000000..4e44f3d0
--- /dev/null
+++ b/cli/go.mod
@@ -0,0 +1,15 @@
+module cli
+
+go 1.14
+
+require (
+ github.com/imdario/mergo v0.3.10 // indirect
+ github.com/jackc/pgx/v4 v4.8.0
+ github.com/mitchellh/go-homedir v1.1.0
+ github.com/spf13/cobra v1.0.0
+ github.com/spf13/viper v1.7.0
+ k8s.io/api v0.18.6
+ k8s.io/apimachinery v0.18.6
+ k8s.io/client-go v0.18.6
+ k8s.io/utils v0.0.0-20200720150651-0bdb4ca86cbc // indirect
+)
diff --git a/ts-obs/go.sum b/cli/go.sum
similarity index 90%
rename from ts-obs/go.sum
rename to cli/go.sum
index 778fcb2f..98583428 100644
--- a/ts-obs/go.sum
+++ b/cli/go.sum
@@ -18,7 +18,6 @@ github.com/Azure/go-autorest/autorest/mocks v0.1.0/go.mod h1:OTyCOPRA2IgIlWxVYxB
github.com/Azure/go-autorest/autorest/mocks v0.2.0/go.mod h1:OTyCOPRA2IgIlWxVYxBee2F5Gr4kF2zd2J5cFRaIDN0=
github.com/Azure/go-autorest/logger v0.1.0/go.mod h1:oExouG+K6PryycPJfVSxi/koC6LSNgds39diKLz7Vrc=
github.com/Azure/go-autorest/tracing v0.5.0/go.mod h1:r/s2XiOKccPW3HrqB+W0TQzfbtp2fGCgRFtBroKn4Dk=
-github.com/BurntSushi/toml v0.3.1 h1:WXkYYl6Yr3qBf1K79EBnL4mak0OimBfB0XUf9Vl28OQ=
github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo=
github.com/NYTimes/gziphandler v0.0.0-20170623195520-56545f4a5d46/go.mod h1:3wb06e3pkSAbeQ52E9H9iFoQsEEwGN64994WTCIhntQ=
@@ -37,7 +36,6 @@ github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kB
github.com/bketelsen/crypt v0.0.3-0.20200106085610-5cbc8cc4026c/go.mod h1:MKsuJmJgSg28kpZDP6UIiPt0e0Oz0kqKNGyRaWEPv84=
github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc=
github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw=
-github.com/cockroachdb/apd v1.1.0 h1:3LFP3629v+1aKXU5Q37mxmRxX/pIu1nijXydLShEq5I=
github.com/cockroachdb/apd v1.1.0/go.mod h1:8Sl8LxpKi29FqWXR16WEFZRNSz3SoPzUzeMeY4+DwBQ=
github.com/coreos/bbolt v1.3.2/go.mod h1:iRUV2dpdMOn7Bo10OQBFzIJO9kkE559Wcmn+qkEiiKk=
github.com/coreos/etcd v3.3.10+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE=
@@ -56,7 +54,6 @@ github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZm
github.com/dgryski/go-sip13 v0.0.0-20181026042036-e10d5fee7954/go.mod h1:vAd38F8PWV+bWy6jNmig1y/TA+kYO4g3RSRF0IAv0no=
github.com/docker/spdystream v0.0.0-20160310174837-449fdfce4d96 h1:cenwrSVm+Z7QLSV/BsnenAOcDXdX4cMv4wP0B/5QbPg=
github.com/docker/spdystream v0.0.0-20160310174837-449fdfce4d96/go.mod h1:Qh8CwZgvJUkLughtfhJv5dyTYa91l1fOUCrgjqmcifM=
-github.com/elazarl/goproxy v0.0.0-20180725130230-947c36da3153 h1:yUdfgN0XgIJw7foRItutHYUIhlcKzcSf5vDpdhQAKTc=
github.com/elazarl/goproxy v0.0.0-20180725130230-947c36da3153/go.mod h1:/Zj4wYkgs4iZTTu3o/KG3Itv/qCCa8VVMlb3i9OVuzc=
github.com/emicklei/go-restful v0.0.0-20170410110728-ff4f55a20633/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs=
github.com/evanphx/json-patch v4.2.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk=
@@ -75,7 +72,6 @@ github.com/go-openapi/jsonreference v0.0.0-20160704190145-13c6e3589ad9/go.mod h1
github.com/go-openapi/spec v0.0.0-20160808142527-6aced65f8501/go.mod h1:J8+jY1nAiCcj+friV/PDoE1/3eeccG9LYBs0tYvLOWc=
github.com/go-openapi/swag v0.0.0-20160704191624-1d0bd113de87/go.mod h1:DXUve3Dpr1UfpPtxFw+EFuQ41HhCWZfha5jSVRG7C7I=
github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY=
-github.com/gofrs/uuid v3.2.0+incompatible h1:y12jRkkFxsd7GpqdSZ+/KCs/fJbqpEXSGd4+jfEaewE=
github.com/gofrs/uuid v3.2.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM=
github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ=
github.com/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6zVXpSg4=
@@ -95,7 +91,6 @@ github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5y
github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ=
github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ=
github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M=
-github.com/google/go-cmp v0.3.0 h1:crn/baboCvb5fXaQ0IJ1SGTsTVrWpDsCWC8EGETZijY=
github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
github.com/google/gofuzz v1.1.0 h1:Hsa8mG0dQ46ij8Sl2AYJDUv1oA9/d6Vk+3LG99Oe02g=
@@ -111,7 +106,6 @@ github.com/googleapis/gnostic v0.0.0-20170729233727-0c5108395e2d/go.mod h1:sJBsC
github.com/googleapis/gnostic v0.1.0 h1:rVsPeBmXbYv4If/cumu1AzZPwV58q433hvONV1UEZoI=
github.com/googleapis/gnostic v0.1.0/go.mod h1:sJBsCZ4ayReDTBIg8b9dl28c5xFWyhBTVRp3pOg5EKY=
github.com/gophercloud/gophercloud v0.1.0/go.mod h1:vxM41WHh5uqHVBMZHzuwNOHh8XEoIEcSTewFxm1c5g8=
-github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1 h1:EGx4pi6eqNxGaHF6qqu48+N2wcFQ5qg5FXgOdqsJ5d8=
github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY=
github.com/gorilla/websocket v1.4.0/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ=
github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE=
@@ -141,9 +135,9 @@ github.com/hashicorp/mdns v1.0.0/go.mod h1:tL+uN++7HEJ6SQLQ2/p+z2pH24WQKWjBPkE0m
github.com/hashicorp/memberlist v0.1.3/go.mod h1:ajVTdAv/9Im8oMAAj5G31PhhMCZJV2pPBoIllUwCN7I=
github.com/hashicorp/serf v0.8.2/go.mod h1:6hOLApaqBFA1NXqRQAsxw9QxuDEvNxSQRwA/JwenrHc=
github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU=
-github.com/imdario/mergo v0.3.5 h1:JboBksRwiiAJWvIYJVo46AfV+IAIKZpfrSzVKj42R4Q=
github.com/imdario/mergo v0.3.5/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA=
-github.com/inconshreveable/mousetrap v1.0.0 h1:Z8tu5sraLXCXIcARxBp/8cbvlwVa7Z1NHg9XEKhtSvM=
+github.com/imdario/mergo v0.3.10 h1:6q5mVkdH/vYmqngx7kZQTjJ5HRsx+ImorDIEQ+beJgc=
+github.com/imdario/mergo v0.3.10/go.mod h1:jmQim1M+e3UYxmgPu/WyfjB3N3VflVyUjjjwH0dnCYA=
github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8=
github.com/jackc/chunkreader v1.0.0 h1:4s39bBR8ByfqH+DKm8rQA3E1LHZWB9XWcrz8fqaZbe0=
github.com/jackc/chunkreader v1.0.0/go.mod h1:RT6O25fNZIuasFJRyZ4R/Y2BbhasbmZXF9QQ7T3kePo=
@@ -153,11 +147,13 @@ github.com/jackc/chunkreader/v2 v2.0.1/go.mod h1:odVSm741yZoC3dpHEUXIqA9tQRhFrgO
github.com/jackc/pgconn v0.0.0-20190420214824-7e0022ef6ba3/go.mod h1:jkELnwuX+w9qN5YIfX0fl88Ehu4XC3keFuOJJk9pcnA=
github.com/jackc/pgconn v0.0.0-20190824142844-760dd75542eb/go.mod h1:lLjNuW/+OfW9/pnVKPazfWOgNfH2aPem8YQ7ilXGvJE=
github.com/jackc/pgconn v0.0.0-20190831204454-2fabfa3c18b7/go.mod h1:ZJKsE/KZfsUgOEh9hBm+xYTstcNHg7UPMVJqRfQxq4s=
-github.com/jackc/pgconn v1.5.0 h1:oFSOilzIZkyg787M1fEmyMfOUUvwj0daqYMfaWwNL4o=
+github.com/jackc/pgconn v1.4.0/go.mod h1:Y2O3ZDF0q4mMacyWV3AstPJpeHXWGEetiFttmq5lahk=
github.com/jackc/pgconn v1.5.0/go.mod h1:QeD3lBfpTFe8WUnPZWN5KY/mB8FGMIYRdd8P8Jr0fAI=
+github.com/jackc/pgconn v1.5.1-0.20200601181101-fa742c524853/go.mod h1:QeD3lBfpTFe8WUnPZWN5KY/mB8FGMIYRdd8P8Jr0fAI=
+github.com/jackc/pgconn v1.6.3 h1:4Ks3RKvSvKPolXZsnLQTDAsokDhgID14Cv4ehECmzlY=
+github.com/jackc/pgconn v1.6.3/go.mod h1:w2pne1C2tZgP+TvjqLpOigGzNqjBgQW9dUw/4Chex78=
github.com/jackc/pgio v1.0.0 h1:g12B9UwVnzGhueNavwioyEEpAmqMe1E/BN9ES+8ovkE=
github.com/jackc/pgio v1.0.0/go.mod h1:oP+2QK2wFfUWgr+gxjoBH9KGBb31Eio69xUb0w5bYf8=
-github.com/jackc/pgmock v0.0.0-20190831213851-13a1b77aafa2 h1:JVX6jT/XfzNqIjye4717ITLaNwV9mWbJx0dLCpcRzdA=
github.com/jackc/pgmock v0.0.0-20190831213851-13a1b77aafa2/go.mod h1:fGZlG77KXmcq05nJLRkk0+p82V8B8Dw8KN2/V9c/OAE=
github.com/jackc/pgpassfile v1.0.0 h1:/6Hmqy13Ss2zCq62VdNG8tM1wchn8zjSGOBJ6icpsIM=
github.com/jackc/pgpassfile v1.0.0/go.mod h1:CEx0iS5ambNFdcRtxPj5JhEz+xB6uRky5eyVu/W2HEg=
@@ -167,32 +163,39 @@ github.com/jackc/pgproto3/v2 v2.0.0-alpha1.0.20190420180111-c116219b62db/go.mod
github.com/jackc/pgproto3/v2 v2.0.0-alpha1.0.20190609003834-432c2951c711/go.mod h1:uH0AWtUmuShn0bcesswc4aBTWGvw0cAxIJp+6OB//Wg=
github.com/jackc/pgproto3/v2 v2.0.0-rc3/go.mod h1:ryONWYqW6dqSg1Lw6vXNMXoBJhpzvWKnT95C46ckYeM=
github.com/jackc/pgproto3/v2 v2.0.0-rc3.0.20190831210041-4c03ce451f29/go.mod h1:ryONWYqW6dqSg1Lw6vXNMXoBJhpzvWKnT95C46ckYeM=
-github.com/jackc/pgproto3/v2 v2.0.1 h1:Rdjp4NFjwHnEslx2b66FfCI2S0LhO4itac3hXz6WX9M=
github.com/jackc/pgproto3/v2 v2.0.1/go.mod h1:WfJCnwN3HIg9Ish/j3sgWXnAfK8A9Y0bwXYU5xKaEdA=
-github.com/jackc/pgservicefile v0.0.0-20200307190119-3430c5407db8 h1:Q3tB+ExeflWUW7AFcAhXqk40s9mnNYLk1nOkKNZ5GnU=
+github.com/jackc/pgproto3/v2 v2.0.2 h1:q1Hsy66zh4vuNsajBUF2PNqfAMMfxU5mk594lPE9vjY=
+github.com/jackc/pgproto3/v2 v2.0.2/go.mod h1:WfJCnwN3HIg9Ish/j3sgWXnAfK8A9Y0bwXYU5xKaEdA=
github.com/jackc/pgservicefile v0.0.0-20200307190119-3430c5407db8/go.mod h1:vsD4gTJCa9TptPL8sPkXrLZ+hDuNrZCnj29CQpr4X1E=
+github.com/jackc/pgservicefile v0.0.0-20200714003250-2b9c44734f2b h1:C8S2+VttkHFdOOCXJe+YGfa4vHYwlt4Zx+IVXQ97jYg=
+github.com/jackc/pgservicefile v0.0.0-20200714003250-2b9c44734f2b/go.mod h1:vsD4gTJCa9TptPL8sPkXrLZ+hDuNrZCnj29CQpr4X1E=
github.com/jackc/pgtype v0.0.0-20190421001408-4ed0de4755e0/go.mod h1:hdSHsc1V01CGwFsrv11mJRHWJ6aifDLfdV3aVjFF0zg=
github.com/jackc/pgtype v0.0.0-20190824184912-ab885b375b90/go.mod h1:KcahbBH1nCMSo2DXpzsoWOAfFkdEtEJpPbVLq8eE+mc=
github.com/jackc/pgtype v0.0.0-20190828014616-a8802b16cc59/go.mod h1:MWlu30kVJrUS8lot6TQqcg7mtthZ9T0EoIBFiJcmcyw=
-github.com/jackc/pgtype v1.3.0 h1:l8JvKrby3RI7Kg3bYEeU9TA4vqC38QDpFCfcrC7KuN0=
-github.com/jackc/pgtype v1.3.0/go.mod h1:b0JqxHvPmljG+HQ5IsvQ0yqeSi4nGcDTVjFoiLDb0Ik=
+github.com/jackc/pgtype v1.2.0/go.mod h1:5m2OfMh1wTK7x+Fk952IDmI4nw3nPrvtQdM0ZT4WpC0=
+github.com/jackc/pgtype v1.3.1-0.20200510190516-8cd94a14c75a/go.mod h1:vaogEUkALtxZMCH411K+tKzNpwzCKU+AnPzBKZ+I+Po=
+github.com/jackc/pgtype v1.3.1-0.20200606141011-f6355165a91c/go.mod h1:cvk9Bgu/VzJ9/lxTO5R5sf80p0DiucVtN7ZxvaC4GmQ=
+github.com/jackc/pgtype v1.4.2 h1:t+6LWm5eWPLX1H5Se702JSBcirq6uWa4jiG4wV1rAWY=
+github.com/jackc/pgtype v1.4.2/go.mod h1:JCULISAZBFGrHaOXIIFiyfzW5VY0GRitRr8NeJsrdig=
github.com/jackc/pgx v3.6.2+incompatible h1:2zP5OD7kiyR3xzRYMhOcXVvkDZsImVXfj+yIyTQf3/o=
-github.com/jackc/pgx v3.6.2+incompatible/go.mod h1:0ZGrqGqkRlliWnWB4zKnWtjbSWbGkVEFm4TeybAXq+I=
github.com/jackc/pgx/v4 v4.0.0-20190420224344-cc3461e65d96/go.mod h1:mdxmSJJuR08CZQyj1PVQBHy9XOp5p8/SHH6a0psbY9Y=
github.com/jackc/pgx/v4 v4.0.0-20190421002000-1b8f0016e912/go.mod h1:no/Y67Jkk/9WuGR0JG/JseM9irFbnEPbuWV2EELPNuM=
github.com/jackc/pgx/v4 v4.0.0-pre1.0.20190824185557-6972a5742186/go.mod h1:X+GQnOEnf1dqHGpw7JmHqHc1NxDoalibchSk9/RWuDc=
-github.com/jackc/pgx/v4 v4.6.0 h1:Fh0O9GdlG4gYpjpwOqjdEodJUQM9jzN3Hdv7PN0xmm0=
-github.com/jackc/pgx/v4 v4.6.0/go.mod h1:vPh43ZzxijXUVJ+t/EmXBtFmbFVO72cuneCT9oAlxAg=
+github.com/jackc/pgx/v4 v4.5.0/go.mod h1:EpAKPLdnTorwmPUUsqrPxy5fphV18j9q3wrfRXgo+kA=
+github.com/jackc/pgx/v4 v4.6.1-0.20200510190926-94ba730bb1e9/go.mod h1:t3/cdRQl6fOLDxqtlyhe9UWgfIi9R8+8v8GKV5TRA/o=
+github.com/jackc/pgx/v4 v4.6.1-0.20200606145419-4e5062306904/go.mod h1:ZDaNWkt9sW1JMiNn0kdYBaLelIhw7Pg4qd+Vk6tw7Hg=
+github.com/jackc/pgx/v4 v4.8.0 h1:xO3bPvwr0MJSoDfb4yeeWZIxSZ2VFBm5axPnaNEnGUQ=
+github.com/jackc/pgx/v4 v4.8.0/go.mod h1:AjqYcDmEyst6GF8jJi/RF73Gla9d7/HLZzJEZj2uwpM=
github.com/jackc/puddle v0.0.0-20190413234325-e4ced69a3a2b/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dvjSWk=
github.com/jackc/puddle v0.0.0-20190608224051-11cab39313c9/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dvjSWk=
-github.com/jackc/puddle v1.1.0 h1:musOWczZC/rSbqut475Vfcczg7jJsdUQf0D6oKPLgNU=
github.com/jackc/puddle v1.1.0/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dvjSWk=
+github.com/jackc/puddle v1.1.1 h1:PJAw7H/9hoWC4Kf3J8iNmL1SwA6E8vfsLqBiL+F6CtI=
+github.com/jackc/puddle v1.1.1/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dvjSWk=
github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo=
github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU=
github.com/json-iterator/go v1.1.8 h1:QiWkFLKq0T7mpzwOTu6BzNDbfTE8OLrYhVKYMLF46Ok=
github.com/json-iterator/go v1.1.8/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4=
github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU=
-github.com/jtolds/gls v4.20.0+incompatible h1:xdiiI2gbIgH/gLH7ADydsJ1uDOEzR8yvV7C0MuV77Wo=
github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU=
github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w=
github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvWXihfKN4Q=
@@ -201,16 +204,14 @@ github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+o
github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
github.com/konsorten/go-windows-terminal-sequences v1.0.2/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc=
-github.com/kr/pretty v0.1.0 h1:L/CwN0zerZDmRFUapSPitk6f+Q3+0za1rQkzVuMiMFI=
github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
github.com/kr/pty v1.1.8/go.mod h1:O1sed60cT9XZ5uDucP5qwvh+TE3NnUj51EiZO/lmSfw=
-github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE=
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
github.com/lib/pq v1.0.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo=
github.com/lib/pq v1.1.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo=
-github.com/lib/pq v1.2.0 h1:LXpIM/LZ5xGFhOpXAQUIMM1HdyqzVYM13zNdjCEEcA0=
github.com/lib/pq v1.2.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo=
+github.com/lib/pq v1.3.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo=
github.com/magiconair/properties v1.8.0/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ=
github.com/magiconair/properties v1.8.1 h1:ZC2Vc7/ZFkGmsVC9KvOjumD+G5lXy2RtTKyzRKO2BQ4=
github.com/magiconair/properties v1.8.1/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ=
@@ -218,11 +219,13 @@ github.com/mailru/easyjson v0.0.0-20160728113105-d5b7844b561a/go.mod h1:C1wdFJiN
github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU=
github.com/mattn/go-colorable v0.1.1/go.mod h1:FuOcm+DKB9mbwrcAfNl7/TZVBZ6rcnceauSikq3lYCQ=
github.com/mattn/go-colorable v0.1.2/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE=
+github.com/mattn/go-colorable v0.1.6/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc=
github.com/mattn/go-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4=
github.com/mattn/go-isatty v0.0.5/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s=
github.com/mattn/go-isatty v0.0.7/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s=
github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s=
github.com/mattn/go-isatty v0.0.9/go.mod h1:YNRxwqDuOph6SZLI9vUUz6OYw3QyUt7WiY2yME+cCiQ=
+github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU=
github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0=
github.com/miekg/dns v1.0.14/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg=
github.com/mitchellh/cli v1.0.0/go.mod h1:hNIlj7HEI86fIcpObd7a0FcrxTWetlwJDGcceTlRvqc=
@@ -255,9 +258,7 @@ github.com/pelletier/go-toml v1.2.0 h1:T5zMGML61Wp+FlcbWjRDT7yAxhJNAiPPLOFECq181
github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic=
github.com/peterbourgon/diskv v2.0.1+incompatible/go.mod h1:uqqh8zWWbv1HBMNONnaR/tNboyR3/BZd58JJSHlUSCU=
github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
-github.com/pkg/errors v0.8.1 h1:iURUrRGxPUNPdy5/HRSm+Yj6okJ6UtLINN0Q9M4+h3I=
github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
-github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/posener/complete v1.1.1/go.mod h1:em0nMJCgc9GFtwrmVmEMR/ZL6WyhyjMBndrE9hABlRI=
github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw=
@@ -278,15 +279,13 @@ github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQD
github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts=
github.com/satori/go.uuid v1.2.0/go.mod h1:dA0hQrYB0VpLJoorglMZABFdXlWrHn1NEOzdhQKdks0=
github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg65j358z/aeFdxmN0P9QXhEzd20vsDc=
-github.com/shopspring/decimal v0.0.0-20180709203117-cd690d0c9e24 h1:pntxY8Ary0t43dCZ5dqY4YTJCObLY1kIXl0uzMv+7DE=
github.com/shopspring/decimal v0.0.0-20180709203117-cd690d0c9e24/go.mod h1:M+9NzErvs504Cn4c5DxATwIqPbtswREoFCre64PpcG4=
+github.com/shopspring/decimal v0.0.0-20200227202807-02e2044944cc/go.mod h1:DKyhrW/HYNuLGql+MJL6WCR6knT2jwCFRcu2hWCYk4o=
github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc=
github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo=
github.com/sirupsen/logrus v1.4.1/go.mod h1:ni0Sbl8bgC9z8RoU9G6nDWqqs/fq4eDPysMBDgk/93Q=
github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE=
-github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d h1:zE9ykElWQ6/NYmHa3jpm/yHnI4xSofP+UP6SpjHcSeM=
github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc=
-github.com/smartystreets/goconvey v1.6.4 h1:fv0U8FUIMPNf1L9lnHLvLhgicrIVChEkdzIKYqbNC9s=
github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA=
github.com/soheilhy/cmux v0.1.4/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4kGIyLM=
github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA=
@@ -301,7 +300,6 @@ github.com/spf13/cobra v1.0.0/go.mod h1:/6GTrnGXV9HjY+aR4k0oJ5tcvakLuG6EuKReYlHN
github.com/spf13/jwalterweatherman v1.0.0 h1:XHEdyB+EcvlqZamSM4ZOMGlc93t6AcsBEu9Gc1vn7yk=
github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo=
github.com/spf13/pflag v0.0.0-20170130214245-9ff6c6923cff/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4=
-github.com/spf13/pflag v1.0.3 h1:zPAT6CGy6wXeQ7NtTnaTerfKOsV6V6F8agHXFiazDkg=
github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4=
github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA=
github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
@@ -314,7 +312,6 @@ github.com/stretchr/objx v0.2.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoH
github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4=
-github.com/stretchr/testify v1.5.1 h1:nOGnQDM7FYENwehXlg/kFVnos3rEvtKTjRvOWSzb6H4=
github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA=
github.com/subosito/gotenv v1.2.0 h1:Slr1R9HxAlEKefgq5jn9U+DnETlIUa6HfgEzj0g5d7s=
github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw=
@@ -328,7 +325,10 @@ go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU=
go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8=
go.uber.org/atomic v1.3.2/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE=
go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE=
+go.uber.org/atomic v1.6.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ=
go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0=
+go.uber.org/multierr v1.5.0/go.mod h1:FeouvMocqHpRaaGuG9EjoKcStLC43Zu/fmqdUMPcKYU=
+go.uber.org/tools v0.0.0-20190618225709-2cfd321de3ee/go.mod h1:vJERXedbb3MVM5f9Ejo0C68/HhF8uaILCdgjnY+goOA=
go.uber.org/zap v1.9.1/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q=
go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q=
golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
@@ -339,9 +339,11 @@ golang.org/x/crypto v0.0.0-20190411191339-88737f569e3a/go.mod h1:WFFai1msRO1wXaE
golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
golang.org/x/crypto v0.0.0-20190820162420-60c769a6c586/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
+golang.org/x/crypto v0.0.0-20190911031432-227b76d455e7/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
golang.org/x/crypto v0.0.0-20200220183623-bac4c82f6975/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
-golang.org/x/crypto v0.0.0-20200323165209-0ec3e9974c59 h1:3zb4D3T4G8jdExgVU/95+vQXfpEPiMdCaZgmGVxjNHM=
golang.org/x/crypto v0.0.0-20200323165209-0ec3e9974c59/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
+golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9 h1:psW17arqaxU48Z5kZ0CQnkZWQJsqcURM6tKiBApRjXI=
+golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8=
@@ -407,18 +409,19 @@ golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7w
golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0 h1:HyfiK1WMnHj5FXFXatD+Qs1A/xC2Run6RzeW1SyHxpc=
golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190813064441-fde4db37ae7a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20190826190057-c7b8b68b1456 h1:ng0gs1AKnRRuEMZoTLLlbOd+C17zUDepwGQBb/n+JVg=
golang.org/x/sys v0.0.0-20190826190057-c7b8b68b1456/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20191022100944-742c48ecaeb7 h1:HmbHVPwrPEKPGLAcHSrMe6+hqSUlvZU0rab6x5EXfGU=
golang.org/x/sys v0.0.0-20191022100944-742c48ecaeb7/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae h1:/WDfKMnPU+m5M4xB+6x4kaepxRw6jWvR5iDRdvjHgy8=
+golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/text v0.0.0-20160726164857-2910a502d2bf/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
-golang.org/x/text v0.3.2 h1:tW2bmiBqwgJj/UpqtC8EpXEZVYOwU0yG4iWbprSVAcs=
golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
+golang.org/x/text v0.3.3 h1:cokOdA+Jmi5PJGXLlLllQSgYigAEfHXJAERHVMaCc2k=
+golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/time v0.0.0-20190308202827-9d24e82272b4 h1:SvFZT6jyqRaOeXpc5h/JSfZenJ2O330aBsf7JfSUXmQ=
golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
@@ -442,11 +445,14 @@ golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod h1:b+2E5dAYhXwXZwtn
golang.org/x/tools v0.0.0-20190823170909-c4a336ef6a2f/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
+golang.org/x/tools v0.0.0-20191029041327-9cc4af7d6b2c/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
+golang.org/x/tools v0.0.0-20191029190741-b9c20aec41a5/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/tools v0.0.0-20191112195655-aa38f8e97acc/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/xerrors v0.0.0-20190410155217-1f06c39b4373/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20190513163551-3ee3066db522/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
-golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7 h1:9zdDQZ7Thm29KFXgAX/+yaf3eVbP7djjWp/dXAppNCc=
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
+golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543 h1:E7g+9GITq07hpfrRu66IVDexMakfv52eLZ2CXBWiKr4=
+golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE=
google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M=
google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg=
@@ -455,7 +461,6 @@ google.golang.org/api v0.13.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsb
google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM=
google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
-google.golang.org/appengine v1.6.1 h1:QzqyMA1tlu6CgqCDUtU9V+ZKhLFT2dkJuANu5QaxI3I=
google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0=
google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc=
google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE=
@@ -472,7 +477,6 @@ google.golang.org/grpc v1.21.0/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ij
google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM=
gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
-gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 h1:qIbj1fsPNlZgppZ+VLlY7N33q108Sa+fhmuc+sWQYwY=
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI=
gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys=
@@ -486,20 +490,24 @@ gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWD
gopkg.in/yaml.v2 v2.0.0-20170812160011-eb3733d160e7/go.mod h1:JAlM8MvJe8wmxCU4Bli9HhUf9+ttbYbLASfIpnQbh74=
gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
-gopkg.in/yaml.v2 v2.2.4 h1:/eiJrUcujPVeJ3xlSWaiNi3uSVmDGBK1pDHUHAnao1I=
gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2 v2.2.8 h1:obN1ZagJSUGI0Ek/LBmuj4SNLPfIny3KsKFopxRdj10=
gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
+gopkg.in/yaml.v2 v2.3.0 h1:clyUAQHOM3G0M3f5vQj7LuJrETvjVot3Z5el9nffUtU=
+gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg=
-k8s.io/api v0.18.3 h1:2AJaUQdgUZLoDZHrun21PW2Nx9+ll6cUzvn3IKhSIn0=
-k8s.io/api v0.18.3/go.mod h1:UOaMwERbqJMfeeeHc8XJKawj4P9TgDRnViIqqBeH2QA=
-k8s.io/apimachinery v0.18.3 h1:pOGcbVAhxADgUYnjS08EFXs9QMl8qaH5U4fr5LGUrSk=
-k8s.io/apimachinery v0.18.3/go.mod h1:OaXp26zu/5J7p0f92ASynJa1pZo06YlV9fG7BoWbCko=
-k8s.io/client-go v0.18.3 h1:QaJzz92tsN67oorwzmoB0a9r9ZVHuD5ryjbCKP0U22k=
-k8s.io/client-go v0.18.3/go.mod h1:4a/dpQEvzAhT1BbuWW09qvIaGw6Gbu1gZYiQZIi1DMw=
+k8s.io/api v0.18.6 h1:osqrAXbOQjkKIWDTjrqxWQ3w0GkKb1KA1XkUGHHYpeE=
+k8s.io/api v0.18.6/go.mod h1:eeyxr+cwCjMdLAmr2W3RyDI0VvTawSg/3RFFBEnmZGI=
+k8s.io/apimachinery v0.18.6 h1:RtFHnfGNfd1N0LeSrKCUznz5xtUP1elRGvHJbL3Ntag=
+k8s.io/apimachinery v0.18.6/go.mod h1:OaXp26zu/5J7p0f92ASynJa1pZo06YlV9fG7BoWbCko=
+k8s.io/client-go v0.18.6 h1:I+oWqJbibLSGsZj8Xs8F0aWVXJVIoUHWaaJV3kUN/Zw=
+k8s.io/client-go v0.18.6/go.mod h1:/fwtGLjYMS1MaM5oi+eXhKwG+1UHidUEXRh6cNsdO0Q=
+k8s.io/client-go v1.5.1 h1:XaX/lo2/u3/pmFau8HN+sB5C/b4dc4Dmm2eXjBH4p1E=
+k8s.io/client-go v11.0.0+incompatible h1:LBbX2+lOwY9flffWlJM7f1Ct8V2SRNiMRDFeiwnJo9o=
+k8s.io/client-go v11.0.0+incompatible/go.mod h1:7vJpHMYJwNQCWgzmNV+VYUl1zCObLyodBc8nIyt8L5s=
k8s.io/gengo v0.0.0-20190128074634-0689ccc1d7d6/go.mod h1:ezvh/TsK7cY6rbqRK0oQQ8IAqLxYwwyPxAX1Pzy0ii0=
k8s.io/klog v0.0.0-20181102134211-b9b56d5dfc92/go.mod h1:Gq+BEi5rUBO/HRz0bTSXDUcqjScdoY3a9IHpCEIOOfk=
k8s.io/klog v0.3.0/go.mod h1:Gq+BEi5rUBO/HRz0bTSXDUcqjScdoY3a9IHpCEIOOfk=
@@ -508,8 +516,8 @@ k8s.io/klog v1.0.0/go.mod h1:4Bi6QPql/J/LkTDqv7R/cd3hPo4k2DG6Ptcz060Ez5I=
k8s.io/klog/v2 v2.0.0/go.mod h1:PBfzABfn139FHAV07az/IF9Wp1bkk3vpT2XSJ76fSDE=
k8s.io/kube-openapi v0.0.0-20200410145947-61e04a5be9a6/go.mod h1:GRQhZsXIAJ1xR0C9bd8UpWHZ5plfAS9fzPjJuQ6JL3E=
k8s.io/utils v0.0.0-20200324210504-a9aa75ae1b89/go.mod h1:sZAwmy6armz5eXlNoLmJcl4F1QuKu7sr+mFQ0byX7Ew=
-k8s.io/utils v0.0.0-20200603063816-c1c6865ac451 h1:v8ud2Up6QK1lNOKFgiIVrZdMg7MpmSnvtrOieolJKoE=
-k8s.io/utils v0.0.0-20200603063816-c1c6865ac451/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA=
+k8s.io/utils v0.0.0-20200720150651-0bdb4ca86cbc h1:GiXZzevctVRRBh56shqcqB9s9ReWMU6GTsFyE2RCFJQ=
+k8s.io/utils v0.0.0-20200720150651-0bdb4ca86cbc/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA=
rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8=
sigs.k8s.io/structured-merge-diff/v3 v3.0.0-20200116222232-67a7b8c61874/go.mod h1:PlARxl6Hbt/+BC80dRLi1qAmnMqwqDg62YvvVkZjemw=
sigs.k8s.io/structured-merge-diff/v3 v3.0.0 h1:dOmIZBMfhcHS09XZkMyUgkq5trg3/jRyJYFZUiaOp8E=
diff --git a/ts-obs/main.go b/cli/main.go
similarity index 96%
rename from ts-obs/main.go
rename to cli/main.go
index 79b4aef0..fd7a7c8f 100644
--- a/ts-obs/main.go
+++ b/cli/main.go
@@ -15,7 +15,7 @@ limitations under the License.
*/
package main
-import "ts-obs/cmd"
+import "cli/cmd"
func main() {
cmd.Execute()
diff --git a/ts-obs/tests/concurrent_test.go b/cli/tests/concurrent_test.go
similarity index 99%
rename from ts-obs/tests/concurrent_test.go
rename to cli/tests/concurrent_test.go
index 75440c6f..b3b82fc7 100644
--- a/ts-obs/tests/concurrent_test.go
+++ b/cli/tests/concurrent_test.go
@@ -4,7 +4,7 @@ import (
"testing"
"time"
- "ts-obs/cmd"
+ "cli/cmd"
)
func changeRelease(t testing.TB) {
diff --git a/ts-obs/tests/grafana_test.go b/cli/tests/grafana_test.go
similarity index 81%
rename from ts-obs/tests/grafana_test.go
rename to cli/tests/grafana_test.go
index 5ea5a407..863821e8 100644
--- a/ts-obs/tests/grafana_test.go
+++ b/cli/tests/grafana_test.go
@@ -15,8 +15,8 @@ func testGrafanaPortForward(t testing.TB, port string) {
cmds = append(cmds, "-p", port)
}
- t.Logf("Running '%v'", "ts-obs "+strings.Join(cmds, " "))
- portforward := exec.Command("ts-obs", cmds...)
+ t.Logf("Running '%v'", "tobs "+strings.Join(cmds, " "))
+ portforward := exec.Command("tobs", cmds...)
err := portforward.Start()
if err != nil {
@@ -39,8 +39,8 @@ func testGrafanaPortForward(t testing.TB, port string) {
func testGrafanaGetPass(t testing.TB) {
cmds := []string{"grafana", "get-password", "-n", RELEASE_NAME, "--namespace", NAMESPACE}
- t.Logf("Running '%v'", "ts-obs "+strings.Join(cmds, " "))
- getpass := exec.Command("ts-obs", cmds...)
+ t.Logf("Running '%v'", "tobs "+strings.Join(cmds, " "))
+ getpass := exec.Command("tobs", cmds...)
out, err := getpass.CombinedOutput()
if err != nil {
@@ -52,8 +52,8 @@ func testGrafanaGetPass(t testing.TB) {
func testGrafanaChangePass(t testing.TB, newpass string) {
cmds := []string{"grafana", "change-password", "\"" + newpass + "\"", "-n", RELEASE_NAME, "--namespace", NAMESPACE}
- t.Logf("Running '%v'", "ts-obs "+strings.Join(cmds, " "))
- changepass := exec.Command("ts-obs", cmds...)
+ t.Logf("Running '%v'", "tobs "+strings.Join(cmds, " "))
+ changepass := exec.Command("tobs", cmds...)
out, err := changepass.CombinedOutput()
if err != nil {
@@ -63,7 +63,7 @@ func testGrafanaChangePass(t testing.TB, newpass string) {
}
func verifyGrafanaPass(t testing.TB, expectedPass string) {
- getpass := exec.Command("ts-obs", "grafana", "get-password", "-n", RELEASE_NAME, "--namespace", NAMESPACE)
+ getpass := exec.Command("tobs", "grafana", "get-password", "-n", RELEASE_NAME, "--namespace", NAMESPACE)
out, err := getpass.CombinedOutput()
if err != nil {
diff --git a/ts-obs/tests/installation_test.go b/cli/tests/installation_test.go
similarity index 86%
rename from ts-obs/tests/installation_test.go
rename to cli/tests/installation_test.go
index f3c60302..386c36bd 100644
--- a/ts-obs/tests/installation_test.go
+++ b/cli/tests/installation_test.go
@@ -6,7 +6,7 @@ import (
"testing"
"time"
- "ts-obs/cmd"
+ "cli/cmd"
)
func testInstall(t testing.TB, name, namespace, filename string) {
@@ -25,8 +25,8 @@ func testInstall(t testing.TB, name, namespace, filename string) {
cmds = append(cmds, "-f", filename)
}
- t.Logf("Running '%v'", "ts-obs "+strings.Join(cmds, " "))
- install := exec.Command("ts-obs", cmds...)
+ t.Logf("Running '%v'", "tobs "+strings.Join(cmds, " "))
+ install := exec.Command("tobs", cmds...)
out, err := install.CombinedOutput()
if err != nil {
@@ -51,8 +51,8 @@ func testHelmInstall(t testing.TB, name, namespace, filename string) {
cmds = append(cmds, "-f", filename)
}
- t.Logf("Running '%v'", "ts-obs "+strings.Join(cmds, " "))
- install := exec.Command("ts-obs", cmds...)
+ t.Logf("Running '%v'", "tobs "+strings.Join(cmds, " "))
+ install := exec.Command("tobs", cmds...)
out, err := install.CombinedOutput()
if err != nil {
@@ -77,8 +77,8 @@ func testUninstall(t testing.TB, name, namespace string, deleteData bool) {
cmds = append(cmds, "--delete-data")
}
- t.Logf("Running '%v'", "ts-obs "+strings.Join(cmds, " "))
- uninstall := exec.Command("ts-obs", cmds...)
+ t.Logf("Running '%v'", "tobs "+strings.Join(cmds, " "))
+ uninstall := exec.Command("tobs", cmds...)
out, err := uninstall.CombinedOutput()
if err != nil {
@@ -103,8 +103,8 @@ func testHelmUninstall(t testing.TB, name, namespace string, deleteData bool) {
cmds = append(cmds, "--delete-data")
}
- t.Logf("Running '%v'", "ts-obs "+strings.Join(cmds, " "))
- uninstall := exec.Command("ts-obs", cmds...)
+ t.Logf("Running '%v'", "tobs "+strings.Join(cmds, " "))
+ uninstall := exec.Command("tobs", cmds...)
out, err := uninstall.CombinedOutput()
if err != nil {
@@ -112,7 +112,7 @@ func testHelmUninstall(t testing.TB, name, namespace string, deleteData bool) {
t.Fatal(err)
}
- pods, err := cmd.KubeGetAllPods("ts-obs", "default")
+ pods, err := cmd.KubeGetAllPods("tobs", "default")
if err != nil {
t.Fatal(err)
}
@@ -135,8 +135,8 @@ func testHelmDeleteData(t testing.TB, name, namespace string) {
cmds = append(cmds, "--namespace", NAMESPACE)
}
- t.Logf("Running '%v'", "ts-obs "+strings.Join(cmds, " "))
- deletedata := exec.Command("ts-obs", cmds...)
+ t.Logf("Running '%v'", "tobs "+strings.Join(cmds, " "))
+ deletedata := exec.Command("tobs", cmds...)
out, err := deletedata.CombinedOutput()
if err != nil {
@@ -156,8 +156,8 @@ func testHelmDeleteData(t testing.TB, name, namespace string) {
func testHelmShowValues(t testing.TB) {
var showvalues *exec.Cmd
- t.Logf("Running 'ts-obs helm show-values'")
- showvalues = exec.Command("ts-obs", "helm", "show-values")
+ t.Logf("Running 'tobs helm show-values'")
+ showvalues = exec.Command("tobs", "helm", "show-values")
out, err := showvalues.CombinedOutput()
if err != nil {
diff --git a/ts-obs/tests/main_test.go b/cli/tests/main_test.go
similarity index 86%
rename from ts-obs/tests/main_test.go
rename to cli/tests/main_test.go
index aa2d3a1e..44972f57 100644
--- a/ts-obs/tests/main_test.go
+++ b/cli/tests/main_test.go
@@ -28,12 +28,12 @@ func startKube() {
func installObs() {
var err error
- log.Println("Installing Timescale Observability")
+ log.Println("Installing The Observability Stack")
- obsinstall := exec.Command("ts-obs", "install", "-n", RELEASE_NAME, "--namespace", NAMESPACE)
+ obsinstall := exec.Command("tobs", "install", "-n", RELEASE_NAME, "--namespace", NAMESPACE)
err = obsinstall.Run()
if err != nil {
- log.Println("Error installing Timescale Observability:", err)
+ log.Println("Error installing The Observability Stack:", err)
os.Exit(1)
}
}
diff --git a/ts-obs/tests/metrics_test.go b/cli/tests/metrics_test.go
similarity index 90%
rename from ts-obs/tests/metrics_test.go
rename to cli/tests/metrics_test.go
index fa5785ff..ca21d0cf 100644
--- a/ts-obs/tests/metrics_test.go
+++ b/cli/tests/metrics_test.go
@@ -11,7 +11,7 @@ import (
"time"
"github.com/jackc/pgx/v4/pgxpool"
- "ts-obs/cmd"
+ "cli/cmd"
)
var PASS string
@@ -25,8 +25,8 @@ func testRetentionSetDefault(t testing.TB, period int, user, dbname string) {
cmds = append(cmds, "-d", dbname)
}
- t.Logf("Running '%v'", "ts-obs "+strings.Join(cmds, " "))
- set := exec.Command("ts-obs", cmds...)
+ t.Logf("Running '%v'", "tobs "+strings.Join(cmds, " "))
+ set := exec.Command("tobs", cmds...)
out, err := set.CombinedOutput()
if err != nil {
@@ -44,8 +44,8 @@ func testRetentionSet(t testing.TB, metric string, period int, user, dbname stri
cmds = append(cmds, "-d", dbname)
}
- t.Logf("Running '%v'", "ts-obs "+strings.Join(cmds, " "))
- set := exec.Command("ts-obs", cmds...)
+ t.Logf("Running '%v'", "tobs "+strings.Join(cmds, " "))
+ set := exec.Command("tobs", cmds...)
out, err := set.CombinedOutput()
if err != nil {
@@ -63,8 +63,8 @@ func testRetentionReset(t testing.TB, metric, user, dbname string) {
cmds = append(cmds, "-d", dbname)
}
- t.Logf("Running '%v'", "ts-obs "+strings.Join(cmds, " "))
- reset := exec.Command("ts-obs", cmds...)
+ t.Logf("Running '%v'", "tobs "+strings.Join(cmds, " "))
+ reset := exec.Command("tobs", cmds...)
out, err := reset.CombinedOutput()
if err != nil {
@@ -82,8 +82,8 @@ func testRetentionGet(t testing.TB, metric string, expectedDays int64, user, dbn
cmds = append(cmds, "-d", dbname)
}
- t.Logf("Running '%v'", "ts-obs "+strings.Join(cmds, " "))
- get := exec.Command("ts-obs", cmds...)
+ t.Logf("Running '%v'", "tobs "+strings.Join(cmds, " "))
+ get := exec.Command("tobs", cmds...)
out, err := get.CombinedOutput()
if err != nil {
@@ -110,8 +110,8 @@ func testChunkIntervalSetDefault(t testing.TB, interval, user, dbname string) {
cmds = append(cmds, "-d", dbname)
}
- t.Logf("Running '%v'", "ts-obs "+strings.Join(cmds, " "))
- set := exec.Command("ts-obs", cmds...)
+ t.Logf("Running '%v'", "tobs "+strings.Join(cmds, " "))
+ set := exec.Command("tobs", cmds...)
out, err := set.CombinedOutput()
if err != nil {
@@ -129,8 +129,8 @@ func testChunkIntervalSet(t testing.TB, metric, interval, user, dbname string) {
cmds = append(cmds, "-d", dbname)
}
- t.Logf("Running '%v'", "ts-obs "+strings.Join(cmds, " "))
- set := exec.Command("ts-obs", cmds...)
+ t.Logf("Running '%v'", "tobs "+strings.Join(cmds, " "))
+ set := exec.Command("tobs", cmds...)
out, err := set.CombinedOutput()
if err != nil {
@@ -148,8 +148,8 @@ func testChunkIntervalReset(t testing.TB, metric, user, dbname string) {
cmds = append(cmds, "-d", dbname)
}
- t.Logf("Running '%v'", "ts-obs "+strings.Join(cmds, " "))
- reset := exec.Command("ts-obs", cmds...)
+ t.Logf("Running '%v'", "tobs "+strings.Join(cmds, " "))
+ reset := exec.Command("tobs", cmds...)
out, err := reset.CombinedOutput()
if err != nil {
@@ -167,8 +167,8 @@ func testChunkIntervalGet(t testing.TB, metric string, expectedDuration time.Dur
cmds = append(cmds, "-d", dbname)
}
- t.Logf("Running '%v'", "ts-obs "+strings.Join(cmds, " "))
- get := exec.Command("ts-obs", cmds...)
+ t.Logf("Running '%v'", "tobs "+strings.Join(cmds, " "))
+ get := exec.Command("tobs", cmds...)
out, err := get.CombinedOutput()
if err != nil {
diff --git a/ts-obs/tests/portforward_test.go b/cli/tests/portforward_test.go
similarity index 92%
rename from ts-obs/tests/portforward_test.go
rename to cli/tests/portforward_test.go
index 71e8fe94..68840b6d 100644
--- a/ts-obs/tests/portforward_test.go
+++ b/cli/tests/portforward_test.go
@@ -21,8 +21,8 @@ func testpf(t testing.TB, timescale, grafana, prometheus string) {
cmds = append(cmds, "-p", prometheus)
}
- t.Logf("Running '%v'", "ts-obs "+strings.Join(cmds, " "))
- portforward := exec.Command("ts-obs", cmds...)
+ t.Logf("Running '%v'", "tobs "+strings.Join(cmds, " "))
+ portforward := exec.Command("tobs", cmds...)
err := portforward.Start()
if err != nil {
diff --git a/ts-obs/tests/prometheus_test.go b/cli/tests/prometheus_test.go
similarity index 88%
rename from ts-obs/tests/prometheus_test.go
rename to cli/tests/prometheus_test.go
index 3673c93c..c97316df 100644
--- a/ts-obs/tests/prometheus_test.go
+++ b/cli/tests/prometheus_test.go
@@ -15,8 +15,8 @@ func testPrometheusPortForward(t testing.TB, port string) {
cmds = append(cmds, "-p", port)
}
- t.Logf("Running '%v'", "ts-obs "+strings.Join(cmds, " "))
- portforward := exec.Command("ts-obs", cmds...)
+ t.Logf("Running '%v'", "tobs "+strings.Join(cmds, " "))
+ portforward := exec.Command("tobs", cmds...)
err := portforward.Start()
if err != nil {
diff --git a/ts-obs/tests/testdata/f1.yml b/cli/tests/testdata/f1.yml
similarity index 100%
rename from ts-obs/tests/testdata/f1.yml
rename to cli/tests/testdata/f1.yml
diff --git a/ts-obs/tests/testdata/f2.yml b/cli/tests/testdata/f2.yml
similarity index 100%
rename from ts-obs/tests/testdata/f2.yml
rename to cli/tests/testdata/f2.yml
diff --git a/ts-obs/tests/testdata/f3.yml b/cli/tests/testdata/f3.yml
similarity index 100%
rename from ts-obs/tests/testdata/f3.yml
rename to cli/tests/testdata/f3.yml
diff --git a/ts-obs/tests/testdata/f4.yml b/cli/tests/testdata/f4.yml
similarity index 100%
rename from ts-obs/tests/testdata/f4.yml
rename to cli/tests/testdata/f4.yml
diff --git a/ts-obs/tests/timescale_test.go b/cli/tests/timescale_test.go
similarity index 74%
rename from ts-obs/tests/timescale_test.go
rename to cli/tests/timescale_test.go
index 472dadaf..a9825542 100644
--- a/ts-obs/tests/timescale_test.go
+++ b/cli/tests/timescale_test.go
@@ -15,8 +15,8 @@ func testTimescaleGetPassword(t testing.TB, user string) {
cmds = append(cmds, "-U", user)
}
- t.Logf("Running '%v'", "ts-obs "+strings.Join(cmds, " "))
- getpass := exec.Command("ts-obs", cmds...)
+ t.Logf("Running '%v'", "tobs "+strings.Join(cmds, " "))
+ getpass := exec.Command("tobs", cmds...)
out, err := getpass.CombinedOutput()
if err != nil {
@@ -34,8 +34,8 @@ func testTimescaleChangePassword(t testing.TB, user, dbname, newpass string) {
cmds = append(cmds, "-d", dbname)
}
- t.Logf("Running '%v'", "ts-obs "+strings.Join(cmds, " "))
- changepass := exec.Command("ts-obs", cmds...)
+ t.Logf("Running '%v'", "tobs "+strings.Join(cmds, " "))
+ changepass := exec.Command("tobs", cmds...)
out, err := changepass.CombinedOutput()
if err != nil {
@@ -45,7 +45,7 @@ func testTimescaleChangePassword(t testing.TB, user, dbname, newpass string) {
}
func verifyTimescalePassword(t testing.TB, user string, expectedPass string) {
- getpass := exec.Command("ts-obs", "timescaledb", "get-password", "-U", user, "-n", RELEASE_NAME, "--namespace", NAMESPACE)
+ getpass := exec.Command("tobs", "timescaledb", "get-password", "-U", user, "-n", RELEASE_NAME, "--namespace", NAMESPACE)
out, err := getpass.CombinedOutput()
if err != nil {
@@ -64,8 +64,8 @@ func testTimescalePortForward(t testing.TB, port string) {
cmds = append(cmds, "-p", port)
}
- t.Logf("Running '%v'", "ts-obs "+strings.Join(cmds, " "))
- portforward := exec.Command("ts-obs", cmds...)
+ t.Logf("Running '%v'", "tobs "+strings.Join(cmds, " "))
+ portforward := exec.Command("tobs", cmds...)
err := portforward.Start()
if err != nil {
@@ -89,15 +89,15 @@ func testTimescaleConnect(t testing.TB, master bool, user string) {
var connect *exec.Cmd
if master {
- t.Logf("Running 'ts-obs timescaledb connect -m'")
- connect = exec.Command("ts-obs", "timescaledb", "connect", "-m", "-n", RELEASE_NAME, "--namespace", NAMESPACE)
+ t.Logf("Running 'tobs timescaledb connect -m'")
+ connect = exec.Command("tobs", "timescaledb", "connect", "-m", "-n", RELEASE_NAME, "--namespace", NAMESPACE)
} else {
if user == "" {
- t.Logf("Running 'ts-obs timescaledb connect'")
- connect = exec.Command("ts-obs", "timescaledb", "connect", "-n", RELEASE_NAME, "--namespace", NAMESPACE)
+ t.Logf("Running 'tobs timescaledb connect'")
+ connect = exec.Command("tobs", "timescaledb", "connect", "-n", RELEASE_NAME, "--namespace", NAMESPACE)
} else {
- t.Logf("Running 'ts-obs timescaledb connect -U %v'", user)
- connect = exec.Command("ts-obs", "timescaledb", "connect", "-U", user, "-n", RELEASE_NAME, "--namespace", NAMESPACE)
+ t.Logf("Running 'tobs timescaledb connect -U %v'", user)
+ connect = exec.Command("tobs", "timescaledb", "connect", "-U", user, "-n", RELEASE_NAME, "--namespace", NAMESPACE)
}
}
diff --git a/ts-obs/README.md b/ts-obs/README.md
deleted file mode 100644
index 6b304381..00000000
--- a/ts-obs/README.md
+++ /dev/null
@@ -1,82 +0,0 @@
-# Timescale Observability CLI
-
-This is a CLI tool for installing and managing the Timescale Observability Helm chart.
-
-## Quick Start
-
-__Dependencies__: [Go](https://golang.org/doc/install), [Helm](https://helm.sh/docs/intro/install/)
-
-To install the CLI, run `go install` from inside the `ts-obs` folder.
-Then, copy the `ts-obs` binary from `$GOPATH/bin` to your `/bin` folder.
-
-## Commands
-
-The following are the commands possible with the CLI.
-
-### Base Commands
-
-| Command | Description | Flags |
-|-----------------------|------------------------------------------------------------------|------------------------------------------------------|
-| `ts-obs install` | Alias for `ts-obs helm install`. | `--filename`, `-f` : file to load configuration from |
-| `ts-obs uninstall` | Alias for `ts-obs helm unintall`. | None |
-| `ts-obs port-forward` | Port-forwards TimescaleDB, Grafana, and Prometheus to localhost. | `--timescaledb`, `-t` : port for TimescaleDB
`--grafana`, `-g` : port for Grafana
`--prometheus`, `-p` : port for Prometheus |
-
-### Helm Commands
-
-| Command | Description | Flags |
-|---------------------------|---------------------------------------------------------------------------|------------------------------------------------------|
-| `ts-obs helm install` | Installs the Timescale Observability Helm chart. | `--filename`, `-f` : file to load configuration from |
-| `ts-obs helm uninstall` | Uninstalls the Timescale Observability Helm chart. | None |
-| `ts-obs helm show-values` | Prints the YAML configuration of the Timescale Observability Helm chart. | None |
-| `ts-obs helm delete-data` | Deletes persistent volume claims associated with Timescale Observability. | None |
-
-### TimescaleDB Commands
-
-| Command | Description | Flags |
-|-----------------------------------|------------------------------------------------------------|---------------------------------------------|
-| `ts-obs timescaledb connect` | Connects to the Timescale database running in the cluster. | `--user`, `-U` : user to login with
`--master`, `-m` : directly execute session on master node |
-| `ts-obs timescaledb port-forward` | Port-forwards TimescaleDB to localhost. | `--port`, `-p` : port to listen from |
-| `ts-obs timescaledb get-password` | Gets the password for a user in the Timescale database. | `--user`, `-U` : user whose password to get |
-| `ts-obs timescaledb change-password` | Changes the password for a user in the Timescale database. | `--user`, `-U` : user whose password to get |
-
-### Grafana Commands
-
-| Command | Description | Flags |
-|---------------------------------------|------------------------------------------------|--------------------------------------|
-| `ts-obs grafana port-forward` | Port-forwards the Grafana server to localhost. | `--port`, `-p` : port to listen from |
-| `ts-obs grafana get-initial-password` | Gets the initial admin password for Grafana. | None |
-| `ts-obs grafana change-password` | Changes the admin password for Grafana. | None |
-
-### Prometheus Commands
-
-| Command | Description | Flags |
-|----------------------------------|---------------------------------------------------|--------------------------------------|
-| `ts-obs prometheus port-forward` | Port-forwards the Prometheus server to localhost. | `--port`, `-p` : port to listen from |
-
-### Metrics Commands
-
-| Command | Description | Flags |
-|---------------------------------------------|--------------------------------------------------------------------------------------|-------|
-| `ts-obs metrics retention get` | Gets the data retention period of a specific metric. | `--user`, `-U` : database user name
`--dbname`, `-d` : database name to connect to |
-| `ts-obs metrics retention set-default` | Sets the default data retention period to the specified number of days. | `--user`, `-U` : database user name
`--dbname`, `-d` : database name to connect to |
-| `ts-obs metrics retention set` | Sets the data retention period of a specific metric to the specified number of days. | `--user`, `-U` : database user name
`--dbname`, `-d` : database name to connect to |
-| `ts-obs metrics retention reset` | Resets the data retention period of a specific metric to the default value. | `--user`, `-U` : database user name
`--dbname`, `-d` : database name to connect to |
-| `ts-obs metrics chunk-interval get` | Gets the chunk interval of a specific metric. | `--user`, `-U` : database user name
`--dbname`, `-d` : database name to connect to |
-| `ts-obs metrics chunk-interval set-default` | Sets the default chunk interval to the specified duration. | `--user`, `-U` : database user name
`--dbname`, `-d` : database name to connect to |
-| `ts-obs metrics chunk-interval set` | Sets the chunk interval of a specific metric to the specified duration. | `--user`, `-U` : database user name
`--dbname`, `-d` : database name to connect to |
-| `ts-obs metrics chunk-interval reset` | Resets chunk interval of a specific metric to the default value. | `--user`, `-U` : database user name
`--dbname`, `-d` : database name to connect to |
-
-## Global Flags
-
-The following are global flags that can be used with any of the above commands:
-
-| Flag | Description |
-|----------------|----------------------|
-| `--name`, `-n` | Helm release name |
-| `--namespace` | Kubernetes namespace |
-
-## Testing
-
-A testing suite is included in the `tests` folder. This testing suite has additional dependencies on [kubectl](https://kubernetes.io/docs/tasks/tools/install-kubectl/) and [minikube](https://kubernetes.io/docs/tasks/tools/install-minikube/).
-
-The testing suite can be run by calling `go test -timeout 30m` from within the `tests` folder.
diff --git a/ts-obs/go.mod b/ts-obs/go.mod
deleted file mode 100644
index 37253c5d..00000000
--- a/ts-obs/go.mod
+++ /dev/null
@@ -1,14 +0,0 @@
-module ts-obs
-
-go 1.14
-
-require (
- github.com/jackc/pgx/v4 v4.6.0
- github.com/mitchellh/go-homedir v1.1.0
- github.com/spf13/cobra v1.0.0
- github.com/spf13/viper v1.7.0
- k8s.io/api v0.18.3
- k8s.io/apimachinery v0.18.3
- k8s.io/client-go v0.18.3
- k8s.io/utils v0.0.0-20200603063816-c1c6865ac451 // indirect
-)