diff --git a/internal/db/schema/migrations/oss/postgres/88/03_update_storage_bucket_credentials.up.sql b/internal/db/schema/migrations/oss/postgres/88/03_update_storage_bucket_credentials.up.sql index ada39df4f4..fb5d08a000 100644 --- a/internal/db/schema/migrations/oss/postgres/88/03_update_storage_bucket_credentials.up.sql +++ b/internal/db/schema/migrations/oss/postgres/88/03_update_storage_bucket_credentials.up.sql @@ -5,27 +5,27 @@ begin; create view update_worker_storage_bucket_credential as select distinct - sb.scope_id as storage_bucket_scope_id, - sb.name as storage_bucket_name, - sb.description as storage_bucket_description, - sb.bucket_name as storage_bucket_bucket_name, - sb.bucket_prefix as storage_bucket_bucket_prefix, - sb.worker_filter as storage_bucket_worker_filter, - sb.attributes as storage_bucket_attributes, - sb.plugin_id as plugin_id, + sb.public_id, + sb.scope_id, + sb.name, + sb.description, + sb.bucket_name, + sb.bucket_prefix, + sb.worker_filter, + sb.attributes, + sb.version, + sb.plugin_id, + sb.storage_bucket_credential_id, pl.name as plugin_name, pl.description as plugin_description, - sbc.storage_bucket_id as storage_bucket_id, sbcms.secrets_encrypted as ct_secrets, sbcms.key_id as key_id - from storage_bucket_credential sbc - join storage_plugin_storage_bucket sb - on sbc.storage_bucket_id = sb.public_id + from storage_plugin_storage_bucket sb join plugin pl on sb.plugin_id = pl.public_id left join storage_bucket_credential_managed_secret sbcms - on sbc.private_id = sbcms.private_id; + on sb.storage_bucket_credential_id = sbcms.private_id; comment on view update_worker_storage_bucket_credential is 'update_worker_storage_bucket_credential is used find workers using storage bucket credentials that need to be updated to the latest version.'; diff --git a/internal/server/worker_storage_bucket.go b/internal/server/worker_storage_bucket.go index 51064aaeea..681f3487bb 100644 --- a/internal/server/worker_storage_bucket.go +++ b/internal/server/worker_storage_bucket.go @@ -19,20 +19,21 @@ import ( const UpsertWorkerStorageBucketJobName = "upsert_worker_storage_bucket" type UpdateStorageBucketCredential struct { - StorageBucketId string `gorm:"primary_key"` - Version int32 - CtSecrets []byte - KeyId string - StorageBucketScopeId string - StorageBucketName string - StorageBucketDescription string - StorageBucketBucketName string - StorageBucketBucketPrefix string - StorageBucketWorkerFilter string - StorageBucketAttributes []byte + PublicId string `gorm:"primary_key"` + StorageBucketCredentialId string + ScopeId string + Name string + Description string + BucketName string + BucketPrefix string + WorkerFilter string + Attributes []byte PluginId string PluginName string PluginDescription string + KeyId string + CtSecrets []byte + Version uint32 } // TableName returns the table name for gorm @@ -49,23 +50,24 @@ func ToPluginStorageBucket(ctx context.Context, usb *UpdateStorageBucketCredenti } sb := &storagebuckets.StorageBucket{ - Id: usb.StorageBucketId, - ScopeId: usb.StorageBucketScopeId, - PluginId: usb.PluginId, - Name: wrapperspb.String(usb.StorageBucketBucketName), - Description: wrapperspb.String(usb.StorageBucketDescription), - BucketName: usb.StorageBucketBucketName, - BucketPrefix: usb.StorageBucketBucketPrefix, - WorkerFilter: usb.StorageBucketWorkerFilter, + Id: usb.PublicId, + StorageBucketCredentialId: usb.StorageBucketCredentialId, + ScopeId: usb.ScopeId, + PluginId: usb.PluginId, + Description: wrapperspb.String(usb.Description), + BucketName: usb.BucketName, + BucketPrefix: usb.BucketPrefix, + WorkerFilter: usb.WorkerFilter, Plugin: &plugins.PluginInfo{ Id: usb.PluginId, Name: usb.PluginName, Description: usb.PluginDescription, }, + Version: usb.Version, } - if usb.StorageBucketAttributes != nil { + if usb.Attributes != nil { attrs := &structpb.Struct{} - if err := proto.Unmarshal(usb.StorageBucketAttributes, attrs); err != nil { + if err := proto.Unmarshal(usb.Attributes, attrs); err != nil { return nil, errors.Wrap(ctx, err, op, errors.WithMsg("unable to unmarshal attributes")) } sb.Attributes = attrs @@ -78,7 +80,7 @@ func ToPluginStorageBucket(ctx context.Context, usb *UpdateStorageBucketCredenti sbc := allocFn() sbc.SetKeyId(usb.KeyId) - sbc.SetStorageBucketId(usb.StorageBucketId) + sbc.SetStorageBucketId(usb.PublicId) sbc.SetCtSecrets(usb.CtSecrets) if sbc.Decrypt(ctx, wrapper) != nil {