mirror of
https://github.com/optim-enterprises-bv/vault.git
synced 2025-10-29 09:42:25 +00:00
Vault 18005 plugin api lock status (#21925)
* add APILockShouldBlockRequest to backend proto * make proto * add APILockShouldBlockRequest to system view * Revert "make proto" This reverts commit 7f33733f185e8a7419590d82150e85abdcc5e707. * Revert "add APILockShouldBlockRequest to backend proto" This reverts commit a3bf41f7f2a0811dd323fbff4da45a582c942f2b. * move APILockShouldBlockRequest to extended sys view * add changelog entry
This commit is contained in:
3
changelog/21925.txt
Normal file
3
changelog/21925.txt
Normal file
@@ -0,0 +1,3 @@
|
||||
```release-note:improvement
|
||||
kmip (enterprise): Add namespace lock and unlock support
|
||||
```
|
||||
@@ -107,27 +107,32 @@ type PasswordPolicy interface {
|
||||
type ExtendedSystemView interface {
|
||||
Auditor() Auditor
|
||||
ForwardGenericRequest(context.Context, *Request) (*Response, error)
|
||||
|
||||
// APILockShouldBlockRequest returns whether a namespace for the requested
|
||||
// mount is locked and should be blocked
|
||||
APILockShouldBlockRequest() (bool, error)
|
||||
}
|
||||
|
||||
type PasswordGenerator func() (password string, err error)
|
||||
|
||||
type StaticSystemView struct {
|
||||
DefaultLeaseTTLVal time.Duration
|
||||
MaxLeaseTTLVal time.Duration
|
||||
SudoPrivilegeVal bool
|
||||
TaintedVal bool
|
||||
CachingDisabledVal bool
|
||||
Primary bool
|
||||
EnableMlock bool
|
||||
LocalMountVal bool
|
||||
ReplicationStateVal consts.ReplicationState
|
||||
EntityVal *Entity
|
||||
GroupsVal []*Group
|
||||
Features license.Features
|
||||
PluginEnvironment *PluginEnvironment
|
||||
PasswordPolicies map[string]PasswordGenerator
|
||||
VersionString string
|
||||
ClusterUUID string
|
||||
DefaultLeaseTTLVal time.Duration
|
||||
MaxLeaseTTLVal time.Duration
|
||||
SudoPrivilegeVal bool
|
||||
TaintedVal bool
|
||||
CachingDisabledVal bool
|
||||
Primary bool
|
||||
EnableMlock bool
|
||||
LocalMountVal bool
|
||||
ReplicationStateVal consts.ReplicationState
|
||||
EntityVal *Entity
|
||||
GroupsVal []*Group
|
||||
Features license.Features
|
||||
PluginEnvironment *PluginEnvironment
|
||||
PasswordPolicies map[string]PasswordGenerator
|
||||
VersionString string
|
||||
ClusterUUID string
|
||||
APILockShouldBlockRequestVal bool
|
||||
}
|
||||
|
||||
type noopAuditor struct{}
|
||||
@@ -253,3 +258,7 @@ func (d *StaticSystemView) DeletePasswordPolicy(name string) (existed bool) {
|
||||
func (d StaticSystemView) ClusterID(ctx context.Context) (string, error) {
|
||||
return d.ClusterUUID, nil
|
||||
}
|
||||
|
||||
func (d StaticSystemView) APILockShouldBlockRequest() (bool, error) {
|
||||
return d.APILockShouldBlockRequestVal, nil
|
||||
}
|
||||
|
||||
@@ -136,6 +136,20 @@ func (e extendedSystemViewImpl) SudoPrivilege(ctx context.Context, path string,
|
||||
return authResults.RootPrivs
|
||||
}
|
||||
|
||||
func (e extendedSystemViewImpl) APILockShouldBlockRequest() (bool, error) {
|
||||
mountEntry := e.mountEntry
|
||||
if mountEntry == nil {
|
||||
return false, fmt.Errorf("no mount entry")
|
||||
}
|
||||
ns := mountEntry.Namespace()
|
||||
|
||||
if err := enterpriseBlockRequestIfError(e.core, ns.Path, mountEntry.Path); err != nil {
|
||||
return true, nil
|
||||
}
|
||||
|
||||
return false, nil
|
||||
}
|
||||
|
||||
func (d dynamicSystemView) DefaultLeaseTTL() time.Duration {
|
||||
def, _ := d.fetchTTLs()
|
||||
return def
|
||||
|
||||
Reference in New Issue
Block a user