diff --git a/pkg/registry/apis/secret/reststorage/secure_value_rest.go b/pkg/registry/apis/secret/reststorage/secure_value_rest.go index 1314e7b43e9..b81447ff023 100644 --- a/pkg/registry/apis/secret/reststorage/secure_value_rest.go +++ b/pkg/registry/apis/secret/reststorage/secure_value_rest.go @@ -105,9 +105,9 @@ func (s *SecureValueRest) List(ctx context.Context, options *internalversion.Lis fieldSelector = fields.Everything() } - allowedSecureValues := make([]secretv0alpha1.SecureValue, 0, len(secureValueList)) + allowedSecureValues := make([]secretv0alpha1.SecureValue, 0, len(secureValueList.Items)) - for _, secureValue := range secureValueList { + for _, secureValue := range secureValueList.Items { // Filter by label if labelSelector.Matches(labels.Set(secureValue.Labels)) { // Filter by status.phase diff --git a/pkg/storage/secret/metadata/query.go b/pkg/storage/secret/metadata/query.go index 7ae41fb943b..8c29a525ea1 100644 --- a/pkg/storage/secret/metadata/query.go +++ b/pkg/storage/secret/metadata/query.go @@ -33,15 +33,6 @@ var ( sqlSecureValueUpdateStatus = mustTemplate("secure_value_updateStatus.sql") sqlSecureValueReadForDecrypt = mustTemplate("secure_value_read_for_decrypt.sql") - sqlSecureValueRead = mustTemplate("secure_value_read.sql") - sqlSecureValueList = mustTemplate("secure_value_list.sql") - sqlSecureValueCreate = mustTemplate("secure_value_create.sql") - sqlSecureValueDelete = mustTemplate("secure_value_delete.sql") - sqlSecureValueUpdate = mustTemplate("secure_value_update.sql") - sqlSecureValueUpdateExternalId = mustTemplate("secure_value_updateExternalId.sql") - sqlSecureValueUpdateStatus = mustTemplate("secure_value_updateStatus.sql") - sqlSecureValueReadForDecrypt = mustTemplate("secure_value_read_for_decrypt.sql") - sqlSecureValueOutboxAppend = mustTemplate("secure_value_outbox_append.sql") sqlSecureValueOutboxReceiveN = mustTemplate("secure_value_outbox_receiveN.sql") sqlSecureValueOutboxDelete = mustTemplate("secure_value_outbox_delete.sql") diff --git a/pkg/storage/secret/metadata/query_test.go b/pkg/storage/secret/metadata/query_test.go index 07e33240747..e07a8844844 100644 --- a/pkg/storage/secret/metadata/query_test.go +++ b/pkg/storage/secret/metadata/query_test.go @@ -302,189 +302,6 @@ func TestSecureValueQueries(t *testing.T) { }) } -func TestSecureValueQueries(t *testing.T) { - mocks.CheckQuerySnapshots(t, mocks.TemplateTestSetup{ - RootDir: "testdata", - Templates: map[*template.Template][]mocks.TemplateTestCase{ - sqlSecureValueRead: { - { - Name: "read", - Data: &readSecureValue{ - SQLTemplate: mocks.NewTestingSQLTemplate(), - Name: "name", - Namespace: "ns", - }, - }, - { - Name: "read-for-update", - Data: &readSecureValue{ - SQLTemplate: mocks.NewTestingSQLTemplate(), - Name: "name", - Namespace: "ns", - IsForUpdate: true, - }, - }, - }, - sqlSecureValueList: { - { - Name: "list", - Data: &listSecureValue{ - SQLTemplate: mocks.NewTestingSQLTemplate(), - Namespace: "ns", - }, - }, - }, - sqlSecureValueCreate: { - { - Name: "create-null", - Data: &createSecureValue{ - SQLTemplate: mocks.NewTestingSQLTemplate(), - Row: &secureValueDB{ - GUID: "abc", - Name: "name", - Namespace: "ns", - Annotations: `{"x":"XXXX"}`, - Labels: `{"a":"AAA", "b", "BBBB"}`, - Created: 1234, - CreatedBy: "user:ryan", - Updated: 5678, - UpdatedBy: "user:cameron", - Phase: "creating", - Message: toNullString(nil), - Description: "description", - Keeper: toNullString(nil), - Decrypters: toNullString(nil), - Ref: toNullString(nil), - ExternalID: "extId", - }, - }, - }, - { - Name: "create-not-null", - Data: &createSecureValue{ - SQLTemplate: mocks.NewTestingSQLTemplate(), - Row: &secureValueDB{ - GUID: "abc", - Name: "name", - Namespace: "ns", - Annotations: `{"x":"XXXX"}`, - Labels: `{"a":"AAA", "b", "BBBB"}`, - Created: 1234, - CreatedBy: "user:ryan", - Updated: 5678, - UpdatedBy: "user:cameron", - Phase: "creating", - Message: toNullString(ptr.To("message_test")), - Description: "description", - Keeper: toNullString(ptr.To("keeper_test")), - Decrypters: toNullString(ptr.To("decrypters_test")), - Ref: toNullString(ptr.To("ref_test")), - ExternalID: "extId", - }, - }, - }, - }, - sqlSecureValueDelete: { - { - Name: "delete", - Data: &deleteSecureValue{ - SQLTemplate: mocks.NewTestingSQLTemplate(), - Name: "name", - Namespace: "ns", - }, - }, - }, - sqlSecureValueUpdate: { - { - Name: "update-null", - Data: &updateSecureValue{ - SQLTemplate: mocks.NewTestingSQLTemplate(), - Name: "name", - Namespace: "ns", - Row: &secureValueDB{ - GUID: "abc", - Name: "name", - Namespace: "ns", - Annotations: `{"x":"XXXX"}`, - Labels: `{"a":"AAA", "b", "BBBB"}`, - Created: 1234, - CreatedBy: "user:ryan", - Updated: 5678, - UpdatedBy: "user:cameron", - Phase: "creating", - Message: toNullString(nil), - Description: "description", - Keeper: toNullString(nil), - Decrypters: toNullString(nil), - Ref: toNullString(nil), - ExternalID: "extId", - }, - }, - }, - { - Name: "update-not-null", - Data: &updateSecureValue{ - SQLTemplate: mocks.NewTestingSQLTemplate(), - Name: "name", - Namespace: "ns", - Row: &secureValueDB{ - GUID: "abc", - Name: "name", - Namespace: "ns", - Annotations: `{"x":"XXXX"}`, - Labels: `{"a":"AAA", "b", "BBBB"}`, - Created: 1234, - CreatedBy: "user:ryan", - Updated: 5678, - UpdatedBy: "user:cameron", - Phase: "creating", - Message: toNullString(ptr.To("message_test")), - Description: "description", - Keeper: toNullString(ptr.To("keeper_test")), - Decrypters: toNullString(ptr.To("decrypters_test")), - Ref: toNullString(ptr.To("ref_test")), - ExternalID: "extId", - }, - }, - }, - }, - sqlSecureValueUpdateExternalId: { - { - Name: "updateExternalId", - Data: &updateExternalIdSecureValue{ - SQLTemplate: mocks.NewTestingSQLTemplate(), - Name: "name", - Namespace: "ns", - ExternalID: "extId", - }, - }, - }, - sqlSecureValueUpdateStatus: { - { - Name: "updateStatus", - Data: &updateStatusSecureValue{ - SQLTemplate: mocks.NewTestingSQLTemplate(), - Name: "name", - Namespace: "ns", - Phase: "Succeeded", - Message: "message-1", - }, - }, - }, - sqlSecureValueReadForDecrypt: { - { - Name: "read-for-decrypt", - Data: &readSecureValueForDecrypt{ - SQLTemplate: mocks.NewTestingSQLTemplate(), - Name: "name", - Namespace: "ns", - }, - }, - }, - }, - }) -} - func TestSecureValueOutboxQueries(t *testing.T) { mocks.CheckQuerySnapshots(t, mocks.TemplateTestSetup{ RootDir: "testdata", diff --git a/pkg/storage/secret/migrator/migrator.go b/pkg/storage/secret/migrator/migrator.go index 75bf4f2f486..4db66a50645 100644 --- a/pkg/storage/secret/migrator/migrator.go +++ b/pkg/storage/secret/migrator/migrator.go @@ -118,36 +118,6 @@ func (*SecretDB) AddMigration(mg *migrator.Migrator) { Indices: []*migrator.Index{}, // TODO: add indexes based on the queries we make. }) - tables = append(tables, migrator.Table{ - Name: TableNameSecureValue, - Columns: []*migrator.Column{ - // Kubernetes Metadata - {Name: "guid", Type: migrator.DB_NVarchar, Length: 36, IsPrimaryKey: true}, // Fixed size of a UUID. - {Name: "name", Type: migrator.DB_NVarchar, Length: 253, Nullable: false}, // Limit enforced by K8s. - {Name: "namespace", Type: migrator.DB_NVarchar, Length: 253, Nullable: false}, // Limit enforced by K8s. - {Name: "annotations", Type: migrator.DB_Text, Nullable: true}, - {Name: "labels", Type: migrator.DB_Text, Nullable: true}, - {Name: "created", Type: migrator.DB_BigInt, Nullable: false}, - {Name: "created_by", Type: migrator.DB_Text, Nullable: false}, - {Name: "updated", Type: migrator.DB_BigInt, Nullable: false}, // Used as RV (ResourceVersion) - {Name: "updated_by", Type: migrator.DB_Text, Nullable: false}, - - // Kubernetes Status - {Name: "status_phase", Type: migrator.DB_Text, Nullable: false}, - {Name: "status_message", Type: migrator.DB_Text, Nullable: true}, - - // Spec - {Name: "description", Type: migrator.DB_NVarchar, Length: 253, Nullable: false}, // Chosen arbitrarily, but should be enough. - {Name: "keeper", Type: migrator.DB_NVarchar, Length: 253, Nullable: true}, // Keeper name, if not set, use default keeper. - {Name: "decrypters", Type: migrator.DB_Text, Nullable: true}, - {Name: "ref", Type: migrator.DB_NVarchar, Length: 1024, Nullable: true}, // Reference to third-party storage secret path.Chosen arbitrarily, but should be enough. - {Name: "external_id", Type: migrator.DB_Text, Nullable: false}, - }, - Indices: []*migrator.Index{ - {Cols: []string{"namespace", "name"}, Type: migrator.UniqueIndex}, - }, - }) - tables = append(tables, migrator.Table{ Name: TableNameEncryptedValue, Columns: []*migrator.Column{