diff --git a/pkg/capabilities/actions/vault/messages.pb.go b/pkg/capabilities/actions/vault/messages.pb.go index d607130d15..6b045cd96c 100644 --- a/pkg/capabilities/actions/vault/messages.pb.go +++ b/pkg/capabilities/actions/vault/messages.pb.go @@ -738,6 +738,7 @@ func (x *CreateSecretResponse) GetError() string { type CreateSecretsResponse struct { state protoimpl.MessageState `protogen:"open.v1"` Responses []*CreateSecretResponse `protobuf:"bytes,1,rep,name=responses,proto3" json:"responses,omitempty"` + RequestId string `protobuf:"bytes,2,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } @@ -779,6 +780,13 @@ func (x *CreateSecretsResponse) GetResponses() []*CreateSecretResponse { return nil } +func (x *CreateSecretsResponse) GetRequestId() string { + if x != nil { + return x.RequestId + } + return "" +} + type UpdateSecretsRequest struct { state protoimpl.MessageState `protogen:"open.v1"` RequestId string `protobuf:"bytes,1,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` @@ -914,6 +922,7 @@ func (x *UpdateSecretResponse) GetError() string { type UpdateSecretsResponse struct { state protoimpl.MessageState `protogen:"open.v1"` Responses []*UpdateSecretResponse `protobuf:"bytes,1,rep,name=responses,proto3" json:"responses,omitempty"` + RequestId string `protobuf:"bytes,2,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } @@ -955,6 +964,13 @@ func (x *UpdateSecretsResponse) GetResponses() []*UpdateSecretResponse { return nil } +func (x *UpdateSecretsResponse) GetRequestId() string { + if x != nil { + return x.RequestId + } + return "" +} + type DeleteSecretsRequest struct { state protoimpl.MessageState `protogen:"open.v1"` RequestId string `protobuf:"bytes,1,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` @@ -1090,6 +1106,7 @@ func (x *DeleteSecretResponse) GetError() string { type DeleteSecretsResponse struct { state protoimpl.MessageState `protogen:"open.v1"` Responses []*DeleteSecretResponse `protobuf:"bytes,1,rep,name=responses,proto3" json:"responses,omitempty"` + RequestId string `protobuf:"bytes,2,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } @@ -1131,6 +1148,13 @@ func (x *DeleteSecretsResponse) GetResponses() []*DeleteSecretResponse { return nil } +func (x *DeleteSecretsResponse) GetRequestId() string { + if x != nil { + return x.RequestId + } + return "" +} + type ListSecretIdentifiersRequest struct { state protoimpl.MessageState `protogen:"open.v1"` RequestId string `protobuf:"bytes,1,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` @@ -1216,6 +1240,7 @@ type ListSecretIdentifiersResponse struct { Identifiers []*SecretIdentifier `protobuf:"bytes,1,rep,name=identifiers,proto3" json:"identifiers,omitempty"` Success bool `protobuf:"varint,2,opt,name=success,proto3" json:"success,omitempty"` Error string `protobuf:"bytes,3,opt,name=error,proto3" json:"error,omitempty"` + RequestId string `protobuf:"bytes,4,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } @@ -1271,6 +1296,13 @@ func (x *ListSecretIdentifiersResponse) GetError() string { return "" } +func (x *ListSecretIdentifiersResponse) GetRequestId() string { + if x != nil { + return x.RequestId + } + return "" +} + type Observation struct { state protoimpl.MessageState `protogen:"open.v1"` Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` @@ -2386,9 +2418,11 @@ const file_capabilities_actions_vault_messages_proto_rawDesc = "" + "\x14CreateSecretResponse\x12'\n" + "\x02id\x18\x01 \x01(\v2\x17.vault.SecretIdentifierR\x02id\x12\x18\n" + "\asuccess\x18\x02 \x01(\bR\asuccess\x12\x14\n" + - "\x05error\x18\x03 \x01(\tR\x05error\"R\n" + + "\x05error\x18\x03 \x01(\tR\x05error\"q\n" + "\x15CreateSecretsResponse\x129\n" + - "\tresponses\x18\x01 \x03(\v2\x1b.vault.CreateSecretResponseR\tresponses\"\xc0\x01\n" + + "\tresponses\x18\x01 \x03(\v2\x1b.vault.CreateSecretResponseR\tresponses\x12\x1d\n" + + "\n" + + "request_id\x18\x02 \x01(\tR\trequestId\"\xc0\x01\n" + "\x14UpdateSecretsRequest\x12\x1d\n" + "\n" + "request_id\x18\x01 \x01(\tR\trequestId\x12C\n" + @@ -2398,9 +2432,11 @@ const file_capabilities_actions_vault_messages_proto_rawDesc = "" + "\x14UpdateSecretResponse\x12'\n" + "\x02id\x18\x01 \x01(\v2\x17.vault.SecretIdentifierR\x02id\x12\x18\n" + "\asuccess\x18\x02 \x01(\bR\asuccess\x12\x14\n" + - "\x05error\x18\x03 \x01(\tR\x05error\"R\n" + + "\x05error\x18\x03 \x01(\tR\x05error\"q\n" + "\x15UpdateSecretsResponse\x129\n" + - "\tresponses\x18\x01 \x03(\v2\x1b.vault.UpdateSecretResponseR\tresponses\"\xa6\x01\n" + + "\tresponses\x18\x01 \x03(\v2\x1b.vault.UpdateSecretResponseR\tresponses\x12\x1d\n" + + "\n" + + "request_id\x18\x02 \x01(\tR\trequestId\"\xa6\x01\n" + "\x14DeleteSecretsRequest\x12\x1d\n" + "\n" + "request_id\x18\x01 \x01(\tR\trequestId\x12)\n" + @@ -2410,20 +2446,24 @@ const file_capabilities_actions_vault_messages_proto_rawDesc = "" + "\x14DeleteSecretResponse\x12'\n" + "\x02id\x18\x01 \x01(\v2\x17.vault.SecretIdentifierR\x02id\x12\x18\n" + "\asuccess\x18\x02 \x01(\bR\asuccess\x12\x14\n" + - "\x05error\x18\x03 \x01(\tR\x05error\"R\n" + + "\x05error\x18\x03 \x01(\tR\x05error\"q\n" + "\x15DeleteSecretsResponse\x129\n" + - "\tresponses\x18\x01 \x03(\v2\x1b.vault.DeleteSecretResponseR\tresponses\"\xb7\x01\n" + + "\tresponses\x18\x01 \x03(\v2\x1b.vault.DeleteSecretResponseR\tresponses\x12\x1d\n" + + "\n" + + "request_id\x18\x02 \x01(\tR\trequestId\"\xb7\x01\n" + "\x1cListSecretIdentifiersRequest\x12\x1d\n" + "\n" + "request_id\x18\x01 \x01(\tR\trequestId\x12\x14\n" + "\x05owner\x18\x02 \x01(\tR\x05owner\x12\x1c\n" + "\tnamespace\x18\x03 \x01(\tR\tnamespace\x12\x19\n" + "\x06org_id\x18\x04 \x01(\tB\x02\x18\x01R\x05orgId\x12)\n" + - "\x0eworkflow_owner\x18\x05 \x01(\tB\x02\x18\x01R\rworkflowOwner\"\x8a\x01\n" + + "\x0eworkflow_owner\x18\x05 \x01(\tB\x02\x18\x01R\rworkflowOwner\"\xa9\x01\n" + "\x1dListSecretIdentifiersResponse\x129\n" + "\videntifiers\x18\x01 \x03(\v2\x17.vault.SecretIdentifierR\videntifiers\x12\x18\n" + "\asuccess\x18\x02 \x01(\bR\asuccess\x12\x14\n" + - "\x05error\x18\x03 \x01(\tR\x05error\"\xec\a\n" + + "\x05error\x18\x03 \x01(\tR\x05error\x12\x1d\n" + + "\n" + + "request_id\x18\x04 \x01(\tR\trequestId\"\xec\a\n" + "\vObservation\x12\x0e\n" + "\x02id\x18\x01 \x01(\tR\x02id\x125\n" + "\frequest_type\x18\x02 \x01(\x0e2\x12.vault.RequestTypeR\vrequestType\x12S\n" + diff --git a/pkg/capabilities/actions/vault/messages.proto b/pkg/capabilities/actions/vault/messages.proto index f2f5367396..eea17f82c7 100644 --- a/pkg/capabilities/actions/vault/messages.proto +++ b/pkg/capabilities/actions/vault/messages.proto @@ -67,6 +67,7 @@ message CreateSecretResponse { message CreateSecretsResponse { repeated CreateSecretResponse responses = 1; + string request_id = 2; } message UpdateSecretsRequest { @@ -84,6 +85,7 @@ message UpdateSecretResponse { message UpdateSecretsResponse { repeated UpdateSecretResponse responses = 1; + string request_id = 2; } message DeleteSecretsRequest { @@ -101,6 +103,7 @@ message DeleteSecretResponse { message DeleteSecretsResponse { repeated DeleteSecretResponse responses = 1; + string request_id = 2; } message ListSecretIdentifiersRequest { @@ -115,6 +118,7 @@ message ListSecretIdentifiersResponse { repeated SecretIdentifier identifiers = 1; bool success = 2; string error = 3; + string request_id = 4; } enum RequestType { diff --git a/pkg/settings/cresettings/README.md b/pkg/settings/cresettings/README.md index 6db54efa3d..880a8972c1 100644 --- a/pkg/settings/cresettings/README.md +++ b/pkg/settings/cresettings/README.md @@ -49,6 +49,7 @@ flowchart VaultGetSecretsShareAggregationIncludesPublicKeys[/VaultGetSecretsShareAggregationIncludesPublicKeys\]:::gate VaultOwnerAddressCanonicalizationEnabled[/VaultOwnerAddressCanonicalizationEnabled\]:::gate VaultJSONOmitUnpopulatedEnabled[/VaultJSONOmitUnpopulatedEnabled\]:::gate + VaultSignedResponseRequestIDEnabled[/VaultSignedResponseRequestIDEnabled\]:::gate end subgraph HandleNodeMessage[gatewayHandler.HandleNodeMessage] diff --git a/pkg/settings/cresettings/defaults.json b/pkg/settings/cresettings/defaults.json index 0e7b08bd5d..b8e3bc3d08 100644 --- a/pkg/settings/cresettings/defaults.json +++ b/pkg/settings/cresettings/defaults.json @@ -14,6 +14,7 @@ "VaultGetSecretsShareAggregationIncludesPublicKeys": "false", "VaultOwnerAddressCanonicalizationEnabled": "false", "VaultJSONOmitUnpopulatedEnabled": "false", + "VaultSignedResponseRequestIDEnabled": "false", "GatewayHTTPGlobalRate": "500rps:500", "GatewayHTTPPerNodeRate": "100rps:100", "GatewayConfidentialRelayGlobalRate": "50rps:10", diff --git a/pkg/settings/cresettings/defaults.toml b/pkg/settings/cresettings/defaults.toml index d049a4e1de..49eb4c4569 100644 --- a/pkg/settings/cresettings/defaults.toml +++ b/pkg/settings/cresettings/defaults.toml @@ -13,6 +13,7 @@ VaultOptimizationsEnabled = 'false' VaultGetSecretsShareAggregationIncludesPublicKeys = 'false' VaultOwnerAddressCanonicalizationEnabled = 'false' VaultJSONOmitUnpopulatedEnabled = 'false' +VaultSignedResponseRequestIDEnabled = 'false' GatewayHTTPGlobalRate = '500rps:500' GatewayHTTPPerNodeRate = '100rps:100' GatewayConfidentialRelayGlobalRate = '50rps:10' diff --git a/pkg/settings/cresettings/settings.go b/pkg/settings/cresettings/settings.go index 3ac6f4dce0..8bef11f198 100644 --- a/pkg/settings/cresettings/settings.go +++ b/pkg/settings/cresettings/settings.go @@ -68,6 +68,7 @@ var Default = Schema{ VaultGetSecretsShareAggregationIncludesPublicKeys: Bool(false), VaultOwnerAddressCanonicalizationEnabled: Bool(false), VaultJSONOmitUnpopulatedEnabled: Bool(false), + VaultSignedResponseRequestIDEnabled: Bool(false), GatewayHTTPGlobalRate: Rate(rate.Limit(500), 500), GatewayHTTPPerNodeRate: Rate(rate.Limit(100), 100), GatewayConfidentialRelayGlobalRate: Rate(rate.Limit(50), 10), @@ -326,6 +327,7 @@ type Schema struct { VaultGetSecretsShareAggregationIncludesPublicKeys Setting[bool] VaultOwnerAddressCanonicalizationEnabled Setting[bool] VaultJSONOmitUnpopulatedEnabled Setting[bool] + VaultSignedResponseRequestIDEnabled Setting[bool] GatewayHTTPGlobalRate Setting[config.Rate] GatewayHTTPPerNodeRate Setting[config.Rate] GatewayConfidentialRelayGlobalRate Setting[config.Rate] diff --git a/pkg/settings/cresettings/settings_test.go b/pkg/settings/cresettings/settings_test.go index 793b264ff3..8865f0cbd0 100644 --- a/pkg/settings/cresettings/settings_test.go +++ b/pkg/settings/cresettings/settings_test.go @@ -138,6 +138,7 @@ func TestSchema_Unmarshal(t *testing.T) { assert.False(t, cfg.VaultGetSecretsShareAggregationIncludesPublicKeys.DefaultValue) assert.False(t, cfg.VaultOwnerAddressCanonicalizationEnabled.DefaultValue) assert.False(t, cfg.VaultJSONOmitUnpopulatedEnabled.DefaultValue) + assert.False(t, cfg.VaultSignedResponseRequestIDEnabled.DefaultValue) assert.Equal(t, config.Rate{Limit: rate.Limit(20), Burst: 7}, cfg.GatewayConfidentialRelayGlobalRate.DefaultValue) assert.Equal(t, config.Rate{Limit: rate.Limit(4), Burst: 2}, cfg.GatewayConfidentialRelayPerNodeRate.DefaultValue) assert.Equal(t, 48*time.Hour, cfg.PerOrg.ZeroBalancePruningTimeout.DefaultValue)