diff --git a/internal/dinosaur/pkg/api/dbapi/central_request_types.go b/internal/dinosaur/pkg/api/dbapi/central_request_types.go index 96209f71ba..7e9b0ef67f 100644 --- a/internal/dinosaur/pkg/api/dbapi/central_request_types.go +++ b/internal/dinosaur/pkg/api/dbapi/central_request_types.go @@ -77,7 +77,7 @@ type CentralRequest struct { Secrets api.JSON `json:"secrets"` // SecretDataSum is the b64 encoded hash of plain text data of the stored secrets. // It used used for equality checks of secrets in the dataplane cluster with the secrets stored in DB - SecretDataSum string `json:"secrets_data_sum"` + SecretDataSum string `json:"secret_data_sum"` Namespace string `json:"namespace"` RoutesCreationID string `json:"routes_creation_id"` diff --git a/internal/dinosaur/pkg/migrations/20240122180000_add_alternate_user_id.go b/internal/dinosaur/pkg/migrations/20240122180000_add_alternate_user_id copy.go similarity index 100% rename from internal/dinosaur/pkg/migrations/20240122180000_add_alternate_user_id.go rename to internal/dinosaur/pkg/migrations/20240122180000_add_alternate_user_id copy.go diff --git a/internal/dinosaur/pkg/migrations/20240703120000_add_secret_data_sum.go b/internal/dinosaur/pkg/migrations/20240703120000_add_secret_data_sum.go new file mode 100644 index 0000000000..45eae1ae7f --- /dev/null +++ b/internal/dinosaur/pkg/migrations/20240703120000_add_secret_data_sum.go @@ -0,0 +1,34 @@ +package migrations + +// Migrations should NEVER use types from other packages. Types can change +// and then migrations run on a _new_ database will fail or behave unexpectedly. +// Instead of importing types, always re-create the type in the migration, as +// is done here, even though the same type is defined in pkg/api + +import ( + "github.com/go-gormigrate/gormigrate/v2" + "github.com/pkg/errors" + "github.com/stackrox/acs-fleet-manager/pkg/db" + "gorm.io/gorm" +) + +func addSecretDataSum() *gormigrate.Migration { + type CentralRequest struct { + db.Model + SecretDataSum string `json:"secret_data_sum"` + } + migrationID := "20240703120000" + + return &gormigrate.Migration{ + ID: migrationID, + Migrate: func(tx *gorm.DB) error { + return addColumnIfNotExists(tx, &CentralRequest{}, "secret_data_sum") + }, + Rollback: func(tx *gorm.DB) error { + return errors.Wrap( + tx.Migrator().DropColumn(&CentralRequest{}, "secret_data_sum"), + "failed to drop secret_data_sum column", + ) + }, + } +} diff --git a/internal/dinosaur/pkg/services/dinosaur.go b/internal/dinosaur/pkg/services/dinosaur.go index f494ce4b2c..7bcfd6bfa1 100644 --- a/internal/dinosaur/pkg/services/dinosaur.go +++ b/internal/dinosaur/pkg/services/dinosaur.go @@ -187,7 +187,7 @@ func (k *dinosaurService) ResetCentralSecretBackup(ctx context.Context, centralR logStateChange("reset secrets", centralRequest.ID, nil) dbConn := k.connectionFactory.New() - if err := dbConn.Model(centralRequest).Select("secrets", "secrets_data_hash").Updates(centralRequest).Error; err != nil { + if err := dbConn.Model(centralRequest).Select("secrets", "secret_data_sum").Updates(centralRequest).Error; err != nil { return errors.NewWithCause(errors.ErrorGeneral, err, "Unable to reset secrets for central request") }