Skip to content

Commit bd889a7

Browse files
mortenljtronghn
andcommitted
Use postgres-user to reassign ownership
Co-authored-by: Trong Nguyen <[email protected]>
1 parent 5fc21e1 commit bd889a7

File tree

3 files changed

+15
-12
lines changed

3 files changed

+15
-12
lines changed

cmd/promote/main.go

+4-4
Original file line numberDiff line numberDiff line change
@@ -99,15 +99,15 @@ func main() {
9999
os.Exit(12)
100100
}
101101

102-
certPaths, err := instance.CreateSslCert(ctx, cfg, mgr, target.Name, &target.SslCert)
102+
certPaths, err := database.PrepareTargetDatabase(ctx, cfg, target, gcpProject, mgr)
103103
if err != nil {
104-
mgr.Logger.Error("failed to create ssl certificate", "error", err)
104+
mgr.Logger.Error("failed to prepare target database", "error", err)
105105
os.Exit(13)
106106
}
107107

108-
err = database.ChangeOwnership(ctx, mgr, target, "postgres", certPaths)
108+
err = database.ChangeOwnership(ctx, mgr, target, config.PostgresDatabaseName, certPaths)
109109
if err != nil {
110-
mgr.Logger.Error("failed to change ownership for database", "databaseName", "postgres", "error", err)
110+
mgr.Logger.Error("failed to change ownership for database", "databaseName", config.PostgresDatabaseName, "error", err)
111111
os.Exit(14)
112112
}
113113

cmd/setup/main.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,7 @@ func main() {
115115
os.Exit(15)
116116
}
117117

118-
err = database.PrepareTargetDatabase(ctx, cfg, target, gcpProject, mgr)
118+
_, err = database.PrepareTargetDatabase(ctx, cfg, target, gcpProject, mgr)
119119
if err != nil {
120120
mgr.Logger.Error("failed to prepare target database", "error", err)
121121
os.Exit(16)

internal/pkg/database/database.go

+10-7
Original file line numberDiff line numberDiff line change
@@ -96,17 +96,20 @@ func DeleteTargetDatabaseResource(ctx context.Context, cfg *config.Config, mgr *
9696
return nil
9797
}
9898

99-
func PrepareTargetDatabase(ctx context.Context, cfg *config.Config, target *resolved.Instance, gcpProject *resolved.GcpProject, mgr *common_main.Manager) error {
99+
func PrepareTargetDatabase(ctx context.Context, cfg *config.Config, target *resolved.Instance, gcpProject *resolved.GcpProject, mgr *common_main.Manager) (*instance.CertPaths, error) {
100100
databasePassword := makePassword(cfg, mgr.Logger)
101101
err := SetDatabasePassword(ctx, cfg.TargetInstance.Name, config.PostgresDatabaseUser, databasePassword, gcpProject, mgr)
102102
if err != nil {
103-
return err
103+
return nil, err
104104
}
105105
target.PostgresPassword = databasePassword
106106

107-
_, err = instance.CreateSslCert(ctx, cfg, mgr, cfg.TargetInstance.Name, &target.SslCert)
107+
certPaths, err := instance.CreateSslCert(ctx, cfg, mgr, cfg.TargetInstance.Name, &target.SslCert)
108+
if err != nil {
109+
return nil, err
110+
}
108111

109-
return nil
112+
return certPaths, nil
110113
}
111114

112115
func makePassword(cfg *config.Config, logger *slog.Logger) string {
@@ -250,8 +253,8 @@ func ChangeOwnership(ctx context.Context, mgr *common_main.Manager, target *reso
250253

251254
dbConn, err := createConnection(
252255
target.PrimaryIp,
253-
target.AppUsername,
254-
target.AppPassword,
256+
config.PostgresDatabaseUser,
257+
target.PostgresPassword,
255258
databaseName,
256259
certPaths.RootCertPath,
257260
certPaths.KeyPath,
@@ -263,7 +266,7 @@ func ChangeOwnership(ctx context.Context, mgr *common_main.Manager, target *reso
263266
}
264267
defer dbConn.Close()
265268

266-
logger.Info("reassigning ownership from cloudsqlexternalsync to app user", "database", databaseName, "user", target.AppUsername)
269+
logger.Info("reassigning ownership from cloudsqlexternalsync to cloudsqlsuperuser", "database", databaseName, "user", target.AppUsername)
267270

268271
_, err = dbConn.ExecContext(ctx, "REASSIGN OWNED BY cloudsqlexternalsync to cloudsqlsuperuser;")
269272
if err != nil {

0 commit comments

Comments
 (0)