Skip to content

Commit da25948

Browse files
authored
✨ implement vault delete for berglas (#7078)
* ✨ implement vault delete for berglas Signed-off-by: Ivan Milchev <ivan@mondoo.com> * address comments Signed-off-by: Ivan Milchev <ivan@mondoo.com> --------- Signed-off-by: Ivan Milchev <ivan@mondoo.com>
1 parent 367c149 commit da25948

File tree

14 files changed

+118
-11
lines changed

14 files changed

+118
-11
lines changed

providers-sdk/v1/vault/awsparameterstore/parameterstore.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,3 +70,7 @@ func (v *Vault) Get(ctx context.Context, id *vault.SecretID) (*vault.Secret, err
7070
func (v *Vault) Set(ctx context.Context, cred *vault.Secret) (*vault.SecretID, error) {
7171
return nil, errors.New("not implemented")
7272
}
73+
74+
func (v *Vault) Delete(ctx context.Context, id *vault.SecretID) (*vault.Empty, error) {
75+
return nil, vault.NotImplementedError
76+
}

providers-sdk/v1/vault/awssecretsmanager/secretsmanager.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,10 @@ func (v *Vault) Set(ctx context.Context, cred *vault.Secret) (*vault.SecretID, e
102102
return &vault.SecretID{Key: *o.ARN}, err
103103
}
104104

105+
func (v *Vault) Delete(ctx context.Context, id *vault.SecretID) (*vault.Empty, error) {
106+
return nil, vault.NotImplementedError
107+
}
108+
105109
func (v *Vault) updateSecret(ctx context.Context, cred *vault.Secret) (*vault.SecretID, error) {
106110
var kmsKeyID *string
107111
if len(v.kmsKeyID) > 0 {

providers-sdk/v1/vault/cache/cached_vault.go

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,3 +42,12 @@ func (c *cachedVault) Get(ctx context.Context, id *vault.SecretID) (*vault.Secre
4242
func (c *cachedVault) Set(ctx context.Context, s *vault.Secret) (*vault.SecretID, error) {
4343
return c.vault.Set(ctx, s)
4444
}
45+
46+
func (c *cachedVault) Delete(ctx context.Context, id *vault.SecretID) (*vault.Empty, error) {
47+
res, err := c.vault.Delete(ctx, id)
48+
if err != nil {
49+
return nil, err
50+
}
51+
delete(c.secrets, id.Key)
52+
return res, nil
53+
}

providers-sdk/v1/vault/gcpberglas/berglas.go

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -114,6 +114,28 @@ func (v *Vault) Get(ctx context.Context, id *vault.SecretID) (*vault.Secret, err
114114
}, nil
115115
}
116116

117+
func (v *Vault) Delete(ctx context.Context, id *vault.SecretID) (*vault.Empty, error) {
118+
c, err := v.client(ctx)
119+
if err != nil {
120+
return nil, err
121+
}
122+
123+
berglasInfo, err := getBerglasStorageInfo(id.Key)
124+
if err != nil {
125+
return nil, err
126+
}
127+
128+
err = c.Delete(ctx, &berglas.StorageDeleteRequest{
129+
Bucket: berglasInfo.bucket,
130+
Object: berglasInfo.object,
131+
})
132+
if err != nil {
133+
return nil, err
134+
}
135+
136+
return &vault.Empty{}, nil
137+
}
138+
117139
func (v *Vault) Set(ctx context.Context, cred *vault.Secret) (*vault.SecretID, error) {
118140
if len(v.kmsKeyID) == 0 {
119141
return nil, errors.New("specified KMS key id is empty")

providers-sdk/v1/vault/gcpsecretmanager/secretmanager.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,3 +87,7 @@ func (v *Vault) Get(ctx context.Context, id *vault.SecretID) (*vault.Secret, err
8787
func (v *Vault) Set(ctx context.Context, cred *vault.Secret) (*vault.SecretID, error) {
8888
return nil, errors.New("not implemented")
8989
}
90+
91+
func (v *Vault) Delete(ctx context.Context, id *vault.SecretID) (*vault.Empty, error) {
92+
return nil, vault.NotImplementedError
93+
}

providers-sdk/v1/vault/hashivault/hashivault.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -126,3 +126,7 @@ func secretData(s *api.Secret) ([]byte, error) {
126126
func (v *Vault) Set(ctx context.Context, cred *vault.Secret) (*vault.SecretID, error) {
127127
return nil, errors.New("not implemented")
128128
}
129+
130+
func (v *Vault) Delete(ctx context.Context, id *vault.SecretID) (*vault.Empty, error) {
131+
return nil, vault.NotImplementedError
132+
}

providers-sdk/v1/vault/inmemory/inmemory.go

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,3 +60,15 @@ func (v *inmemoryVault) Get(ctx context.Context, id *vault.SecretID) (*vault.Sec
6060
}
6161
return s, nil
6262
}
63+
64+
func (v *inmemoryVault) Delete(ctx context.Context, id *vault.SecretID) (*vault.Empty, error) {
65+
if id == nil {
66+
return nil, errors.New("secret id is empty")
67+
}
68+
69+
if _, ok := v.secrets[id.Key]; !ok {
70+
return nil, vault.NotFoundError
71+
}
72+
delete(v.secrets, id.Key)
73+
return &vault.Empty{}, nil
74+
}

providers-sdk/v1/vault/keyring/keyring.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -125,3 +125,7 @@ func (v *Vault) Get(ctx context.Context, id *vault.SecretID) (*vault.Secret, err
125125
Encoding: vault.SecretEncoding_encoding_json,
126126
}, nil
127127
}
128+
129+
func (v *Vault) Delete(ctx context.Context, id *vault.SecretID) (*vault.Empty, error) {
130+
return nil, vault.NotImplementedError
131+
}

providers-sdk/v1/vault/mock/mock_vault.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,3 +62,7 @@ func (v *Vault) Get(ctx context.Context, id *vault.SecretID) (*vault.Secret, err
6262
func (v *Vault) Set(ctx context.Context, cred *vault.Secret) (*vault.SecretID, error) {
6363
return nil, errors.New("not implemented")
6464
}
65+
66+
func (v *Vault) Delete(ctx context.Context, id *vault.SecretID) (*vault.Empty, error) {
67+
return nil, vault.NotImplementedError
68+
}

providers-sdk/v1/vault/multivault/multivault.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,3 +56,7 @@ func (m *multiVault) Get(ctx context.Context, id *vault.SecretID) (*vault.Secret
5656

5757
return nil, vault.NotFoundError
5858
}
59+
60+
func (m *multiVault) Delete(ctx context.Context, id *vault.SecretID) (*vault.Empty, error) {
61+
return nil, vault.NotImplementedError
62+
}

0 commit comments

Comments
 (0)