@@ -13,7 +13,7 @@ import (
1313
1414 "github.com/crc-org/crc/v2/pkg/crc/constants"
1515 "github.com/crc-org/crc/v2/pkg/crc/logging"
16- "github.com/crc-org/crc/v2/pkg/crc/oc "
16+ "github.com/crc-org/crc/v2/pkg/crc/ssh "
1717 "golang.org/x/crypto/bcrypt"
1818)
1919
@@ -29,7 +29,7 @@ func GenerateKubeAdminUserPassword() error {
2929}
3030
3131// UpdateKubeAdminUserPassword updates the htpasswd secret
32- func UpdateKubeAdminUserPassword (ctx context.Context , ocConfig oc. Config , newPassword string ) error {
32+ func UpdateKubeAdminUserPassword (ctx context.Context , sshRunner * ssh. Runner , newPassword string ) error {
3333 if newPassword != "" {
3434 logging .Infof ("Overriding password for kubeadmin user" )
3535 if err := os .WriteFile (constants .GetKubeAdminPasswordPath (), []byte (strings .TrimSpace (newPassword )), 0600 ); err != nil {
@@ -41,39 +41,14 @@ func UpdateKubeAdminUserPassword(ctx context.Context, ocConfig oc.Config, newPas
4141 if err != nil {
4242 return fmt .Errorf ("Cannot read the kubeadmin user password from file: %w" , err )
4343 }
44- credentials := map [string ]string {
45- "developer" : "developer" ,
46- "kubeadmin" : kubeAdminPassword ,
47- }
4844
49- if err := WaitForOpenshiftResource ( ctx , ocConfig , "secret" ); err != nil {
45+ if err := sshRunner . CopyDataPrivileged ([] byte ( kubeAdminPassword ), "/opt/crc/pass_kubeadmin" , 0600 ); err != nil {
5046 return err
5147 }
5248
53- given , stderr , err := ocConfig .RunOcCommandPrivate ("get" , "secret" , "htpass-secret" , "-n" , "openshift-config" , "-o" , `jsonpath="{.data.htpasswd}"` )
54- if err != nil {
55- return fmt .Errorf ("%s:%v" , stderr , err )
56- }
57- ok , externals , err := compareHtpasswd (given , credentials )
58- if err != nil {
49+ if err := sshRunner .CopyDataPrivileged ([]byte ("developer" ), "/opt/crc/pass_developer" , 0600 ); err != nil {
5950 return err
6051 }
61- if ok {
62- return nil
63- }
64-
65- logging .Infof ("Changing the password for the kubeadmin user" )
66- expected , err := getHtpasswd (credentials , externals )
67- if err != nil {
68- return err
69- }
70- cmdArgs := []string {"patch" , "secret" , "htpass-secret" , "-p" ,
71- fmt .Sprintf (`'{"data":{"htpasswd":"%s"}}'` , expected ),
72- "-n" , "openshift-config" , "--type" , "merge" }
73- _ , stderr , err = ocConfig .RunOcCommandPrivate (cmdArgs ... )
74- if err != nil {
75- return fmt .Errorf ("Failed to update kubeadmin password %v: %s" , err , stderr )
76- }
7752 return nil
7853}
7954
0 commit comments