Skip to content

Commit c90e06a

Browse files
author
Jeff McCormick
committed
update user delete cmd logic
1 parent 5def44d commit c90e06a

File tree

2 files changed

+31
-3
lines changed

2 files changed

+31
-3
lines changed

client/cmd/user.go

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -159,7 +159,7 @@ func userManager() {
159159
}
160160
if DeleteUser != "" {
161161
fmt.Println("deleting user " + DeleteUser)
162-
deleteUser(info, DeleteUser)
162+
deleteUser(cluster.Spec.Name, info, DeleteUser)
163163
}
164164
if AddUser != "" {
165165
fmt.Println("adding new user " + AddUser)
@@ -411,7 +411,7 @@ func addUser(clusterName string, info ConnInfo, newUser string) {
411411
}
412412

413413
}
414-
func deleteUser(info ConnInfo, user string) {
414+
func deleteUser(clusterName string, info ConnInfo, user string) {
415415
var conn *sql.DB
416416
var err error
417417

@@ -423,7 +423,14 @@ func deleteUser(info ConnInfo, user string) {
423423

424424
var rows *sql.Rows
425425

426-
querystr := "drop user if exists " + user
426+
querystr := "drop owned by " + user + " cascade"
427+
log.Debug(querystr)
428+
rows, err = conn.Query(querystr)
429+
if err != nil {
430+
log.Debug(err.Error())
431+
os.Exit(2)
432+
}
433+
querystr = "drop user if exists " + user
427434
log.Debug(querystr)
428435
rows, err = conn.Query(querystr)
429436
if err != nil {
@@ -440,4 +447,10 @@ func deleteUser(info ConnInfo, user string) {
440447
}
441448
}()
442449

450+
err = util.DeleteUserSecret(Clientset, clusterName, user, Namespace)
451+
if err != nil {
452+
log.Debug(err.Error())
453+
os.Exit(2)
454+
}
455+
443456
}

operator/util/secrets.go

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -250,3 +250,18 @@ func UpdateUserSecret(clientset *kubernetes.Clientset, clustername, username, pa
250250

251251
return err
252252
}
253+
254+
func DeleteUserSecret(clientset *kubernetes.Clientset, clustername, username, namespace string) error {
255+
//delete current secret
256+
secretName := clustername + "-" + username + "-secret"
257+
258+
options := meta_v1.DeleteOptions{}
259+
err := clientset.Secrets(namespace).Delete(secretName, &options)
260+
if err != nil {
261+
log.Error("error deleting secret" + err.Error())
262+
return err
263+
} else {
264+
log.Info("deleted secret " + secretName)
265+
}
266+
return err
267+
}

0 commit comments

Comments
 (0)