mirror of
https://github.com/optim-enterprises-bv/vault.git
synced 2025-11-02 03:27:54 +00:00
Revert global plugin reload commits (#9344)
* Revert "Some of the OSS changes were clobbered when merging with quotas out of, master (#9343)" This reverts commit8719a9b7c4. * Revert "OSS side of Global Plugin Reload (#9340)" This reverts commitf98afb998a.
This commit is contained in:
@@ -22,8 +22,8 @@ IMPROVEMENTS:
|
||||
* core: Added Password Policies for user-configurable password generation [[GH-8637](https://github.com/hashicorp/vault/pull/8637)]
|
||||
* core: New telemetry metrics covering token counts, token creation, KV secret counts, lease creation. [[GH-9239](https://github.com/hashicorp/vault/pull/9239)] [[GH-9250](https://github.com/hashicorp/vault/pull/9250)] [[GH-9244](https://github.com/hashicorp/vault/pull/9244)] [[GH-9052](https://github.com/hashicorp/vault/pull/9052)]
|
||||
* cli: Support reading TLS parameters from file for the `vault operator raft join` command. [[GH-9060](https://github.com/hashicorp/vault/pull/9060)]
|
||||
* plugin: Add SDK method, `Sys.ReloadPlugin`, and CLI command, `vault plugin reload`, for reloading plugins. [[GH-8777](https://github.com/hashicorp/vault/pull/8777)]
|
||||
* plugin (enterprise): Add a scope field to plugin reload, which when global, reloads the plugin anywhere in a cluster. [[GH-9340](https://github.com/hashicorp/vault/pull/9340)]
|
||||
* plugin: Add SDK method, `Sys.ReloadPlugin`, and CLI command, `vault plugin reload`,
|
||||
for reloading plugins. [[GH-8777](https://github.com/hashicorp/vault/pull/8777)]
|
||||
* sdk/framework: Support accepting TypeFloat parameters over the API [[GH-8923](https://github.com/hashicorp/vault/pull/8923)]
|
||||
* secrets/aws: Add iam_groups parameter to role create/update [[GH-8811](https://github.com/hashicorp/vault/pull/8811)]
|
||||
* secrets/database: Add static role rotation for MongoDB Atlas database plugin [[GH-11](https://github.com/hashicorp/vault-plugin-database-mongodbatlas/pull/11)]
|
||||
|
||||
@@ -5,7 +5,6 @@ import (
|
||||
"errors"
|
||||
"fmt"
|
||||
"net/http"
|
||||
"time"
|
||||
|
||||
"github.com/hashicorp/vault/sdk/helper/consts"
|
||||
"github.com/mitchellh/mapstructure"
|
||||
@@ -233,19 +232,15 @@ type ReloadPluginInput struct {
|
||||
|
||||
// Mounts is the array of string mount paths of the plugin backends to reload
|
||||
Mounts []string `json:"mounts"`
|
||||
|
||||
// Scope is the scope of the plugin reload
|
||||
Scope string `json:"scope"`
|
||||
}
|
||||
|
||||
// ReloadPlugin reloads mounted plugin backends, possibly returning
|
||||
// reloadId for a cluster scoped reload
|
||||
func (c *Sys) ReloadPlugin(i *ReloadPluginInput) (string, error) {
|
||||
// ReloadPlugin reloads mounted plugin backends
|
||||
func (c *Sys) ReloadPlugin(i *ReloadPluginInput) error {
|
||||
path := "/v1/sys/plugins/reload/backend"
|
||||
req := c.c.NewRequest(http.MethodPut, path)
|
||||
|
||||
if err := req.SetJSONBody(i); err != nil {
|
||||
return "", err
|
||||
return err
|
||||
}
|
||||
|
||||
ctx, cancelFunc := context.WithCancel(context.Background())
|
||||
@@ -253,78 +248,10 @@ func (c *Sys) ReloadPlugin(i *ReloadPluginInput) (string, error) {
|
||||
|
||||
resp, err := c.c.RawRequestWithContext(ctx, req)
|
||||
if err != nil {
|
||||
return "", err
|
||||
return err
|
||||
}
|
||||
defer resp.Body.Close()
|
||||
|
||||
if i.Scope == "global" {
|
||||
// Get the reload id
|
||||
secret, parseErr := ParseSecret(resp.Body)
|
||||
if parseErr != nil {
|
||||
return "", err
|
||||
}
|
||||
if _, ok := secret.Data["reload_id"]; ok {
|
||||
return secret.Data["reload_id"].(string), nil
|
||||
}
|
||||
}
|
||||
return "", err
|
||||
}
|
||||
|
||||
// ReloadStatus is the status of an individual node's plugin reload
|
||||
type ReloadStatus struct {
|
||||
Timestamp time.Time `json:"timestamp" mapstructure:"timestamp"`
|
||||
Success bool `json:"success" mapstructure:"success"`
|
||||
Message string `json:"message" mapstructure:"message"`
|
||||
}
|
||||
|
||||
// ReloadStatusResponse is the combined response of all known completed plugin reloads
|
||||
type ReloadStatusResponse struct {
|
||||
ReloadID string `mapstructure:"reload_id"`
|
||||
Results map[string]*ReloadStatus `mapstructure:"results"`
|
||||
}
|
||||
|
||||
// ReloadPluginStatusInput is used as input to the ReloadStatusPlugin function.
|
||||
type ReloadPluginStatusInput struct {
|
||||
// ReloadID is the ID of the reload operation
|
||||
ReloadID string `json:"reload_id"`
|
||||
}
|
||||
|
||||
// ReloadPluginStatus retrieves the status of a reload operation
|
||||
func (c *Sys) ReloadPluginStatus(reloadStatusInput *ReloadPluginStatusInput) (*ReloadStatusResponse, error) {
|
||||
path := "/v1/sys/plugins/reload/backend/status"
|
||||
req := c.c.NewRequest(http.MethodGet, path)
|
||||
req.Params.Add("reload_id", reloadStatusInput.ReloadID)
|
||||
|
||||
ctx, cancelFunc := context.WithCancel(context.Background())
|
||||
defer cancelFunc()
|
||||
|
||||
resp, err := c.c.RawRequestWithContext(ctx, req)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
defer resp.Body.Close()
|
||||
if resp != nil {
|
||||
secret, parseErr := ParseSecret(resp.Body)
|
||||
if parseErr != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var r ReloadStatusResponse
|
||||
d, err := mapstructure.NewDecoder(&mapstructure.DecoderConfig{
|
||||
DecodeHook: mapstructure.StringToTimeHookFunc(time.RFC3339),
|
||||
Result: &r,
|
||||
})
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
err = d.Decode(secret.Data)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return &r, nil
|
||||
}
|
||||
return nil, nil
|
||||
|
||||
return err
|
||||
}
|
||||
|
||||
// catalogPathByType is a helper to construct the proper API path by plugin type
|
||||
|
||||
@@ -447,11 +447,6 @@ func initCommands(ui, serverCmdUi cli.Ui, runOpts *RunOptions) {
|
||||
BaseCommand: getBaseCommand(),
|
||||
}, nil
|
||||
},
|
||||
"plugin reload-status": func() (cli.Command, error) {
|
||||
return &PluginReloadStatusCommand{
|
||||
BaseCommand: getBaseCommand(),
|
||||
}, nil
|
||||
},
|
||||
"policy": func() (cli.Command, error) {
|
||||
return &PolicyCommand{
|
||||
BaseCommand: getBaseCommand(),
|
||||
|
||||
@@ -16,7 +16,6 @@ type PluginReloadCommand struct {
|
||||
*BaseCommand
|
||||
plugin string
|
||||
mounts []string
|
||||
scope string
|
||||
}
|
||||
|
||||
func (c *PluginReloadCommand) Synopsis() string {
|
||||
@@ -59,13 +58,6 @@ func (c *PluginReloadCommand) Flags() *FlagSets {
|
||||
Usage: "Array or comma-separated string mount paths of the plugin backends to reload.",
|
||||
})
|
||||
|
||||
f.StringVar(&StringVar{
|
||||
Name: "scope",
|
||||
Target: &c.scope,
|
||||
Completion: complete.PredictAnything,
|
||||
Usage: "The scope of the reload, omitted for local, 'global', for replicated reloads",
|
||||
})
|
||||
|
||||
return set
|
||||
}
|
||||
|
||||
@@ -92,8 +84,6 @@ func (c *PluginReloadCommand) Run(args []string) int {
|
||||
case c.plugin != "" && len(c.mounts) > 0:
|
||||
c.UI.Error(fmt.Sprintf("Too many arguments (expected 1, got %d)", len(args)))
|
||||
return 1
|
||||
case c.scope != "" && c.scope != "global":
|
||||
c.UI.Error(fmt.Sprintf("Invalid reload scope: %s", c.scope))
|
||||
}
|
||||
|
||||
client, err := c.Client()
|
||||
@@ -102,28 +92,18 @@ func (c *PluginReloadCommand) Run(args []string) int {
|
||||
return 2
|
||||
}
|
||||
|
||||
rid, err := client.Sys().ReloadPlugin(&api.ReloadPluginInput{
|
||||
if err := client.Sys().ReloadPlugin(&api.ReloadPluginInput{
|
||||
Plugin: c.plugin,
|
||||
Mounts: c.mounts,
|
||||
Scope: c.scope,
|
||||
})
|
||||
if err != nil {
|
||||
}); err != nil {
|
||||
c.UI.Error(fmt.Sprintf("Error reloading plugin/mounts: %s", err))
|
||||
return 2
|
||||
}
|
||||
|
||||
if len(c.mounts) > 0 {
|
||||
if rid != "" {
|
||||
c.UI.Output(fmt.Sprintf("Success! Reloading mounts: %s, reload_id: %s", c.mounts, rid))
|
||||
} else {
|
||||
c.UI.Output(fmt.Sprintf("Success! Reloaded mounts: %s", c.mounts))
|
||||
}
|
||||
c.UI.Output(fmt.Sprintf("Success! Reloaded mounts: %s", c.mounts))
|
||||
} else {
|
||||
if rid != "" {
|
||||
c.UI.Output(fmt.Sprintf("Success! Reloading plugin: %s, reload_id: %s", c.plugin, rid))
|
||||
} else {
|
||||
c.UI.Output(fmt.Sprintf("Success! Reloaded plugin: %s", c.plugin))
|
||||
}
|
||||
c.UI.Output(fmt.Sprintf("Success! Reloaded plugin: %s", c.plugin))
|
||||
}
|
||||
|
||||
return 0
|
||||
|
||||
@@ -20,17 +20,6 @@ func testPluginReloadCommand(tb testing.TB) (*cli.MockUi, *PluginReloadCommand)
|
||||
}
|
||||
}
|
||||
|
||||
func testPluginReloadStatusCommand(tb testing.TB) (*cli.MockUi, *PluginReloadStatusCommand) {
|
||||
tb.Helper()
|
||||
|
||||
ui := cli.NewMockUi()
|
||||
return ui, &PluginReloadStatusCommand{
|
||||
BaseCommand: &BaseCommand{
|
||||
UI: ui,
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
func TestPluginReloadCommand_Run(t *testing.T) {
|
||||
t.Parallel()
|
||||
|
||||
@@ -119,86 +108,3 @@ func TestPluginReloadCommand_Run(t *testing.T) {
|
||||
})
|
||||
|
||||
}
|
||||
|
||||
func TestPluginReloadStatusCommand_Run(t *testing.T) {
|
||||
t.Parallel()
|
||||
|
||||
cases := []struct {
|
||||
name string
|
||||
args []string
|
||||
out string
|
||||
code int
|
||||
}{
|
||||
{
|
||||
"not_enough_args",
|
||||
nil,
|
||||
"Not enough arguments",
|
||||
1,
|
||||
},
|
||||
}
|
||||
|
||||
for _, tc := range cases {
|
||||
tc := tc
|
||||
|
||||
t.Run(tc.name, func(t *testing.T) {
|
||||
t.Parallel()
|
||||
|
||||
client, closer := testVaultServer(t)
|
||||
defer closer()
|
||||
|
||||
ui, cmd := testPluginReloadCommand(t)
|
||||
cmd.client = client
|
||||
|
||||
args := append([]string{}, tc.args...)
|
||||
code := cmd.Run(args)
|
||||
if code != tc.code {
|
||||
t.Errorf("expected %d to be %d", code, tc.code)
|
||||
}
|
||||
|
||||
combined := ui.OutputWriter.String() + ui.ErrorWriter.String()
|
||||
if !strings.Contains(combined, tc.out) {
|
||||
t.Errorf("expected %q to contain %q", combined, tc.out)
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
t.Run("integration", func(t *testing.T) {
|
||||
t.Parallel()
|
||||
|
||||
pluginDir, cleanup := testPluginDir(t)
|
||||
defer cleanup(t)
|
||||
|
||||
client, _, closer := testVaultServerPluginDir(t, pluginDir)
|
||||
defer closer()
|
||||
|
||||
pluginName := "my-plugin"
|
||||
_, sha256Sum := testPluginCreateAndRegister(t, client, pluginDir, pluginName, consts.PluginTypeCredential)
|
||||
|
||||
ui, cmd := testPluginReloadStatusCommand(t)
|
||||
cmd.client = client
|
||||
|
||||
if err := client.Sys().RegisterPlugin(&api.RegisterPluginInput{
|
||||
Name: pluginName,
|
||||
Type: consts.PluginTypeCredential,
|
||||
Command: pluginName,
|
||||
SHA256: sha256Sum,
|
||||
}); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
code := cmd.Run([]string{
|
||||
"-reload_id", pluginName,
|
||||
})
|
||||
if exp := 0; code != exp {
|
||||
t.Errorf("expected %d to be %d", code, exp)
|
||||
}
|
||||
|
||||
expected := "Success! Reloaded plugin: "
|
||||
combined := ui.OutputWriter.String() + ui.ErrorWriter.String()
|
||||
if !strings.Contains(combined, expected) {
|
||||
t.Errorf("expected %q to contain %q", combined, expected)
|
||||
}
|
||||
|
||||
})
|
||||
|
||||
}
|
||||
|
||||
68
go.mod
68
go.mod
@@ -12,11 +12,10 @@ require (
|
||||
cloud.google.com/go/storage v1.6.0
|
||||
github.com/Azure/azure-sdk-for-go v36.2.0+incompatible
|
||||
github.com/Azure/go-autorest/autorest v0.10.1
|
||||
github.com/DataDog/zstd v1.4.4 // indirect
|
||||
github.com/Microsoft/hcsshim v0.8.9 // indirect
|
||||
github.com/NYTimes/gziphandler v1.1.1
|
||||
github.com/SAP/go-hdb v0.14.1
|
||||
github.com/Sectorbob/mlab-ns2 v0.0.0-20171030222938-d3aa0c295a8a
|
||||
github.com/StackExchange/wmi v0.0.0-20180116203802-5d049714c4a6 // indirect
|
||||
github.com/aliyun/alibaba-cloud-sdk-go v0.0.0-20190620160927-9418d7b0cd0f
|
||||
github.com/aliyun/aliyun-oss-go-sdk v0.0.0-20190307165228-86c17b95fcd5
|
||||
github.com/apple/foundationdb/bindings/go v0.0.0-20190411004307-cd5c9d91fad2
|
||||
@@ -25,16 +24,11 @@ require (
|
||||
github.com/armon/go-radix v1.0.0
|
||||
github.com/asaskevich/govalidator v0.0.0-20180720115003-f9ffefc3facf
|
||||
github.com/aws/aws-sdk-go v1.30.27
|
||||
github.com/bitly/go-hostpool v0.0.0-20171023180738-a3a6125de932 // indirect
|
||||
github.com/bmizerany/assert v0.0.0-20160611221934-b7ed37b82869 // indirect
|
||||
github.com/chrismalek/oktasdk-go v0.0.0-20181212195951-3430665dfaa0
|
||||
github.com/client9/misspell v0.3.4
|
||||
github.com/cockroachdb/cockroach-go v0.0.0-20181001143604-e0a95dfd547c
|
||||
github.com/coreos/go-semver v0.2.0
|
||||
github.com/denisenkom/go-mssqldb v0.0.0-20200428022330-06a60b6afbbc
|
||||
github.com/dgrijalva/jwt-go v3.2.0+incompatible
|
||||
github.com/dnaeon/go-vcr v1.0.1 // indirect
|
||||
github.com/dsnet/compress v0.0.1 // indirect
|
||||
github.com/duosecurity/duo_api_golang v0.0.0-20190308151101-6c680f768e74
|
||||
github.com/elazarl/go-bindata-assetfs v1.0.1-0.20200509193318-234c15e7648f
|
||||
github.com/fatih/color v1.9.0
|
||||
@@ -43,13 +37,10 @@ require (
|
||||
github.com/ghodss/yaml v1.0.1-0.20190212211648-25d852aebe32
|
||||
github.com/go-errors/errors v1.0.1
|
||||
github.com/go-ldap/ldap/v3 v3.1.10
|
||||
github.com/go-ole/go-ole v1.2.1 // indirect
|
||||
github.com/go-sql-driver/mysql v1.5.0
|
||||
github.com/go-test/deep v1.0.2
|
||||
github.com/gocql/gocql v0.0.0-20190402132108-0e1d5de854df
|
||||
github.com/gogo/protobuf v1.3.1 // indirect
|
||||
github.com/golang/protobuf v1.4.2
|
||||
github.com/golang/snappy v0.0.1
|
||||
github.com/google/go-github v17.0.0+incompatible
|
||||
github.com/google/go-metrics-stackdriver v0.2.0
|
||||
github.com/hashicorp/consul-template v0.25.0
|
||||
@@ -58,18 +49,13 @@ require (
|
||||
github.com/hashicorp/go-bindata v3.0.8-0.20180209072458-bf7910af8997+incompatible
|
||||
github.com/hashicorp/go-cleanhttp v0.5.1
|
||||
github.com/hashicorp/go-gcp-common v0.6.0
|
||||
github.com/hashicorp/go-hclog v0.13.0
|
||||
github.com/hashicorp/go-immutable-radix v1.1.0
|
||||
github.com/hashicorp/go-kmip v0.0.0-20200521195242-bc3798d6b119
|
||||
github.com/hashicorp/go-hclog v0.14.1
|
||||
github.com/hashicorp/go-kms-wrapping v0.5.10
|
||||
github.com/hashicorp/go-kms-wrapping-enterprise v0.5.1
|
||||
github.com/hashicorp/go-kms-wrapping/entropy v0.1.0
|
||||
github.com/hashicorp/go-licensing v1.1.1
|
||||
github.com/hashicorp/go-memdb v1.0.2
|
||||
github.com/hashicorp/go-msgpack v0.5.5
|
||||
github.com/hashicorp/go-multierror v1.0.0
|
||||
github.com/hashicorp/go-multierror v1.1.0
|
||||
github.com/hashicorp/go-raftchunking v0.6.3-0.20191002164813-7e9e8525653a
|
||||
github.com/hashicorp/go-retryablehttp v0.6.3
|
||||
github.com/hashicorp/go-retryablehttp v0.6.6
|
||||
github.com/hashicorp/go-rootcerts v1.0.2
|
||||
github.com/hashicorp/go-sockaddr v1.0.2
|
||||
github.com/hashicorp/go-syslog v1.0.0
|
||||
@@ -79,31 +65,27 @@ require (
|
||||
github.com/hashicorp/nomad/api v0.0.0-20191220223628-edc62acd919d
|
||||
github.com/hashicorp/raft v1.1.3-0.20200501224250-c95aa91e604e
|
||||
github.com/hashicorp/raft-snapshot v1.0.2-0.20190827162939-8117efcc5aab
|
||||
github.com/hashicorp/sentinel v0.14.4
|
||||
github.com/hashicorp/sentinel-sdk v0.3.7
|
||||
github.com/hashicorp/vault-plugin-auth-alicloud v0.5.5
|
||||
github.com/hashicorp/vault-plugin-auth-azure v0.5.5
|
||||
github.com/hashicorp/vault-plugin-auth-azure v0.5.6-0.20200422235613-1b5c70f9ef68
|
||||
github.com/hashicorp/vault-plugin-auth-centrify v0.5.5
|
||||
github.com/hashicorp/vault-plugin-auth-cf v0.5.4
|
||||
github.com/hashicorp/vault-plugin-auth-gcp v0.6.1
|
||||
github.com/hashicorp/vault-plugin-auth-jwt v0.6.2
|
||||
github.com/hashicorp/vault-plugin-auth-kerberos v0.1.5
|
||||
github.com/hashicorp/vault-plugin-auth-kubernetes v0.6.1
|
||||
github.com/hashicorp/vault-plugin-auth-gcp v0.6.2-0.20200428223335-82bd3a3ad5b3
|
||||
github.com/hashicorp/vault-plugin-auth-jwt v0.7.0
|
||||
github.com/hashicorp/vault-plugin-auth-kerberos v0.1.6
|
||||
github.com/hashicorp/vault-plugin-auth-kubernetes v0.6.2
|
||||
github.com/hashicorp/vault-plugin-auth-oci v0.5.5
|
||||
github.com/hashicorp/vault-plugin-database-elasticsearch v0.5.4
|
||||
github.com/hashicorp/vault-plugin-database-mongodbatlas v0.1.0-beta1.0.20200521152755-9cf156a44f9c
|
||||
github.com/hashicorp/vault-plugin-database-mongodbatlas v0.1.2-0.20200520204052-f840e9d4895c
|
||||
github.com/hashicorp/vault-plugin-secrets-ad v0.6.6
|
||||
github.com/hashicorp/vault-plugin-secrets-alicloud v0.5.5
|
||||
github.com/hashicorp/vault-plugin-secrets-azure v0.5.6
|
||||
github.com/hashicorp/vault-plugin-secrets-azure v0.6.1
|
||||
github.com/hashicorp/vault-plugin-secrets-gcp v0.6.3-0.20200615210754-6c617f9285c3
|
||||
github.com/hashicorp/vault-plugin-secrets-gcpkms v0.5.5
|
||||
github.com/hashicorp/vault-plugin-secrets-kmip v0.1.3
|
||||
github.com/hashicorp/vault-plugin-secrets-kv v0.5.5
|
||||
github.com/hashicorp/vault-plugin-secrets-mongodbatlas v0.1.2
|
||||
github.com/hashicorp/vault-plugin-secrets-openldap v0.1.3
|
||||
github.com/hashicorp/vault-plugin-secrets-transform v0.1.3
|
||||
github.com/hashicorp/vault/api v1.0.5-0.20200619171258-e54ddc909815
|
||||
github.com/hashicorp/vault/sdk v0.1.14-0.20200615191832-d4b3c4b29c62
|
||||
github.com/hashicorp/vault-plugin-secrets-openldap v0.1.4-0.20200618161832-cae59ebde561
|
||||
github.com/hashicorp/vault/api v1.0.5-0.20200519221902-385fac77e20f
|
||||
github.com/hashicorp/vault/sdk v0.1.14-0.20200527182800-ad90e0b39d2f
|
||||
github.com/influxdata/influxdb v0.0.0-20190411212539-d24b7ba8c4c4
|
||||
github.com/jcmturner/gokrb5/v8 v8.0.0
|
||||
github.com/jefferai/isbadcipher v0.0.0-20190226160619-51d2077c035f
|
||||
@@ -111,8 +93,8 @@ require (
|
||||
github.com/joyent/triton-go v1.7.1-0.20200416154420-6801d15b779f
|
||||
github.com/keybase/go-crypto v0.0.0-20190403132359-d65b6b94177f
|
||||
github.com/kr/pretty v0.2.0
|
||||
github.com/kr/text v0.1.0
|
||||
github.com/lib/pq v1.3.0
|
||||
github.com/kr/text v0.2.0
|
||||
github.com/lib/pq v1.2.0
|
||||
github.com/mattn/go-colorable v0.1.6
|
||||
github.com/mholt/archiver v3.1.1+incompatible
|
||||
github.com/michaelklishin/rabbit-hole v0.0.0-20191008194146-93d9988f0cd5
|
||||
@@ -121,12 +103,11 @@ require (
|
||||
github.com/mitchellh/go-homedir v1.1.0
|
||||
github.com/mitchellh/go-testing-interface v1.0.0
|
||||
github.com/mitchellh/gox v1.0.1
|
||||
github.com/mitchellh/mapstructure v1.2.2
|
||||
github.com/mitchellh/mapstructure v1.3.2
|
||||
github.com/mitchellh/reflectwalk v1.0.1
|
||||
github.com/mongodb/go-client-mongodb-atlas v0.1.2
|
||||
github.com/natefinch/atomic v0.0.0-20150920032501-a62ce929ffcc
|
||||
github.com/ncw/swift v1.0.47
|
||||
github.com/nwaples/rardecode v1.0.0 // indirect
|
||||
github.com/oklog/run v1.0.0
|
||||
github.com/okta/okta-sdk-golang v1.0.1
|
||||
github.com/oracle/oci-go-sdk v12.5.0+incompatible
|
||||
@@ -138,30 +119,27 @@ require (
|
||||
github.com/pquerna/otp v1.2.1-0.20191009055518-468c2dd2b58d
|
||||
github.com/prometheus/client_golang v1.4.0
|
||||
github.com/prometheus/common v0.9.1
|
||||
github.com/rboyer/safeio v0.2.1
|
||||
github.com/ryanuber/columnize v2.1.0+incompatible
|
||||
github.com/ryanuber/go-glob v1.0.0
|
||||
github.com/samuel/go-zookeeper v0.0.0-20180130194729-c4fab1ac1bec
|
||||
github.com/sasha-s/go-deadlock v0.2.0
|
||||
github.com/shirou/gopsutil v2.19.9+incompatible
|
||||
github.com/shirou/w32 v0.0.0-20160930032740-bb4de0191aa4 // indirect
|
||||
github.com/stretchr/testify v1.5.1
|
||||
github.com/tidwall/pretty v1.0.0 // indirect
|
||||
github.com/xdg/scram v0.0.0-20180814205039-7eeb5667e42c // indirect
|
||||
github.com/xdg/stringprep v1.0.0 // indirect
|
||||
github.com/xi2/xz v0.0.0-20171230120015-48954b6210f8 // indirect
|
||||
go.etcd.io/bbolt v1.3.4
|
||||
go.etcd.io/etcd v0.5.0-alpha.5.0.20200425165423-262c93980547
|
||||
go.mongodb.org/mongo-driver v1.2.1
|
||||
go.uber.org/atomic v1.6.0
|
||||
golang.org/x/crypto v0.0.0-20200510223506-06a226fb4e37
|
||||
golang.org/x/net v0.0.0-20200519113804-d87ec0cfa476
|
||||
golang.org/x/crypto v0.0.0-20200604202706-70a84ac30bf9
|
||||
golang.org/x/net v0.0.0-20200602114024-627f9648deb9
|
||||
golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d
|
||||
golang.org/x/tools v0.0.0-20200513201620-d5fe73897c97
|
||||
golang.org/x/time v0.0.0-20200416051211-89c76fbcd5d1
|
||||
golang.org/x/tools v0.0.0-20200416214402-fc959738d646
|
||||
google.golang.org/api v0.24.0
|
||||
google.golang.org/grpc v1.29.1
|
||||
google.golang.org/protobuf v1.24.0
|
||||
gopkg.in/mgo.v2 v2.0.0-20180705113604-9856a29383ce
|
||||
gopkg.in/ory-am/dockertest.v3 v3.3.4
|
||||
gopkg.in/square/go-jose.v2 v2.4.1
|
||||
gopkg.in/square/go-jose.v2 v2.5.1
|
||||
layeh.com/radius v0.0.0-20190322222518-890bc1058917
|
||||
)
|
||||
|
||||
@@ -29,7 +29,6 @@ import (
|
||||
"github.com/hashicorp/vault/helper/monitor"
|
||||
"github.com/hashicorp/vault/helper/namespace"
|
||||
"github.com/hashicorp/vault/helper/random"
|
||||
"github.com/hashicorp/vault/physical/raft"
|
||||
"github.com/hashicorp/vault/sdk/framework"
|
||||
"github.com/hashicorp/vault/sdk/helper/consts"
|
||||
"github.com/hashicorp/vault/sdk/helper/jsonutil"
|
||||
@@ -41,7 +40,6 @@ import (
|
||||
)
|
||||
|
||||
const maxBytes = 128 * 1024
|
||||
const globalScope = "global"
|
||||
|
||||
func systemBackendMemDBSchema() *memdb.DBSchema {
|
||||
systemSchema := &memdb.DBSchema{
|
||||
@@ -114,11 +112,9 @@ func NewSystemBackend(core *Core, logger log.Logger) *SystemBackend {
|
||||
"replication/performance/status",
|
||||
"replication/dr/status",
|
||||
"replication/dr/secondary/promote",
|
||||
"replication/dr/secondary/disable",
|
||||
"replication/dr/secondary/update-primary",
|
||||
"replication/dr/secondary/operation-token/delete",
|
||||
"replication/dr/secondary/license",
|
||||
"replication/dr/secondary/recover",
|
||||
"replication/dr/secondary/reindex",
|
||||
"storage/raft/bootstrap/challenge",
|
||||
"storage/raft/bootstrap/answer",
|
||||
@@ -164,12 +160,13 @@ func NewSystemBackend(core *Core, logger log.Logger) *SystemBackend {
|
||||
b.Backend.Paths = append(b.Backend.Paths, b.metricsPath())
|
||||
b.Backend.Paths = append(b.Backend.Paths, b.monitorPath())
|
||||
b.Backend.Paths = append(b.Backend.Paths, b.hostInfoPath())
|
||||
b.Backend.Paths = append(b.Backend.Paths, b.quotasPaths()...)
|
||||
|
||||
if core.rawEnabled {
|
||||
b.Backend.Paths = append(b.Backend.Paths, b.rawPaths()...)
|
||||
}
|
||||
|
||||
if _, ok := core.underlyingPhysical.(*raft.RaftBackend); ok {
|
||||
if backend := core.getRaftBackend(); backend != nil {
|
||||
b.Backend.Paths = append(b.Backend.Paths, b.raftStoragePaths()...)
|
||||
}
|
||||
|
||||
@@ -437,11 +434,6 @@ func (b *SystemBackend) handlePluginCatalogDelete(ctx context.Context, req *logi
|
||||
func (b *SystemBackend) handlePluginReloadUpdate(ctx context.Context, req *logical.Request, d *framework.FieldData) (*logical.Response, error) {
|
||||
pluginName := d.Get("plugin").(string)
|
||||
pluginMounts := d.Get("mounts").([]string)
|
||||
scope := d.Get("scope").(string)
|
||||
|
||||
if scope != "" && scope != globalScope {
|
||||
return logical.ErrorResponse("reload scope must be omitted or 'global'"), nil
|
||||
}
|
||||
|
||||
if pluginName != "" && len(pluginMounts) > 0 {
|
||||
return logical.ErrorResponse("plugin and mounts cannot be set at the same time"), nil
|
||||
@@ -460,24 +452,9 @@ func (b *SystemBackend) handlePluginReloadUpdate(ctx context.Context, req *logic
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
} else {
|
||||
return nil, nil
|
||||
}
|
||||
|
||||
r := logical.Response{
|
||||
Data: map[string]interface{}{
|
||||
"reload_id": req.ID,
|
||||
},
|
||||
}
|
||||
|
||||
if scope == globalScope {
|
||||
err := handleGlobalPluginReload(ctx, b.Core, req.ID, pluginName, pluginMounts)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return logical.RespondWithStatusCode(&r, req, http.StatusAccepted)
|
||||
}
|
||||
return &r, nil
|
||||
return nil, nil
|
||||
}
|
||||
|
||||
// handleAuditedHeaderUpdate creates or overwrites a header entry
|
||||
@@ -693,7 +670,6 @@ func mountInfo(entry *MountEntry) map[string]interface{} {
|
||||
"external_entropy_access": entry.ExternalEntropyAccess,
|
||||
"options": entry.Options,
|
||||
"uuid": entry.UUID,
|
||||
"started_time": entry.StartedTime,
|
||||
}
|
||||
entryConfig := map[string]interface{}{
|
||||
"default_lease_ttl": int64(entry.Config.DefaultLeaseTTL.Seconds()),
|
||||
@@ -776,7 +752,7 @@ func (b *SystemBackend) handleMount(ctx context.Context, req *logical.Request, d
|
||||
|
||||
// Get all the options
|
||||
path := data.Get("path").(string)
|
||||
path = sanitizeMountPath(path)
|
||||
path = sanitizePath(path)
|
||||
|
||||
logicalType := data.Get("type").(string)
|
||||
description := data.Get("description").(string)
|
||||
@@ -959,7 +935,7 @@ func handleErrorNoReadOnlyForward(
|
||||
// handleUnmount is used to unmount a path
|
||||
func (b *SystemBackend) handleUnmount(ctx context.Context, req *logical.Request, data *framework.FieldData) (*logical.Response, error) {
|
||||
path := data.Get("path").(string)
|
||||
path = sanitizeMountPath(path)
|
||||
path = sanitizePath(path)
|
||||
|
||||
ns, err := namespace.FromContext(ctx)
|
||||
if err != nil {
|
||||
@@ -1054,6 +1030,12 @@ func (b *SystemBackend) handleRemount(ctx context.Context, req *logical.Request,
|
||||
return handleError(err)
|
||||
}
|
||||
|
||||
// Update quotas with the new path
|
||||
if err := b.Core.quotaManager.HandleRemount(ctx, ns.Path, sanitizePath(fromPath), sanitizePath(toPath)); err != nil {
|
||||
b.Core.logger.Error("failed to update quotas after remount", "ns_path", ns.Path, "from_path", fromPath, "to_path", toPath, "error", err)
|
||||
return handleError(err)
|
||||
}
|
||||
|
||||
return nil, nil
|
||||
}
|
||||
|
||||
@@ -1085,7 +1067,7 @@ func (b *SystemBackend) handleMountTuneRead(ctx context.Context, req *logical.Re
|
||||
|
||||
// handleTuneReadCommon returns the config settings of a path
|
||||
func (b *SystemBackend) handleTuneReadCommon(ctx context.Context, path string) (*logical.Response, error) {
|
||||
path = sanitizeMountPath(path)
|
||||
path = sanitizePath(path)
|
||||
|
||||
sysView := b.Core.router.MatchingSystemView(ctx, path)
|
||||
if sysView == nil {
|
||||
@@ -1171,7 +1153,7 @@ func (b *SystemBackend) handleMountTuneWrite(ctx context.Context, req *logical.R
|
||||
func (b *SystemBackend) handleTuneWriteCommon(ctx context.Context, path string, data *framework.FieldData) (*logical.Response, error) {
|
||||
repState := b.Core.ReplicationState()
|
||||
|
||||
path = sanitizeMountPath(path)
|
||||
path = sanitizePath(path)
|
||||
|
||||
// Prevent protected paths from being changed
|
||||
for _, p := range untunableMounts {
|
||||
@@ -1741,7 +1723,7 @@ func (b *SystemBackend) handleEnableAuth(ctx context.Context, req *logical.Reque
|
||||
|
||||
// Get all the options
|
||||
path := data.Get("path").(string)
|
||||
path = sanitizeMountPath(path)
|
||||
path = sanitizePath(path)
|
||||
logicalType := data.Get("type").(string)
|
||||
description := data.Get("description").(string)
|
||||
pluginName := data.Get("plugin_name").(string)
|
||||
@@ -1882,7 +1864,7 @@ func (b *SystemBackend) handleEnableAuth(ctx context.Context, req *logical.Reque
|
||||
// handleDisableAuth is used to disable a credential backend
|
||||
func (b *SystemBackend) handleDisableAuth(ctx context.Context, req *logical.Request, data *framework.FieldData) (*logical.Response, error) {
|
||||
path := data.Get("path").(string)
|
||||
path = sanitizeMountPath(path)
|
||||
path = sanitizePath(path)
|
||||
|
||||
ns, err := namespace.FromContext(ctx)
|
||||
if err != nil {
|
||||
@@ -2297,7 +2279,7 @@ func (b *SystemBackend) handleAuditHash(ctx context.Context, req *logical.Reques
|
||||
return logical.ErrorResponse("the \"input\" parameter is empty"), nil
|
||||
}
|
||||
|
||||
path = sanitizeMountPath(path)
|
||||
path = sanitizePath(path)
|
||||
|
||||
hash, err := b.Core.auditBroker.GetHash(ctx, path, input)
|
||||
if err != nil {
|
||||
@@ -3240,8 +3222,7 @@ func (b *SystemBackend) pathInternalUIMountsRead(ctx context.Context, req *logic
|
||||
|
||||
b.Core.mountsLock.RLock()
|
||||
for _, entry := range b.Core.mounts.Entries {
|
||||
ctxWithNamespace := namespace.ContextWithNamespace(ctx, entry.Namespace())
|
||||
filtered, err := b.Core.checkReplicatedFiltering(ctxWithNamespace, entry, "")
|
||||
filtered, err := b.Core.checkReplicatedFiltering(ctx, entry, "")
|
||||
if err != nil {
|
||||
b.Core.mountsLock.RUnlock()
|
||||
return nil, err
|
||||
@@ -3267,8 +3248,7 @@ func (b *SystemBackend) pathInternalUIMountsRead(ctx context.Context, req *logic
|
||||
|
||||
b.Core.authLock.RLock()
|
||||
for _, entry := range b.Core.auth.Entries {
|
||||
ctxWithNamespace := namespace.ContextWithNamespace(ctx, entry.Namespace())
|
||||
filtered, err := b.Core.checkReplicatedFiltering(ctxWithNamespace, entry, credentialRoutePrefix)
|
||||
filtered, err := b.Core.checkReplicatedFiltering(ctx, entry, credentialRoutePrefix)
|
||||
if err != nil {
|
||||
b.Core.authLock.RUnlock()
|
||||
return nil, err
|
||||
@@ -3300,7 +3280,7 @@ func (b *SystemBackend) pathInternalUIMountRead(ctx context.Context, req *logica
|
||||
if path == "" {
|
||||
return logical.ErrorResponse("path not set"), logical.ErrInvalidRequest
|
||||
}
|
||||
path = sanitizeMountPath(path)
|
||||
path = sanitizePath(path)
|
||||
|
||||
errResp := logical.ErrorResponse(fmt.Sprintf("preflight capability check returned 403, please ensure client's policies grant access to path %q", path))
|
||||
|
||||
@@ -3618,7 +3598,7 @@ func (b *SystemBackend) pathInternalOpenAPI(ctx context.Context, req *logical.Re
|
||||
return resp, nil
|
||||
}
|
||||
|
||||
func sanitizeMountPath(path string) string {
|
||||
func sanitizePath(path string) string {
|
||||
if !strings.HasSuffix(path, "/") {
|
||||
path += "/"
|
||||
}
|
||||
@@ -4287,14 +4267,6 @@ This path responds to the following HTTP methods.
|
||||
`The mount paths of the plugin backends to reload.`,
|
||||
"",
|
||||
},
|
||||
"plugin-backend-reload-scope": {
|
||||
`The scope of the plugin reload, either omitted or 'global'`,
|
||||
"",
|
||||
},
|
||||
"plugin-reload-backend-status": {
|
||||
`Retrieve the status of a global plugin reload`,
|
||||
"",
|
||||
},
|
||||
"hash": {
|
||||
"Generate a hash sum for input data",
|
||||
"Generates a hash sum of the given algorithm against the given input data.",
|
||||
|
||||
@@ -84,12 +84,6 @@ var (
|
||||
},
|
||||
}
|
||||
}
|
||||
handleGlobalPluginReload = func(context.Context, *Core, string, string, []string) error {
|
||||
return nil
|
||||
}
|
||||
handleSetupPluginReload = func(*Core) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
checkRaw = func(b *SystemBackend, path string) error { return nil }
|
||||
)
|
||||
|
||||
@@ -2,9 +2,6 @@ package vault_test
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"github.com/hashicorp/vault/helper/testhelpers"
|
||||
"github.com/hashicorp/vault/helper/testhelpers/teststorage"
|
||||
"github.com/hashicorp/vault/sdk/helper/logging"
|
||||
"io/ioutil"
|
||||
"os"
|
||||
"path/filepath"
|
||||
@@ -444,18 +441,6 @@ func TestSystemBackend_Plugin_reload(t *testing.T) {
|
||||
t.Run("mounts", func(t *testing.T) { testSystemBackend_PluginReload(t, data) })
|
||||
}
|
||||
|
||||
func TestSystemBackend_Plugin_reload(t *testing.T) {
|
||||
data := map[string]interface{}{
|
||||
"plugin": "mock-plugin",
|
||||
}
|
||||
t.Run("plugin", func(t *testing.T) { testSystemBackend_PluginReload(t, data) })
|
||||
|
||||
data = map[string]interface{}{
|
||||
"mounts": "mock-0/,mock-1/",
|
||||
}
|
||||
t.Run("mounts", func(t *testing.T) { testSystemBackend_PluginReload(t, data) })
|
||||
}
|
||||
|
||||
// Helper func to test different reload methods on plugin reload endpoint
|
||||
func testSystemBackend_PluginReload(t *testing.T, reqData map[string]interface{}) {
|
||||
cluster := testSystemBackendMock(t, 1, 2, logical.TypeLogical)
|
||||
|
||||
@@ -708,17 +708,13 @@ func (b *SystemBackend) pluginsReloadPath() *framework.Path {
|
||||
Type: framework.TypeCommaStringSlice,
|
||||
Description: strings.TrimSpace(sysHelp["plugin-backend-reload-mounts"][0]),
|
||||
},
|
||||
"scope": &framework.FieldSchema{
|
||||
Type: framework.TypeString,
|
||||
Description: strings.TrimSpace(sysHelp["plugin-backend-reload-scope"][0]),
|
||||
},
|
||||
},
|
||||
|
||||
Operations: map[logical.Operation]framework.OperationHandler{
|
||||
logical.UpdateOperation: &framework.PathOperation{
|
||||
Callback: b.handlePluginReloadUpdate,
|
||||
Summary: "Reload mounted plugin backends.",
|
||||
Description: "Either the plugin name (`plugin`) or the desired plugin backend mounts (`mounts`) must be provided, but not both. In the case that the plugin name is provided, all mounted paths that use that plugin backend will be reloaded. If (`scope`) is provided and is (`global`), the plugin(s) are reloaded globally.",
|
||||
Description: "Either the plugin name (`plugin`) or the desired plugin backend mounts (`mounts`) must be provided, but not both. In the case that the plugin name is provided, all mounted paths that use that plugin backend will be reloaded.",
|
||||
},
|
||||
},
|
||||
|
||||
|
||||
@@ -7,14 +7,15 @@ import (
|
||||
"errors"
|
||||
"strings"
|
||||
|
||||
"github.com/hashicorp/vault/sdk/framework"
|
||||
"github.com/hashicorp/vault/sdk/logical"
|
||||
"github.com/hashicorp/vault/sdk/physical"
|
||||
|
||||
proto "github.com/golang/protobuf/proto"
|
||||
wrapping "github.com/hashicorp/go-kms-wrapping"
|
||||
uuid "github.com/hashicorp/go-uuid"
|
||||
"github.com/hashicorp/vault/helper/namespace"
|
||||
"github.com/hashicorp/vault/physical/raft"
|
||||
"github.com/hashicorp/vault/sdk/framework"
|
||||
"github.com/hashicorp/vault/sdk/logical"
|
||||
"github.com/hashicorp/vault/sdk/physical"
|
||||
)
|
||||
|
||||
// raftStoragePaths returns paths for use when raft is the storage mechanism.
|
||||
@@ -132,13 +133,12 @@ func (b *SystemBackend) raftStoragePaths() []*framework.Path {
|
||||
|
||||
func (b *SystemBackend) handleRaftConfigurationGet() framework.OperationFunc {
|
||||
return func(ctx context.Context, req *logical.Request, d *framework.FieldData) (*logical.Response, error) {
|
||||
|
||||
raftStorage, ok := b.Core.underlyingPhysical.(*raft.RaftBackend)
|
||||
if !ok {
|
||||
raftBackend := b.Core.getRaftBackend()
|
||||
if raftBackend == nil {
|
||||
return logical.ErrorResponse("raft storage is not in use"), logical.ErrInvalidRequest
|
||||
}
|
||||
|
||||
config, err := raftStorage.GetConfiguration(ctx)
|
||||
config, err := raftBackend.GetConfiguration(ctx)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@@ -158,12 +158,12 @@ func (b *SystemBackend) handleRaftRemovePeerUpdate() framework.OperationFunc {
|
||||
return logical.ErrorResponse("no server id provided"), logical.ErrInvalidRequest
|
||||
}
|
||||
|
||||
raftStorage, ok := b.Core.underlyingPhysical.(*raft.RaftBackend)
|
||||
if !ok {
|
||||
raftBackend := b.Core.getRaftBackend()
|
||||
if raftBackend == nil {
|
||||
return logical.ErrorResponse("raft storage is not in use"), logical.ErrInvalidRequest
|
||||
}
|
||||
|
||||
if err := raftStorage.RemovePeer(ctx, serverID); err != nil {
|
||||
if err := raftBackend.RemovePeer(ctx, serverID); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if b.Core.raftFollowerStates != nil {
|
||||
@@ -221,8 +221,8 @@ func (b *SystemBackend) handleRaftBootstrapChallengeWrite() framework.OperationF
|
||||
|
||||
func (b *SystemBackend) handleRaftBootstrapAnswerWrite() framework.OperationFunc {
|
||||
return func(ctx context.Context, req *logical.Request, d *framework.FieldData) (*logical.Response, error) {
|
||||
raftStorage, ok := b.Core.underlyingPhysical.(*raft.RaftBackend)
|
||||
if !ok {
|
||||
raftBackend := b.Core.getRaftBackend()
|
||||
if raftBackend == nil {
|
||||
return logical.ErrorResponse("raft storage is not in use"), logical.ErrInvalidRequest
|
||||
}
|
||||
|
||||
@@ -271,9 +271,9 @@ func (b *SystemBackend) handleRaftBootstrapAnswerWrite() framework.OperationFunc
|
||||
|
||||
switch nonVoter {
|
||||
case true:
|
||||
err = raftStorage.AddNonVotingPeer(ctx, serverID, clusterAddr)
|
||||
err = raftBackend.AddNonVotingPeer(ctx, serverID, clusterAddr)
|
||||
default:
|
||||
err = raftStorage.AddPeer(ctx, serverID, clusterAddr)
|
||||
err = raftBackend.AddPeer(ctx, serverID, clusterAddr)
|
||||
}
|
||||
if err != nil {
|
||||
return nil, err
|
||||
@@ -283,7 +283,7 @@ func (b *SystemBackend) handleRaftBootstrapAnswerWrite() framework.OperationFunc
|
||||
b.Core.raftFollowerStates.update(serverID, 0)
|
||||
}
|
||||
|
||||
peers, err := raftStorage.Peers(ctx)
|
||||
peers, err := raftBackend.Peers(ctx)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
@@ -2654,7 +2654,7 @@ func TestSystemBackend_PathWildcardPreflight(t *testing.T) {
|
||||
// Add another mount
|
||||
me := &MountEntry{
|
||||
Table: mountTableType,
|
||||
Path: sanitizeMountPath("kv-v1"),
|
||||
Path: sanitizePath("kv-v1"),
|
||||
Type: "kv",
|
||||
Options: map[string]string{"version": "1"},
|
||||
}
|
||||
|
||||
@@ -4,7 +4,6 @@ import (
|
||||
"context"
|
||||
"fmt"
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"github.com/hashicorp/vault/helper/namespace"
|
||||
|
||||
@@ -16,7 +15,7 @@ import (
|
||||
|
||||
// reloadPluginMounts reloads provided mounts, regardless of
|
||||
// plugin name, as long as the backend type is plugin.
|
||||
func (c *Core) reloadMatchingPluginMounts(ctx context.Context, mounts []string, reloadTime time.Time) error {
|
||||
func (c *Core) reloadMatchingPluginMounts(ctx context.Context, mounts []string) error {
|
||||
c.mountsLock.RLock()
|
||||
defer c.mountsLock.RUnlock()
|
||||
c.authLock.RLock()
|
||||
@@ -35,10 +34,6 @@ func (c *Core) reloadMatchingPluginMounts(ctx context.Context, mounts []string,
|
||||
continue
|
||||
}
|
||||
|
||||
if entry.StartedTime.After(reloadTime) {
|
||||
continue
|
||||
}
|
||||
|
||||
var isAuth bool
|
||||
fullPath := c.router.MatchingMount(ctx, mount)
|
||||
if strings.HasPrefix(fullPath, credentialRoutePrefix) {
|
||||
@@ -63,7 +58,7 @@ func (c *Core) reloadMatchingPluginMounts(ctx context.Context, mounts []string,
|
||||
// reloadPlugin reloads all mounted backends that are of
|
||||
// plugin pluginName (name of the plugin as registered in
|
||||
// the plugin catalog).
|
||||
func (c *Core) reloadMatchingPlugin(ctx context.Context, pluginName string, reloadTime time.Time) error {
|
||||
func (c *Core) reloadMatchingPlugin(ctx context.Context, pluginName string) error {
|
||||
c.mountsLock.RLock()
|
||||
defer c.mountsLock.RUnlock()
|
||||
c.authLock.RLock()
|
||||
@@ -80,7 +75,7 @@ func (c *Core) reloadMatchingPlugin(ctx context.Context, pluginName string, relo
|
||||
if ns.ID != entry.Namespace().ID {
|
||||
continue
|
||||
}
|
||||
if entry.Type == pluginName || (entry.Type == "plugin" && entry.Config.PluginName == pluginName) && reloadTime.After(entry.StartedTime) {
|
||||
if entry.Type == pluginName || (entry.Type == "plugin" && entry.Config.PluginName == pluginName) {
|
||||
err := c.reloadBackendCommon(ctx, entry, false)
|
||||
if err != nil {
|
||||
return err
|
||||
@@ -200,7 +195,3 @@ func (c *Core) reloadBackendCommon(ctx context.Context, entry *MountEntry, isAut
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (c *Core) setupPluginReload() error {
|
||||
return handleSetupPluginReload(c.systemBackend)
|
||||
}
|
||||
|
||||
@@ -8,7 +8,6 @@ import (
|
||||
"time"
|
||||
|
||||
"github.com/hashicorp/vault/helper/forwarding"
|
||||
"github.com/hashicorp/vault/physical/raft"
|
||||
"github.com/hashicorp/vault/sdk/helper/consts"
|
||||
"github.com/hashicorp/vault/vault/replication"
|
||||
)
|
||||
@@ -82,9 +81,11 @@ func (s *forwardedRequestRPCServer) Echo(ctx context.Context, in *EchoRequest) (
|
||||
ReplicationState: uint32(s.core.ReplicationState()),
|
||||
}
|
||||
|
||||
if raftStorage, ok := s.core.underlyingPhysical.(*raft.RaftBackend); ok {
|
||||
reply.RaftAppliedIndex = raftStorage.AppliedIndex()
|
||||
reply.RaftNodeID = raftStorage.NodeID()
|
||||
if raftBackend := s.core.getRaftBackend(); raftBackend != nil {
|
||||
if !s.core.isRaftHAOnly() {
|
||||
reply.RaftAppliedIndex = raftBackend.AppliedIndex()
|
||||
reply.RaftNodeID = raftBackend.NodeID()
|
||||
}
|
||||
}
|
||||
|
||||
return reply, nil
|
||||
@@ -111,9 +112,11 @@ func (c *forwardingClient) startHeartbeat() {
|
||||
ClusterAddr: clusterAddr,
|
||||
}
|
||||
|
||||
if raftStorage, ok := c.core.underlyingPhysical.(*raft.RaftBackend); ok {
|
||||
req.RaftAppliedIndex = raftStorage.AppliedIndex()
|
||||
req.RaftNodeID = raftStorage.NodeID()
|
||||
if raftBackend := c.core.getRaftBackend(); raftBackend != nil {
|
||||
if !c.core.isRaftHAOnly() {
|
||||
req.RaftAppliedIndex = raftBackend.AppliedIndex()
|
||||
req.RaftNodeID = raftBackend.NodeID()
|
||||
}
|
||||
}
|
||||
|
||||
ctx, cancel := context.WithTimeout(c.echoContext, 2*time.Second)
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
// Code generated by protoc-gen-go. DO NOT EDIT.
|
||||
// versions:
|
||||
// protoc-gen-go v1.24.0
|
||||
// protoc v3.6.1
|
||||
// protoc-gen-go v1.22.0
|
||||
// protoc v3.11.4
|
||||
// source: vault/request_forwarding_service.proto
|
||||
|
||||
package vault
|
||||
@@ -41,10 +41,9 @@ type EchoRequest struct {
|
||||
ClusterAddr string `protobuf:"bytes,2,opt,name=cluster_addr,json=clusterAddr,proto3" json:"cluster_addr,omitempty"`
|
||||
// ClusterAddrs is used to send up a list of cluster addresses to a dr
|
||||
// primary from a dr secondary
|
||||
ClusterAddrs []string `protobuf:"bytes,3,rep,name=cluster_addrs,json=clusterAddrs,proto3" json:"cluster_addrs,omitempty"`
|
||||
RaftAppliedIndex uint64 `protobuf:"varint,4,opt,name=raft_applied_index,json=raftAppliedIndex,proto3" json:"raft_applied_index,omitempty"`
|
||||
RaftNodeID string `protobuf:"bytes,5,opt,name=raft_node_id,json=raftNodeId,proto3" json:"raft_node_id,omitempty"`
|
||||
NodeInfo *NodeInformation `protobuf:"bytes,6,opt,name=node_info,json=nodeInfo,proto3" json:"node_info,omitempty"`
|
||||
ClusterAddrs []string `protobuf:"bytes,3,rep,name=cluster_addrs,json=clusterAddrs,proto3" json:"cluster_addrs,omitempty"`
|
||||
RaftAppliedIndex uint64 `protobuf:"varint,4,opt,name=raft_applied_index,json=raftAppliedIndex,proto3" json:"raft_applied_index,omitempty"`
|
||||
RaftNodeID string `protobuf:"bytes,5,opt,name=raft_node_id,json=raftNodeId,proto3" json:"raft_node_id,omitempty"`
|
||||
}
|
||||
|
||||
func (x *EchoRequest) Reset() {
|
||||
@@ -114,24 +113,16 @@ func (x *EchoRequest) GetRaftNodeID() string {
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *EchoRequest) GetNodeInfo() *NodeInformation {
|
||||
if x != nil {
|
||||
return x.NodeInfo
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
type EchoReply struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
Message string `protobuf:"bytes,1,opt,name=message,proto3" json:"message,omitempty"`
|
||||
ClusterAddrs []string `protobuf:"bytes,2,rep,name=cluster_addrs,json=clusterAddrs,proto3" json:"cluster_addrs,omitempty"`
|
||||
ReplicationState uint32 `protobuf:"varint,3,opt,name=replication_state,json=replicationState,proto3" json:"replication_state,omitempty"`
|
||||
RaftAppliedIndex uint64 `protobuf:"varint,4,opt,name=raft_applied_index,json=raftAppliedIndex,proto3" json:"raft_applied_index,omitempty"`
|
||||
RaftNodeID string `protobuf:"bytes,5,opt,name=raft_node_id,json=raftNodeId,proto3" json:"raft_node_id,omitempty"`
|
||||
NodeInfo *NodeInformation `protobuf:"bytes,6,opt,name=node_info,json=nodeInfo,proto3" json:"node_info,omitempty"`
|
||||
Message string `protobuf:"bytes,1,opt,name=message,proto3" json:"message,omitempty"`
|
||||
ClusterAddrs []string `protobuf:"bytes,2,rep,name=cluster_addrs,json=clusterAddrs,proto3" json:"cluster_addrs,omitempty"`
|
||||
ReplicationState uint32 `protobuf:"varint,3,opt,name=replication_state,json=replicationState,proto3" json:"replication_state,omitempty"`
|
||||
RaftAppliedIndex uint64 `protobuf:"varint,4,opt,name=raft_applied_index,json=raftAppliedIndex,proto3" json:"raft_applied_index,omitempty"`
|
||||
RaftNodeID string `protobuf:"bytes,5,opt,name=raft_node_id,json=raftNodeId,proto3" json:"raft_node_id,omitempty"`
|
||||
}
|
||||
|
||||
func (x *EchoReply) Reset() {
|
||||
@@ -201,92 +192,6 @@ func (x *EchoReply) GetRaftNodeID() string {
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *EchoReply) GetNodeInfo() *NodeInformation {
|
||||
if x != nil {
|
||||
return x.NodeInfo
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
type NodeInformation struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
unknownFields protoimpl.UnknownFields
|
||||
|
||||
ClusterAddr string `protobuf:"bytes,1,opt,name=cluster_addr,json=clusterAddr,proto3" json:"cluster_addr,omitempty"`
|
||||
ApiAddr string `protobuf:"bytes,2,opt,name=api_addr,json=apiAddr,proto3" json:"api_addr,omitempty"`
|
||||
Mode string `protobuf:"bytes,3,opt,name=mode,proto3" json:"mode,omitempty"`
|
||||
NodeID string `protobuf:"bytes,4,opt,name=node_id,json=nodeId,proto3" json:"node_id,omitempty"`
|
||||
ReplicationState uint32 `protobuf:"varint,5,opt,name=replication_state,json=replicationState,proto3" json:"replication_state,omitempty"`
|
||||
}
|
||||
|
||||
func (x *NodeInformation) Reset() {
|
||||
*x = NodeInformation{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_vault_request_forwarding_service_proto_msgTypes[2]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
}
|
||||
|
||||
func (x *NodeInformation) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*NodeInformation) ProtoMessage() {}
|
||||
|
||||
func (x *NodeInformation) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_vault_request_forwarding_service_proto_msgTypes[2]
|
||||
if protoimpl.UnsafeEnabled && x != nil {
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
if ms.LoadMessageInfo() == nil {
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
return ms
|
||||
}
|
||||
return mi.MessageOf(x)
|
||||
}
|
||||
|
||||
// Deprecated: Use NodeInformation.ProtoReflect.Descriptor instead.
|
||||
func (*NodeInformation) Descriptor() ([]byte, []int) {
|
||||
return file_vault_request_forwarding_service_proto_rawDescGZIP(), []int{2}
|
||||
}
|
||||
|
||||
func (x *NodeInformation) GetClusterAddr() string {
|
||||
if x != nil {
|
||||
return x.ClusterAddr
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *NodeInformation) GetApiAddr() string {
|
||||
if x != nil {
|
||||
return x.ApiAddr
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *NodeInformation) GetMode() string {
|
||||
if x != nil {
|
||||
return x.Mode
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *NodeInformation) GetNodeID() string {
|
||||
if x != nil {
|
||||
return x.NodeID
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *NodeInformation) GetReplicationState() uint32 {
|
||||
if x != nil {
|
||||
return x.ReplicationState
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
type ClientKey struct {
|
||||
state protoimpl.MessageState
|
||||
sizeCache protoimpl.SizeCache
|
||||
@@ -301,7 +206,7 @@ type ClientKey struct {
|
||||
func (x *ClientKey) Reset() {
|
||||
*x = ClientKey{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_vault_request_forwarding_service_proto_msgTypes[3]
|
||||
mi := &file_vault_request_forwarding_service_proto_msgTypes[2]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
@@ -314,7 +219,7 @@ func (x *ClientKey) String() string {
|
||||
func (*ClientKey) ProtoMessage() {}
|
||||
|
||||
func (x *ClientKey) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_vault_request_forwarding_service_proto_msgTypes[3]
|
||||
mi := &file_vault_request_forwarding_service_proto_msgTypes[2]
|
||||
if protoimpl.UnsafeEnabled && x != nil {
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
if ms.LoadMessageInfo() == nil {
|
||||
@@ -327,7 +232,7 @@ func (x *ClientKey) ProtoReflect() protoreflect.Message {
|
||||
|
||||
// Deprecated: Use ClientKey.ProtoReflect.Descriptor instead.
|
||||
func (*ClientKey) Descriptor() ([]byte, []int) {
|
||||
return file_vault_request_forwarding_service_proto_rawDescGZIP(), []int{3}
|
||||
return file_vault_request_forwarding_service_proto_rawDescGZIP(), []int{2}
|
||||
}
|
||||
|
||||
func (x *ClientKey) GetType() string {
|
||||
@@ -367,7 +272,7 @@ type PerfStandbyElectionInput struct {
|
||||
func (x *PerfStandbyElectionInput) Reset() {
|
||||
*x = PerfStandbyElectionInput{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_vault_request_forwarding_service_proto_msgTypes[4]
|
||||
mi := &file_vault_request_forwarding_service_proto_msgTypes[3]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
@@ -380,7 +285,7 @@ func (x *PerfStandbyElectionInput) String() string {
|
||||
func (*PerfStandbyElectionInput) ProtoMessage() {}
|
||||
|
||||
func (x *PerfStandbyElectionInput) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_vault_request_forwarding_service_proto_msgTypes[4]
|
||||
mi := &file_vault_request_forwarding_service_proto_msgTypes[3]
|
||||
if protoimpl.UnsafeEnabled && x != nil {
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
if ms.LoadMessageInfo() == nil {
|
||||
@@ -393,7 +298,7 @@ func (x *PerfStandbyElectionInput) ProtoReflect() protoreflect.Message {
|
||||
|
||||
// Deprecated: Use PerfStandbyElectionInput.ProtoReflect.Descriptor instead.
|
||||
func (*PerfStandbyElectionInput) Descriptor() ([]byte, []int) {
|
||||
return file_vault_request_forwarding_service_proto_rawDescGZIP(), []int{4}
|
||||
return file_vault_request_forwarding_service_proto_rawDescGZIP(), []int{3}
|
||||
}
|
||||
|
||||
type PerfStandbyElectionResponse struct {
|
||||
@@ -412,7 +317,7 @@ type PerfStandbyElectionResponse struct {
|
||||
func (x *PerfStandbyElectionResponse) Reset() {
|
||||
*x = PerfStandbyElectionResponse{}
|
||||
if protoimpl.UnsafeEnabled {
|
||||
mi := &file_vault_request_forwarding_service_proto_msgTypes[5]
|
||||
mi := &file_vault_request_forwarding_service_proto_msgTypes[4]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
@@ -425,7 +330,7 @@ func (x *PerfStandbyElectionResponse) String() string {
|
||||
func (*PerfStandbyElectionResponse) ProtoMessage() {}
|
||||
|
||||
func (x *PerfStandbyElectionResponse) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_vault_request_forwarding_service_proto_msgTypes[5]
|
||||
mi := &file_vault_request_forwarding_service_proto_msgTypes[4]
|
||||
if protoimpl.UnsafeEnabled && x != nil {
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
if ms.LoadMessageInfo() == nil {
|
||||
@@ -438,7 +343,7 @@ func (x *PerfStandbyElectionResponse) ProtoReflect() protoreflect.Message {
|
||||
|
||||
// Deprecated: Use PerfStandbyElectionResponse.ProtoReflect.Descriptor instead.
|
||||
func (*PerfStandbyElectionResponse) Descriptor() ([]byte, []int) {
|
||||
return file_vault_request_forwarding_service_proto_rawDescGZIP(), []int{5}
|
||||
return file_vault_request_forwarding_service_proto_rawDescGZIP(), []int{4}
|
||||
}
|
||||
|
||||
func (x *PerfStandbyElectionResponse) GetID() string {
|
||||
@@ -490,7 +395,7 @@ var file_vault_request_forwarding_service_proto_rawDesc = []byte{
|
||||
0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69,
|
||||
0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x76, 0x61, 0x75, 0x6c, 0x74, 0x1a,
|
||||
0x1d, 0x68, 0x65, 0x6c, 0x70, 0x65, 0x72, 0x2f, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69,
|
||||
0x6e, 0x67, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xf4,
|
||||
0x6e, 0x67, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xbf,
|
||||
0x01, 0x0a, 0x0b, 0x45, 0x63, 0x68, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18,
|
||||
0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
|
||||
0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6c, 0x75, 0x73,
|
||||
@@ -503,76 +408,58 @@ var file_vault_request_forwarding_service_proto_rawDesc = []byte{
|
||||
0x66, 0x74, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x64, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x20,
|
||||
0x0a, 0x0c, 0x72, 0x61, 0x66, 0x74, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x05,
|
||||
0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x61, 0x66, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x64,
|
||||
0x12, 0x33, 0x0a, 0x09, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x06, 0x20,
|
||||
0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x76, 0x61, 0x75, 0x6c, 0x74, 0x2e, 0x4e, 0x6f, 0x64, 0x65,
|
||||
0x49, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x08, 0x6e, 0x6f, 0x64,
|
||||
0x65, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0xfc, 0x01, 0x0a, 0x09, 0x45, 0x63, 0x68, 0x6f, 0x52, 0x65,
|
||||
0x70, 0x6c, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x01,
|
||||
0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x23, 0x0a,
|
||||
0x0d, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x73, 0x18, 0x02,
|
||||
0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x41, 0x64, 0x64,
|
||||
0x72, 0x73, 0x12, 0x2b, 0x0a, 0x11, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f,
|
||||
0x6e, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x72,
|
||||
0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12,
|
||||
0x2c, 0x0a, 0x12, 0x72, 0x61, 0x66, 0x74, 0x5f, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x64, 0x5f,
|
||||
0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x10, 0x72, 0x61, 0x66,
|
||||
0x74, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x64, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x20, 0x0a,
|
||||
0x0c, 0x72, 0x61, 0x66, 0x74, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20,
|
||||
0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x61, 0x66, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x12,
|
||||
0x33, 0x0a, 0x09, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x06, 0x20, 0x01,
|
||||
0x28, 0x0b, 0x32, 0x16, 0x2e, 0x76, 0x61, 0x75, 0x6c, 0x74, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x49,
|
||||
0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x08, 0x6e, 0x6f, 0x64, 0x65,
|
||||
0x49, 0x6e, 0x66, 0x6f, 0x22, 0xa9, 0x01, 0x0a, 0x0f, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x66,
|
||||
0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6c, 0x75, 0x73,
|
||||
0x74, 0x65, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b,
|
||||
0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x41, 0x64, 0x64, 0x72, 0x12, 0x19, 0x0a, 0x08, 0x61,
|
||||
0x70, 0x69, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61,
|
||||
0x70, 0x69, 0x41, 0x64, 0x64, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x03,
|
||||
0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x6e, 0x6f,
|
||||
0x64, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6e, 0x6f, 0x64,
|
||||
0x65, 0x49, 0x64, 0x12, 0x2b, 0x0a, 0x11, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69,
|
||||
0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10,
|
||||
0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65,
|
||||
0x22, 0x49, 0x0a, 0x09, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4b, 0x65, 0x79, 0x12, 0x12, 0x0a,
|
||||
0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70,
|
||||
0x65, 0x12, 0x0c, 0x0a, 0x01, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x01, 0x78, 0x12,
|
||||
0x0c, 0x0a, 0x01, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x01, 0x79, 0x12, 0x0c, 0x0a,
|
||||
0x01, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x01, 0x64, 0x22, 0x1a, 0x0a, 0x18, 0x50,
|
||||
0x65, 0x72, 0x66, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x62, 0x79, 0x45, 0x6c, 0x65, 0x63, 0x74, 0x69,
|
||||
0x6f, 0x6e, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x22, 0xe9, 0x01, 0x0a, 0x1b, 0x50, 0x65, 0x72, 0x66,
|
||||
0x53, 0x74, 0x61, 0x6e, 0x64, 0x62, 0x79, 0x45, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52,
|
||||
0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20,
|
||||
0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6c, 0x75, 0x73, 0x74,
|
||||
0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6c, 0x75,
|
||||
0x73, 0x74, 0x65, 0x72, 0x49, 0x64, 0x12, 0x30, 0x0a, 0x14, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72,
|
||||
0x79, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x18, 0x03,
|
||||
0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x43, 0x6c, 0x75,
|
||||
0x73, 0x74, 0x65, 0x72, 0x41, 0x64, 0x64, 0x72, 0x12, 0x17, 0x0a, 0x07, 0x63, 0x61, 0x5f, 0x63,
|
||||
0x65, 0x72, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x63, 0x61, 0x43, 0x65, 0x72,
|
||||
0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x65, 0x72, 0x74,
|
||||
0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x65,
|
||||
0x72, 0x74, 0x12, 0x2f, 0x0a, 0x0a, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x6b, 0x65, 0x79,
|
||||
0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x76, 0x61, 0x75, 0x6c, 0x74, 0x2e, 0x43,
|
||||
0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4b, 0x65, 0x79, 0x52, 0x09, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74,
|
||||
0x4b, 0x65, 0x79, 0x32, 0xf0, 0x01, 0x0a, 0x11, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x46,
|
||||
0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x3d, 0x0a, 0x0e, 0x46, 0x6f, 0x72,
|
||||
0x77, 0x61, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x13, 0x2e, 0x66, 0x6f,
|
||||
0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
|
||||
0x1a, 0x14, 0x2e, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x2e, 0x52, 0x65,
|
||||
0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x2e, 0x0a, 0x04, 0x45, 0x63, 0x68, 0x6f,
|
||||
0x12, 0x12, 0x2e, 0x76, 0x61, 0x75, 0x6c, 0x74, 0x2e, 0x45, 0x63, 0x68, 0x6f, 0x52, 0x65, 0x71,
|
||||
0x75, 0x65, 0x73, 0x74, 0x1a, 0x10, 0x2e, 0x76, 0x61, 0x75, 0x6c, 0x74, 0x2e, 0x45, 0x63, 0x68,
|
||||
0x6f, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x12, 0x6c, 0x0a, 0x21, 0x50, 0x65, 0x72, 0x66,
|
||||
0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x62, 0x79, 0x45, 0x6c,
|
||||
0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x2e,
|
||||
0x76, 0x61, 0x75, 0x6c, 0x74, 0x2e, 0x50, 0x65, 0x72, 0x66, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x62,
|
||||
0x79, 0x45, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x1a, 0x22,
|
||||
0x2e, 0x76, 0x61, 0x75, 0x6c, 0x74, 0x2e, 0x50, 0x65, 0x72, 0x66, 0x53, 0x74, 0x61, 0x6e, 0x64,
|
||||
0x62, 0x79, 0x45, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
|
||||
0x73, 0x65, 0x22, 0x00, 0x30, 0x01, 0x42, 0x22, 0x5a, 0x20, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62,
|
||||
0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2f, 0x76,
|
||||
0x61, 0x75, 0x6c, 0x74, 0x2f, 0x76, 0x61, 0x75, 0x6c, 0x74, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
|
||||
0x6f, 0x33,
|
||||
0x22, 0xc7, 0x01, 0x0a, 0x09, 0x45, 0x63, 0x68, 0x6f, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x18,
|
||||
0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
|
||||
0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6c, 0x75, 0x73,
|
||||
0x74, 0x65, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52,
|
||||
0x0c, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x41, 0x64, 0x64, 0x72, 0x73, 0x12, 0x2b, 0x0a,
|
||||
0x11, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x61,
|
||||
0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x10, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63,
|
||||
0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x2c, 0x0a, 0x12, 0x72, 0x61,
|
||||
0x66, 0x74, 0x5f, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78,
|
||||
0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x10, 0x72, 0x61, 0x66, 0x74, 0x41, 0x70, 0x70, 0x6c,
|
||||
0x69, 0x65, 0x64, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x20, 0x0a, 0x0c, 0x72, 0x61, 0x66, 0x74,
|
||||
0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a,
|
||||
0x72, 0x61, 0x66, 0x74, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x64, 0x22, 0x49, 0x0a, 0x09, 0x43, 0x6c,
|
||||
0x69, 0x65, 0x6e, 0x74, 0x4b, 0x65, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18,
|
||||
0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x0c, 0x0a, 0x01, 0x78,
|
||||
0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x01, 0x78, 0x12, 0x0c, 0x0a, 0x01, 0x79, 0x18, 0x03,
|
||||
0x20, 0x01, 0x28, 0x0c, 0x52, 0x01, 0x79, 0x12, 0x0c, 0x0a, 0x01, 0x64, 0x18, 0x04, 0x20, 0x01,
|
||||
0x28, 0x0c, 0x52, 0x01, 0x64, 0x22, 0x1a, 0x0a, 0x18, 0x50, 0x65, 0x72, 0x66, 0x53, 0x74, 0x61,
|
||||
0x6e, 0x64, 0x62, 0x79, 0x45, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x70, 0x75,
|
||||
0x74, 0x22, 0xe9, 0x01, 0x0a, 0x1b, 0x50, 0x65, 0x72, 0x66, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x62,
|
||||
0x79, 0x45, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
|
||||
0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69,
|
||||
0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18,
|
||||
0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x64,
|
||||
0x12, 0x30, 0x0a, 0x14, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x5f, 0x63, 0x6c, 0x75, 0x73,
|
||||
0x74, 0x65, 0x72, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12,
|
||||
0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x41, 0x64,
|
||||
0x64, 0x72, 0x12, 0x17, 0x0a, 0x07, 0x63, 0x61, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x18, 0x04, 0x20,
|
||||
0x01, 0x28, 0x0c, 0x52, 0x06, 0x63, 0x61, 0x43, 0x65, 0x72, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x63,
|
||||
0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c,
|
||||
0x52, 0x0a, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x65, 0x72, 0x74, 0x12, 0x2f, 0x0a, 0x0a,
|
||||
0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b,
|
||||
0x32, 0x10, 0x2e, 0x76, 0x61, 0x75, 0x6c, 0x74, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4b,
|
||||
0x65, 0x79, 0x52, 0x09, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4b, 0x65, 0x79, 0x32, 0xf0, 0x01,
|
||||
0x0a, 0x11, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64,
|
||||
0x69, 0x6e, 0x67, 0x12, 0x3d, 0x0a, 0x0e, 0x46, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x52, 0x65,
|
||||
0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x13, 0x2e, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64, 0x69,
|
||||
0x6e, 0x67, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x14, 0x2e, 0x66, 0x6f, 0x72,
|
||||
0x77, 0x61, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
|
||||
0x22, 0x00, 0x12, 0x2e, 0x0a, 0x04, 0x45, 0x63, 0x68, 0x6f, 0x12, 0x12, 0x2e, 0x76, 0x61, 0x75,
|
||||
0x6c, 0x74, 0x2e, 0x45, 0x63, 0x68, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x10,
|
||||
0x2e, 0x76, 0x61, 0x75, 0x6c, 0x74, 0x2e, 0x45, 0x63, 0x68, 0x6f, 0x52, 0x65, 0x70, 0x6c, 0x79,
|
||||
0x22, 0x00, 0x12, 0x6c, 0x0a, 0x21, 0x50, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63,
|
||||
0x65, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x62, 0x79, 0x45, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e,
|
||||
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1f, 0x2e, 0x76, 0x61, 0x75, 0x6c, 0x74, 0x2e,
|
||||
0x50, 0x65, 0x72, 0x66, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x62, 0x79, 0x45, 0x6c, 0x65, 0x63, 0x74,
|
||||
0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x1a, 0x22, 0x2e, 0x76, 0x61, 0x75, 0x6c, 0x74,
|
||||
0x2e, 0x50, 0x65, 0x72, 0x66, 0x53, 0x74, 0x61, 0x6e, 0x64, 0x62, 0x79, 0x45, 0x6c, 0x65, 0x63,
|
||||
0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x30, 0x01,
|
||||
0x42, 0x22, 0x5a, 0x20, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x68,
|
||||
0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2f, 0x76, 0x61, 0x75, 0x6c, 0x74, 0x2f, 0x76,
|
||||
0x61, 0x75, 0x6c, 0x74, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||
}
|
||||
|
||||
var (
|
||||
@@ -587,32 +474,29 @@ func file_vault_request_forwarding_service_proto_rawDescGZIP() []byte {
|
||||
return file_vault_request_forwarding_service_proto_rawDescData
|
||||
}
|
||||
|
||||
var file_vault_request_forwarding_service_proto_msgTypes = make([]protoimpl.MessageInfo, 6)
|
||||
var file_vault_request_forwarding_service_proto_msgTypes = make([]protoimpl.MessageInfo, 5)
|
||||
var file_vault_request_forwarding_service_proto_goTypes = []interface{}{
|
||||
(*EchoRequest)(nil), // 0: vault.EchoRequest
|
||||
(*EchoReply)(nil), // 1: vault.EchoReply
|
||||
(*NodeInformation)(nil), // 2: vault.NodeInformation
|
||||
(*ClientKey)(nil), // 3: vault.ClientKey
|
||||
(*PerfStandbyElectionInput)(nil), // 4: vault.PerfStandbyElectionInput
|
||||
(*PerfStandbyElectionResponse)(nil), // 5: vault.PerfStandbyElectionResponse
|
||||
(*forwarding.Request)(nil), // 6: forwarding.Request
|
||||
(*forwarding.Response)(nil), // 7: forwarding.Response
|
||||
(*ClientKey)(nil), // 2: vault.ClientKey
|
||||
(*PerfStandbyElectionInput)(nil), // 3: vault.PerfStandbyElectionInput
|
||||
(*PerfStandbyElectionResponse)(nil), // 4: vault.PerfStandbyElectionResponse
|
||||
(*forwarding.Request)(nil), // 5: forwarding.Request
|
||||
(*forwarding.Response)(nil), // 6: forwarding.Response
|
||||
}
|
||||
var file_vault_request_forwarding_service_proto_depIDxs = []int32{
|
||||
2, // 0: vault.EchoRequest.node_info:type_name -> vault.NodeInformation
|
||||
2, // 1: vault.EchoReply.node_info:type_name -> vault.NodeInformation
|
||||
3, // 2: vault.PerfStandbyElectionResponse.client_key:type_name -> vault.ClientKey
|
||||
6, // 3: vault.RequestForwarding.ForwardRequest:input_type -> forwarding.Request
|
||||
0, // 4: vault.RequestForwarding.Echo:input_type -> vault.EchoRequest
|
||||
4, // 5: vault.RequestForwarding.PerformanceStandbyElectionRequest:input_type -> vault.PerfStandbyElectionInput
|
||||
7, // 6: vault.RequestForwarding.ForwardRequest:output_type -> forwarding.Response
|
||||
1, // 7: vault.RequestForwarding.Echo:output_type -> vault.EchoReply
|
||||
5, // 8: vault.RequestForwarding.PerformanceStandbyElectionRequest:output_type -> vault.PerfStandbyElectionResponse
|
||||
6, // [6:9] is the sub-list for method output_type
|
||||
3, // [3:6] is the sub-list for method input_type
|
||||
3, // [3:3] is the sub-list for extension type_name
|
||||
3, // [3:3] is the sub-list for extension extendee
|
||||
0, // [0:3] is the sub-list for field type_name
|
||||
2, // 0: vault.PerfStandbyElectionResponse.client_key:type_name -> vault.ClientKey
|
||||
5, // 1: vault.RequestForwarding.ForwardRequest:input_type -> forwarding.Request
|
||||
0, // 2: vault.RequestForwarding.Echo:input_type -> vault.EchoRequest
|
||||
3, // 3: vault.RequestForwarding.PerformanceStandbyElectionRequest:input_type -> vault.PerfStandbyElectionInput
|
||||
6, // 4: vault.RequestForwarding.ForwardRequest:output_type -> forwarding.Response
|
||||
1, // 5: vault.RequestForwarding.Echo:output_type -> vault.EchoReply
|
||||
4, // 6: vault.RequestForwarding.PerformanceStandbyElectionRequest:output_type -> vault.PerfStandbyElectionResponse
|
||||
4, // [4:7] is the sub-list for method output_type
|
||||
1, // [1:4] is the sub-list for method input_type
|
||||
1, // [1:1] is the sub-list for extension type_name
|
||||
1, // [1:1] is the sub-list for extension extendee
|
||||
0, // [0:1] is the sub-list for field type_name
|
||||
}
|
||||
|
||||
func init() { file_vault_request_forwarding_service_proto_init() }
|
||||
@@ -646,18 +530,6 @@ func file_vault_request_forwarding_service_proto_init() {
|
||||
}
|
||||
}
|
||||
file_vault_request_forwarding_service_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*NodeInformation); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
case 1:
|
||||
return &v.sizeCache
|
||||
case 2:
|
||||
return &v.unknownFields
|
||||
default:
|
||||
return nil
|
||||
}
|
||||
}
|
||||
file_vault_request_forwarding_service_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*ClientKey); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
@@ -669,7 +541,7 @@ func file_vault_request_forwarding_service_proto_init() {
|
||||
return nil
|
||||
}
|
||||
}
|
||||
file_vault_request_forwarding_service_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
|
||||
file_vault_request_forwarding_service_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*PerfStandbyElectionInput); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
@@ -681,7 +553,7 @@ func file_vault_request_forwarding_service_proto_init() {
|
||||
return nil
|
||||
}
|
||||
}
|
||||
file_vault_request_forwarding_service_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
|
||||
file_vault_request_forwarding_service_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
|
||||
switch v := v.(*PerfStandbyElectionResponse); i {
|
||||
case 0:
|
||||
return &v.state
|
||||
@@ -700,7 +572,7 @@ func file_vault_request_forwarding_service_proto_init() {
|
||||
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
||||
RawDescriptor: file_vault_request_forwarding_service_proto_rawDesc,
|
||||
NumEnums: 0,
|
||||
NumMessages: 6,
|
||||
NumMessages: 5,
|
||||
NumExtensions: 0,
|
||||
NumServices: 1,
|
||||
},
|
||||
|
||||
83
vendor/github.com/hashicorp/vault/api/sys_plugins.go
generated
vendored
83
vendor/github.com/hashicorp/vault/api/sys_plugins.go
generated
vendored
@@ -5,7 +5,6 @@ import (
|
||||
"errors"
|
||||
"fmt"
|
||||
"net/http"
|
||||
"time"
|
||||
|
||||
"github.com/hashicorp/vault/sdk/helper/consts"
|
||||
"github.com/mitchellh/mapstructure"
|
||||
@@ -233,19 +232,15 @@ type ReloadPluginInput struct {
|
||||
|
||||
// Mounts is the array of string mount paths of the plugin backends to reload
|
||||
Mounts []string `json:"mounts"`
|
||||
|
||||
// Scope is the scope of the plugin reload
|
||||
Scope string `json:"scope"`
|
||||
}
|
||||
|
||||
// ReloadPlugin reloads mounted plugin backends, possibly returning
|
||||
// reloadId for a cluster scoped reload
|
||||
func (c *Sys) ReloadPlugin(i *ReloadPluginInput) (string, error) {
|
||||
// ReloadPlugin reloads mounted plugin backends
|
||||
func (c *Sys) ReloadPlugin(i *ReloadPluginInput) error {
|
||||
path := "/v1/sys/plugins/reload/backend"
|
||||
req := c.c.NewRequest(http.MethodPut, path)
|
||||
|
||||
if err := req.SetJSONBody(i); err != nil {
|
||||
return "", err
|
||||
return err
|
||||
}
|
||||
|
||||
ctx, cancelFunc := context.WithCancel(context.Background())
|
||||
@@ -253,78 +248,10 @@ func (c *Sys) ReloadPlugin(i *ReloadPluginInput) (string, error) {
|
||||
|
||||
resp, err := c.c.RawRequestWithContext(ctx, req)
|
||||
if err != nil {
|
||||
return "", err
|
||||
return err
|
||||
}
|
||||
defer resp.Body.Close()
|
||||
|
||||
if i.Scope == "global" {
|
||||
// Get the reload id
|
||||
secret, parseErr := ParseSecret(resp.Body)
|
||||
if parseErr != nil {
|
||||
return "", err
|
||||
}
|
||||
if _, ok := secret.Data["reload_id"]; ok {
|
||||
return secret.Data["reload_id"].(string), nil
|
||||
}
|
||||
}
|
||||
return "", err
|
||||
}
|
||||
|
||||
// ReloadStatus is the status of an individual node's plugin reload
|
||||
type ReloadStatus struct {
|
||||
Timestamp time.Time `json:"timestamp" mapstructure:"timestamp"`
|
||||
Success bool `json:"success" mapstructure:"success"`
|
||||
Message string `json:"message" mapstructure:"message"`
|
||||
}
|
||||
|
||||
// ReloadStatusResponse is the combined response of all known completed plugin reloads
|
||||
type ReloadStatusResponse struct {
|
||||
ReloadID string `mapstructure:"reload_id"`
|
||||
Results map[string]*ReloadStatus `mapstructure:"results"`
|
||||
}
|
||||
|
||||
// ReloadPluginStatusInput is used as input to the ReloadStatusPlugin function.
|
||||
type ReloadPluginStatusInput struct {
|
||||
// ReloadID is the ID of the reload operation
|
||||
ReloadID string `json:"reload_id"`
|
||||
}
|
||||
|
||||
// ReloadPluginStatus retrieves the status of a reload operation
|
||||
func (c *Sys) ReloadPluginStatus(reloadStatusInput *ReloadPluginStatusInput) (*ReloadStatusResponse, error) {
|
||||
path := "/v1/sys/plugins/reload/backend/status"
|
||||
req := c.c.NewRequest(http.MethodGet, path)
|
||||
req.Params.Add("reload_id", reloadStatusInput.ReloadID)
|
||||
|
||||
ctx, cancelFunc := context.WithCancel(context.Background())
|
||||
defer cancelFunc()
|
||||
|
||||
resp, err := c.c.RawRequestWithContext(ctx, req)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
defer resp.Body.Close()
|
||||
if resp != nil {
|
||||
secret, parseErr := ParseSecret(resp.Body)
|
||||
if parseErr != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
var r ReloadStatusResponse
|
||||
d, err := mapstructure.NewDecoder(&mapstructure.DecoderConfig{
|
||||
DecodeHook: mapstructure.StringToTimeHookFunc(time.RFC3339),
|
||||
Result: &r,
|
||||
})
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
err = d.Decode(secret.Data)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return &r, nil
|
||||
}
|
||||
return nil, nil
|
||||
|
||||
return err
|
||||
}
|
||||
|
||||
// catalogPathByType is a helper to construct the proper API path by plugin type
|
||||
|
||||
195
vendor/modules.txt
vendored
195
vendor/modules.txt
vendored
@@ -60,9 +60,11 @@ github.com/DataDog/zstd
|
||||
github.com/Jeffail/gabs
|
||||
# github.com/Masterminds/semver v1.4.2
|
||||
github.com/Masterminds/semver
|
||||
# github.com/Microsoft/go-winio v0.4.14
|
||||
# github.com/Microsoft/go-winio v0.4.15-0.20190919025122-fc70bd9a86b5
|
||||
github.com/Microsoft/go-winio
|
||||
github.com/Microsoft/go-winio/pkg/guid
|
||||
# github.com/Microsoft/hcsshim v0.8.9
|
||||
github.com/Microsoft/hcsshim/osversion
|
||||
# github.com/NYTimes/gziphandler v1.1.1
|
||||
github.com/NYTimes/gziphandler
|
||||
# github.com/Nvveen/Gotty v0.0.0-20120604004816-cd527374f1e5
|
||||
@@ -198,19 +200,22 @@ github.com/client9/misspell
|
||||
github.com/client9/misspell/cmd/misspell
|
||||
# github.com/cloudfoundry-community/go-cfclient v0.0.0-20190201205600-f136f9222381
|
||||
github.com/cloudfoundry-community/go-cfclient
|
||||
# github.com/cockroachdb/apd v1.1.0
|
||||
github.com/cockroachdb/apd
|
||||
# github.com/cockroachdb/cockroach-go v0.0.0-20181001143604-e0a95dfd547c
|
||||
github.com/cockroachdb/cockroach-go/crdb
|
||||
# github.com/containerd/continuity v0.0.0-20191214063359-1097c8bae83b
|
||||
# github.com/containerd/containerd v1.3.4
|
||||
github.com/containerd/containerd/errdefs
|
||||
# github.com/containerd/continuity v0.0.0-20190426062206-aaeac12a7ffc
|
||||
github.com/containerd/continuity/fs
|
||||
github.com/containerd/continuity/pathdriver
|
||||
github.com/containerd/continuity/syscallx
|
||||
github.com/containerd/continuity/sysx
|
||||
# github.com/coreos/go-oidc v2.1.0+incompatible
|
||||
github.com/coreos/go-oidc
|
||||
# github.com/coreos/go-semver v0.2.0
|
||||
github.com/coreos/go-semver/semver
|
||||
# github.com/coreos/go-systemd/v22 v22.0.0
|
||||
github.com/coreos/go-systemd/v22/journal
|
||||
# github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc
|
||||
# github.com/davecgh/go-spew v1.1.1
|
||||
github.com/davecgh/go-spew/spew
|
||||
# github.com/denisenkom/go-mssqldb v0.0.0-20200428022330-06a60b6afbbc
|
||||
github.com/denisenkom/go-mssqldb
|
||||
@@ -221,8 +226,41 @@ github.com/denisenkom/go-mssqldb/internal/querytext
|
||||
github.com/dgrijalva/jwt-go
|
||||
# github.com/dimchansky/utfbom v1.1.0
|
||||
github.com/dimchansky/utfbom
|
||||
# github.com/docker/distribution v2.7.1+incompatible
|
||||
github.com/docker/distribution/digestset
|
||||
github.com/docker/distribution/reference
|
||||
github.com/docker/distribution/registry/api/errcode
|
||||
# github.com/docker/docker v1.4.2-0.20200319182547-c7ad2b866182
|
||||
github.com/docker/docker/api
|
||||
github.com/docker/docker/api/types
|
||||
github.com/docker/docker/api/types/blkiodev
|
||||
github.com/docker/docker/api/types/container
|
||||
github.com/docker/docker/api/types/events
|
||||
github.com/docker/docker/api/types/filters
|
||||
github.com/docker/docker/api/types/image
|
||||
github.com/docker/docker/api/types/mount
|
||||
github.com/docker/docker/api/types/network
|
||||
github.com/docker/docker/api/types/registry
|
||||
github.com/docker/docker/api/types/strslice
|
||||
github.com/docker/docker/api/types/swarm
|
||||
github.com/docker/docker/api/types/swarm/runtime
|
||||
github.com/docker/docker/api/types/time
|
||||
github.com/docker/docker/api/types/versions
|
||||
github.com/docker/docker/api/types/volume
|
||||
github.com/docker/docker/client
|
||||
github.com/docker/docker/errdefs
|
||||
github.com/docker/docker/pkg/archive
|
||||
github.com/docker/docker/pkg/fileutils
|
||||
github.com/docker/docker/pkg/idtools
|
||||
github.com/docker/docker/pkg/ioutils
|
||||
github.com/docker/docker/pkg/longpath
|
||||
github.com/docker/docker/pkg/mount
|
||||
github.com/docker/docker/pkg/pools
|
||||
github.com/docker/docker/pkg/system
|
||||
# github.com/docker/go-connections v0.4.0
|
||||
github.com/docker/go-connections/nat
|
||||
github.com/docker/go-connections/sockets
|
||||
github.com/docker/go-connections/tlsconfig
|
||||
# github.com/docker/go-units v0.4.0
|
||||
github.com/docker/go-units
|
||||
# github.com/dsnet/compress v0.0.1
|
||||
@@ -338,37 +376,12 @@ github.com/hashicorp/errwrap
|
||||
github.com/hashicorp/go-bindata
|
||||
# github.com/hashicorp/go-cleanhttp v0.5.1
|
||||
github.com/hashicorp/go-cleanhttp
|
||||
# github.com/hashicorp/go-fpe v0.0.0-20200302182253-52932d2c7705
|
||||
github.com/hashicorp/go-fpe/ff3-1
|
||||
# github.com/hashicorp/go-gcp-common v0.6.0
|
||||
github.com/hashicorp/go-gcp-common/gcputil
|
||||
# github.com/hashicorp/go-hclog v0.13.0
|
||||
# github.com/hashicorp/go-hclog v0.14.1
|
||||
github.com/hashicorp/go-hclog
|
||||
# github.com/hashicorp/go-immutable-radix v1.1.0
|
||||
github.com/hashicorp/go-immutable-radix
|
||||
# github.com/hashicorp/go-kmip v0.0.0-20200521195242-bc3798d6b119
|
||||
github.com/hashicorp/go-kmip/audit
|
||||
github.com/hashicorp/go-kmip/client
|
||||
github.com/hashicorp/go-kmip/conns
|
||||
github.com/hashicorp/go-kmip/encoding/json
|
||||
github.com/hashicorp/go-kmip/encoding/ttlv
|
||||
github.com/hashicorp/go-kmip/env
|
||||
github.com/hashicorp/go-kmip/handler
|
||||
github.com/hashicorp/go-kmip/kmip
|
||||
github.com/hashicorp/go-kmip/kmip/types/attr
|
||||
github.com/hashicorp/go-kmip/kmip/types/bo
|
||||
github.com/hashicorp/go-kmip/kmip/types/data
|
||||
github.com/hashicorp/go-kmip/kmip/types/enum
|
||||
github.com/hashicorp/go-kmip/kmip/types/errs
|
||||
github.com/hashicorp/go-kmip/kmip/types/field
|
||||
github.com/hashicorp/go-kmip/kmip/types/mask
|
||||
github.com/hashicorp/go-kmip/kmip/types/message
|
||||
github.com/hashicorp/go-kmip/kmip/types/mo
|
||||
github.com/hashicorp/go-kmip/kmip/types/payload
|
||||
github.com/hashicorp/go-kmip/kmip/types/tag
|
||||
github.com/hashicorp/go-kmip/server
|
||||
github.com/hashicorp/go-kmip/storage
|
||||
github.com/hashicorp/go-kmip/util
|
||||
# github.com/hashicorp/go-kms-wrapping v0.5.10
|
||||
github.com/hashicorp/go-kms-wrapping
|
||||
github.com/hashicorp/go-kms-wrapping/internal/xor
|
||||
@@ -379,20 +392,13 @@ github.com/hashicorp/go-kms-wrapping/wrappers/azurekeyvault
|
||||
github.com/hashicorp/go-kms-wrapping/wrappers/gcpckms
|
||||
github.com/hashicorp/go-kms-wrapping/wrappers/ocikms
|
||||
github.com/hashicorp/go-kms-wrapping/wrappers/transit
|
||||
# github.com/hashicorp/go-kms-wrapping-enterprise v0.5.1
|
||||
github.com/hashicorp/go-kms-wrapping-enterprise/internal/permitpool
|
||||
github.com/hashicorp/go-kms-wrapping-enterprise/wrappers/awskms
|
||||
github.com/hashicorp/go-kms-wrapping-enterprise/wrappers/pkcs11
|
||||
github.com/hashicorp/go-kms-wrapping-enterprise/wrappers/transit
|
||||
# github.com/hashicorp/go-kms-wrapping/entropy v0.1.0
|
||||
github.com/hashicorp/go-kms-wrapping/entropy
|
||||
# github.com/hashicorp/go-licensing v1.1.1
|
||||
github.com/hashicorp/go-licensing
|
||||
# github.com/hashicorp/go-memdb v1.0.2
|
||||
github.com/hashicorp/go-memdb
|
||||
# github.com/hashicorp/go-msgpack v0.5.5
|
||||
github.com/hashicorp/go-msgpack/codec
|
||||
# github.com/hashicorp/go-multierror v1.0.0
|
||||
# github.com/hashicorp/go-multierror v1.1.0
|
||||
github.com/hashicorp/go-multierror
|
||||
# github.com/hashicorp/go-plugin v1.0.1
|
||||
github.com/hashicorp/go-plugin
|
||||
@@ -400,7 +406,7 @@ github.com/hashicorp/go-plugin/internal/plugin
|
||||
# github.com/hashicorp/go-raftchunking v0.6.3-0.20191002164813-7e9e8525653a
|
||||
github.com/hashicorp/go-raftchunking
|
||||
github.com/hashicorp/go-raftchunking/types
|
||||
# github.com/hashicorp/go-retryablehttp v0.6.3
|
||||
# github.com/hashicorp/go-retryablehttp v0.6.6
|
||||
github.com/hashicorp/go-retryablehttp
|
||||
# github.com/hashicorp/go-rootcerts v1.0.2
|
||||
github.com/hashicorp/go-rootcerts
|
||||
@@ -436,41 +442,6 @@ github.com/hashicorp/nomad/api/contexts
|
||||
github.com/hashicorp/raft
|
||||
# github.com/hashicorp/raft-snapshot v1.0.2-0.20190827162939-8117efcc5aab
|
||||
github.com/hashicorp/raft-snapshot
|
||||
# github.com/hashicorp/sentinel v0.14.4
|
||||
github.com/hashicorp/sentinel/cmd/format
|
||||
github.com/hashicorp/sentinel/imports/decimal
|
||||
github.com/hashicorp/sentinel/imports/http
|
||||
github.com/hashicorp/sentinel/imports/json
|
||||
github.com/hashicorp/sentinel/imports/runtime
|
||||
github.com/hashicorp/sentinel/imports/sockaddr
|
||||
github.com/hashicorp/sentinel/imports/static
|
||||
github.com/hashicorp/sentinel/imports/static/teststructs
|
||||
github.com/hashicorp/sentinel/imports/stdlib
|
||||
github.com/hashicorp/sentinel/imports/strings
|
||||
github.com/hashicorp/sentinel/imports/time
|
||||
github.com/hashicorp/sentinel/imports/types
|
||||
github.com/hashicorp/sentinel/imports/units
|
||||
github.com/hashicorp/sentinel/lang/ast
|
||||
github.com/hashicorp/sentinel/lang/object
|
||||
github.com/hashicorp/sentinel/lang/parser
|
||||
github.com/hashicorp/sentinel/lang/printer
|
||||
github.com/hashicorp/sentinel/lang/scanner
|
||||
github.com/hashicorp/sentinel/lang/semantic
|
||||
github.com/hashicorp/sentinel/lang/token
|
||||
github.com/hashicorp/sentinel/runtime/encoding
|
||||
github.com/hashicorp/sentinel/runtime/eval
|
||||
github.com/hashicorp/sentinel/runtime/importer
|
||||
github.com/hashicorp/sentinel/runtime/parameterizer
|
||||
github.com/hashicorp/sentinel/runtime/parameterizer/scoped
|
||||
github.com/hashicorp/sentinel/runtime/trace
|
||||
github.com/hashicorp/sentinel/sentinel
|
||||
github.com/hashicorp/sentinel/version
|
||||
# github.com/hashicorp/sentinel-sdk v0.3.7
|
||||
github.com/hashicorp/sentinel-sdk
|
||||
github.com/hashicorp/sentinel-sdk/encoding
|
||||
github.com/hashicorp/sentinel-sdk/framework
|
||||
github.com/hashicorp/sentinel-sdk/proto/go
|
||||
github.com/hashicorp/sentinel-sdk/rpc
|
||||
# github.com/hashicorp/serf v0.8.3
|
||||
github.com/hashicorp/serf/coordinate
|
||||
# github.com/hashicorp/vault-plugin-auth-alicloud v0.5.5
|
||||
@@ -490,11 +461,11 @@ github.com/hashicorp/vault-plugin-auth-cf/util
|
||||
# github.com/hashicorp/vault-plugin-auth-gcp v0.6.1
|
||||
github.com/hashicorp/vault-plugin-auth-gcp/plugin
|
||||
github.com/hashicorp/vault-plugin-auth-gcp/plugin/cache
|
||||
# github.com/hashicorp/vault-plugin-auth-jwt v0.6.2
|
||||
# github.com/hashicorp/vault-plugin-auth-jwt v0.7.0
|
||||
github.com/hashicorp/vault-plugin-auth-jwt
|
||||
# github.com/hashicorp/vault-plugin-auth-kerberos v0.1.5
|
||||
# github.com/hashicorp/vault-plugin-auth-kerberos v0.1.6
|
||||
github.com/hashicorp/vault-plugin-auth-kerberos
|
||||
# github.com/hashicorp/vault-plugin-auth-kubernetes v0.6.1
|
||||
# github.com/hashicorp/vault-plugin-auth-kubernetes v0.6.2
|
||||
github.com/hashicorp/vault-plugin-auth-kubernetes
|
||||
# github.com/hashicorp/vault-plugin-auth-oci v0.5.5
|
||||
github.com/hashicorp/vault-plugin-auth-oci
|
||||
@@ -509,7 +480,7 @@ github.com/hashicorp/vault-plugin-secrets-ad/plugin/util
|
||||
# github.com/hashicorp/vault-plugin-secrets-alicloud v0.5.5
|
||||
github.com/hashicorp/vault-plugin-secrets-alicloud
|
||||
github.com/hashicorp/vault-plugin-secrets-alicloud/clients
|
||||
# github.com/hashicorp/vault-plugin-secrets-azure v0.5.6
|
||||
# github.com/hashicorp/vault-plugin-secrets-azure v0.6.1
|
||||
github.com/hashicorp/vault-plugin-secrets-azure
|
||||
# github.com/hashicorp/vault-plugin-secrets-gcp v0.6.3-0.20200615210754-6c617f9285c3
|
||||
github.com/hashicorp/vault-plugin-secrets-gcp/plugin
|
||||
@@ -517,20 +488,16 @@ github.com/hashicorp/vault-plugin-secrets-gcp/plugin/iamutil
|
||||
github.com/hashicorp/vault-plugin-secrets-gcp/plugin/util
|
||||
# github.com/hashicorp/vault-plugin-secrets-gcpkms v0.5.5
|
||||
github.com/hashicorp/vault-plugin-secrets-gcpkms
|
||||
# github.com/hashicorp/vault-plugin-secrets-kmip v0.1.3
|
||||
github.com/hashicorp/vault-plugin-secrets-kmip/plugin
|
||||
# github.com/hashicorp/vault-plugin-secrets-kv v0.5.5
|
||||
github.com/hashicorp/vault-plugin-secrets-kv
|
||||
# github.com/hashicorp/vault-plugin-secrets-mongodbatlas v0.1.2
|
||||
github.com/hashicorp/vault-plugin-secrets-mongodbatlas
|
||||
# github.com/hashicorp/vault-plugin-secrets-openldap v0.1.3
|
||||
# github.com/hashicorp/vault-plugin-secrets-openldap v0.1.4-0.20200618161832-cae59ebde561
|
||||
github.com/hashicorp/vault-plugin-secrets-openldap
|
||||
github.com/hashicorp/vault-plugin-secrets-openldap/client
|
||||
# github.com/hashicorp/vault-plugin-secrets-transform v0.1.3
|
||||
github.com/hashicorp/vault-plugin-secrets-transform
|
||||
# github.com/hashicorp/vault/api v1.0.5-0.20200619171258-e54ddc909815 => ./api
|
||||
# github.com/hashicorp/vault/api v1.0.5-0.20200519221902-385fac77e20f => ./api
|
||||
github.com/hashicorp/vault/api
|
||||
# github.com/hashicorp/vault/sdk v0.1.14-0.20200615191832-d4b3c4b29c62 => ./sdk
|
||||
# github.com/hashicorp/vault/sdk v0.1.14-0.20200527182800-ad90e0b39d2f => ./sdk
|
||||
github.com/hashicorp/vault/sdk/database/dbplugin
|
||||
github.com/hashicorp/vault/sdk/database/helper/connutil
|
||||
github.com/hashicorp/vault/sdk/database/helper/credsutil
|
||||
@@ -576,6 +543,8 @@ github.com/hashicorp/vault/sdk/plugin
|
||||
github.com/hashicorp/vault/sdk/plugin/mock
|
||||
github.com/hashicorp/vault/sdk/plugin/pb
|
||||
github.com/hashicorp/vault/sdk/queue
|
||||
github.com/hashicorp/vault/sdk/testing/stepwise
|
||||
github.com/hashicorp/vault/sdk/testing/stepwise/environments/docker
|
||||
github.com/hashicorp/vault/sdk/version
|
||||
# github.com/hashicorp/yamux v0.0.0-20181012175058-2f1d1f20f75d
|
||||
github.com/hashicorp/yamux
|
||||
@@ -643,8 +612,6 @@ github.com/jefferai/isbadcipher
|
||||
github.com/jefferai/jsonx
|
||||
# github.com/jmespath/go-jmespath v0.3.0
|
||||
github.com/jmespath/go-jmespath
|
||||
# github.com/jonboulle/clockwork v0.1.0
|
||||
github.com/jonboulle/clockwork
|
||||
# github.com/joyent/triton-go v1.7.1-0.20200416154420-6801d15b779f
|
||||
github.com/joyent/triton-go
|
||||
github.com/joyent/triton-go/authentication
|
||||
@@ -677,9 +644,9 @@ github.com/keybase/go-crypto/rsa
|
||||
github.com/konsorten/go-windows-terminal-sequences
|
||||
# github.com/kr/pretty v0.2.0
|
||||
github.com/kr/pretty
|
||||
# github.com/kr/text v0.1.0
|
||||
# github.com/kr/text v0.2.0
|
||||
github.com/kr/text
|
||||
# github.com/lib/pq v1.3.0
|
||||
# github.com/lib/pq v1.2.0
|
||||
github.com/lib/pq
|
||||
github.com/lib/pq/oid
|
||||
github.com/lib/pq/scram
|
||||
@@ -695,12 +662,8 @@ github.com/matttproud/golang_protobuf_extensions/pbutil
|
||||
github.com/mholt/archiver
|
||||
# github.com/michaelklishin/rabbit-hole v0.0.0-20191008194146-93d9988f0cd5
|
||||
github.com/michaelklishin/rabbit-hole
|
||||
# github.com/miekg/pkcs11 v1.0.3
|
||||
github.com/miekg/pkcs11
|
||||
# github.com/mitchellh/cli v1.0.0
|
||||
github.com/mitchellh/cli
|
||||
# github.com/mitchellh/colorstring v0.0.0-20150917214807-8631ce90f286
|
||||
github.com/mitchellh/colorstring
|
||||
# github.com/mitchellh/copystructure v1.0.0
|
||||
github.com/mitchellh/copystructure
|
||||
# github.com/mitchellh/go-homedir v1.1.0
|
||||
@@ -713,9 +676,9 @@ github.com/mitchellh/gox
|
||||
github.com/mitchellh/hashstructure
|
||||
# github.com/mitchellh/iochan v1.0.0
|
||||
github.com/mitchellh/iochan
|
||||
# github.com/mitchellh/mapstructure v1.2.2
|
||||
# github.com/mitchellh/mapstructure v1.3.2
|
||||
github.com/mitchellh/mapstructure
|
||||
# github.com/mitchellh/pointerstructure v0.0.0-20190430161007-f252a8fd71c8
|
||||
# github.com/mitchellh/pointerstructure v1.0.0
|
||||
github.com/mitchellh/pointerstructure
|
||||
# github.com/mitchellh/reflectwalk v1.0.1
|
||||
github.com/mitchellh/reflectwalk
|
||||
@@ -745,6 +708,7 @@ github.com/opencontainers/go-digest
|
||||
github.com/opencontainers/image-spec/specs-go
|
||||
github.com/opencontainers/image-spec/specs-go/v1
|
||||
# github.com/opencontainers/runc v0.1.1
|
||||
github.com/opencontainers/runc/libcontainer/system
|
||||
github.com/opencontainers/runc/libcontainer/user
|
||||
# github.com/oracle/oci-go-sdk v12.5.0+incompatible
|
||||
github.com/oracle/oci-go-sdk/common
|
||||
@@ -781,12 +745,12 @@ github.com/ory/dockertest/docker/types/versions
|
||||
github.com/patrickmn/go-cache
|
||||
# github.com/petermattis/goid v0.0.0-20180202154549-b0b1615b78e5
|
||||
github.com/petermattis/goid
|
||||
# github.com/pierrec/lz4 v2.2.6+incompatible
|
||||
# github.com/pierrec/lz4 v2.5.2+incompatible
|
||||
github.com/pierrec/lz4
|
||||
github.com/pierrec/lz4/internal/xxh32
|
||||
# github.com/pkg/errors v0.9.1
|
||||
github.com/pkg/errors
|
||||
# github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2
|
||||
# github.com/pmezard/go-difflib v1.0.0
|
||||
github.com/pmezard/go-difflib/difflib
|
||||
# github.com/posener/complete v1.2.1
|
||||
github.com/posener/complete
|
||||
@@ -814,6 +778,8 @@ github.com/prometheus/common/model
|
||||
github.com/prometheus/procfs
|
||||
github.com/prometheus/procfs/internal/fs
|
||||
github.com/prometheus/procfs/internal/util
|
||||
# github.com/rboyer/safeio v0.2.1
|
||||
github.com/rboyer/safeio
|
||||
# github.com/ryanuber/columnize v2.1.0+incompatible
|
||||
github.com/ryanuber/columnize
|
||||
# github.com/ryanuber/go-glob v1.0.0
|
||||
@@ -836,13 +802,8 @@ github.com/shirou/gopsutil/process
|
||||
github.com/shirou/w32
|
||||
# github.com/sirupsen/logrus v1.4.2
|
||||
github.com/sirupsen/logrus
|
||||
# github.com/spf13/pflag v1.0.3
|
||||
github.com/spf13/pflag
|
||||
# github.com/stretchr/objx v0.2.0
|
||||
github.com/stretchr/objx
|
||||
# github.com/stretchr/testify v1.5.1
|
||||
github.com/stretchr/testify/assert
|
||||
github.com/stretchr/testify/mock
|
||||
github.com/stretchr/testify/require
|
||||
# github.com/tv42/httpunix v0.0.0-20150427012821-b75d8614f926
|
||||
github.com/tv42/httpunix
|
||||
@@ -851,9 +812,6 @@ github.com/ulikunitz/xz
|
||||
github.com/ulikunitz/xz/internal/hash
|
||||
github.com/ulikunitz/xz/internal/xlog
|
||||
github.com/ulikunitz/xz/lzma
|
||||
# github.com/vektra/mockery v0.0.0-20181123154057-e78b021dcbb5
|
||||
github.com/vektra/mockery/cmd/mockery
|
||||
github.com/vektra/mockery/mockery
|
||||
# github.com/xdg/scram v0.0.0-20180814205039-7eeb5667e42c
|
||||
github.com/xdg/scram
|
||||
# github.com/xdg/stringprep v1.0.0
|
||||
@@ -951,7 +909,7 @@ go.uber.org/zap/internal/bufferpool
|
||||
go.uber.org/zap/internal/color
|
||||
go.uber.org/zap/internal/exit
|
||||
go.uber.org/zap/zapcore
|
||||
# golang.org/x/crypto v0.0.0-20200510223506-06a226fb4e37
|
||||
# golang.org/x/crypto v0.0.0-20200604202706-70a84ac30bf9
|
||||
golang.org/x/crypto/bcrypt
|
||||
golang.org/x/crypto/blake2b
|
||||
golang.org/x/crypto/blowfish
|
||||
@@ -969,7 +927,6 @@ golang.org/x/crypto/pbkdf2
|
||||
golang.org/x/crypto/pkcs12
|
||||
golang.org/x/crypto/pkcs12/internal/rc2
|
||||
golang.org/x/crypto/poly1305
|
||||
golang.org/x/crypto/sha3
|
||||
golang.org/x/crypto/ssh
|
||||
golang.org/x/crypto/ssh/agent
|
||||
golang.org/x/crypto/ssh/internal/bcrypt_pbkdf
|
||||
@@ -980,7 +937,7 @@ golang.org/x/lint/golint
|
||||
# golang.org/x/mod v0.2.0
|
||||
golang.org/x/mod/module
|
||||
golang.org/x/mod/semver
|
||||
# golang.org/x/net v0.0.0-20200519113804-d87ec0cfa476
|
||||
# golang.org/x/net v0.0.0-20200602114024-627f9648deb9
|
||||
golang.org/x/net/context
|
||||
golang.org/x/net/context/ctxhttp
|
||||
golang.org/x/net/http/httpguts
|
||||
@@ -988,7 +945,9 @@ golang.org/x/net/http/httpproxy
|
||||
golang.org/x/net/http2
|
||||
golang.org/x/net/http2/hpack
|
||||
golang.org/x/net/idna
|
||||
golang.org/x/net/internal/socks
|
||||
golang.org/x/net/internal/timeseries
|
||||
golang.org/x/net/proxy
|
||||
golang.org/x/net/trace
|
||||
# golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d
|
||||
golang.org/x/oauth2
|
||||
@@ -1000,7 +959,7 @@ golang.org/x/oauth2/jwt
|
||||
# golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a
|
||||
golang.org/x/sync/errgroup
|
||||
golang.org/x/sync/semaphore
|
||||
# golang.org/x/sys v0.0.0-20200519105757-fe76b779f299
|
||||
# golang.org/x/sys v0.0.0-20200602225109-6fdc65e7d980
|
||||
golang.org/x/sys/cpu
|
||||
golang.org/x/sys/internal/unsafeheader
|
||||
golang.org/x/sys/unix
|
||||
@@ -1016,9 +975,9 @@ golang.org/x/text/secure/bidirule
|
||||
golang.org/x/text/transform
|
||||
golang.org/x/text/unicode/bidi
|
||||
golang.org/x/text/unicode/norm
|
||||
# golang.org/x/time v0.0.0-20191024005414-555d28b269f0
|
||||
# golang.org/x/time v0.0.0-20200416051211-89c76fbcd5d1
|
||||
golang.org/x/time/rate
|
||||
# golang.org/x/tools v0.0.0-20200513201620-d5fe73897c97
|
||||
# golang.org/x/tools v0.0.0-20200416214402-fc959738d646
|
||||
golang.org/x/tools/cmd/goimports
|
||||
golang.org/x/tools/go/analysis
|
||||
golang.org/x/tools/go/analysis/passes/inspect
|
||||
@@ -1033,17 +992,13 @@ golang.org/x/tools/go/loader
|
||||
golang.org/x/tools/go/packages
|
||||
golang.org/x/tools/go/types/objectpath
|
||||
golang.org/x/tools/go/types/typeutil
|
||||
golang.org/x/tools/imports
|
||||
golang.org/x/tools/internal/analysisinternal
|
||||
golang.org/x/tools/internal/event
|
||||
golang.org/x/tools/internal/event/core
|
||||
golang.org/x/tools/internal/event/keys
|
||||
golang.org/x/tools/internal/event/label
|
||||
golang.org/x/tools/internal/fastwalk
|
||||
golang.org/x/tools/internal/gocommand
|
||||
golang.org/x/tools/internal/gopathwalk
|
||||
golang.org/x/tools/internal/imports
|
||||
golang.org/x/tools/internal/packagesinternal
|
||||
golang.org/x/tools/internal/telemetry/event
|
||||
# golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543
|
||||
golang.org/x/xerrors
|
||||
golang.org/x/xerrors/internal
|
||||
@@ -1205,17 +1160,13 @@ gopkg.in/mgo.v2/internal/sasl
|
||||
gopkg.in/mgo.v2/internal/scram
|
||||
# gopkg.in/ory-am/dockertest.v3 v3.3.4
|
||||
gopkg.in/ory-am/dockertest.v3
|
||||
# gopkg.in/square/go-jose.v2 v2.4.1
|
||||
# gopkg.in/square/go-jose.v2 v2.5.1
|
||||
gopkg.in/square/go-jose.v2
|
||||
gopkg.in/square/go-jose.v2/cipher
|
||||
gopkg.in/square/go-jose.v2/json
|
||||
gopkg.in/square/go-jose.v2/jwt
|
||||
# gopkg.in/yaml.v2 v2.2.8
|
||||
gopkg.in/yaml.v2
|
||||
# gotest.tools/gotestsum v0.3.5
|
||||
gotest.tools/gotestsum
|
||||
gotest.tools/gotestsum/internal/junitxml
|
||||
gotest.tools/gotestsum/testjson
|
||||
# honnef.co/go/tools v0.0.1-2020.1.3
|
||||
honnef.co/go/tools/arg
|
||||
honnef.co/go/tools/cmd/staticcheck
|
||||
|
||||
Reference in New Issue
Block a user