Skip to content

Commit 607c11f

Browse files
committed
copy pull secret file into the VM
this removes code adding the pull-secret to the cluster using `oc`, instead it copies the pull secret file to /opt/crc/crc-pullsecret which is then used by a systemd service in the bundle to add the pull secret to the cluster for both the openshift and microshift presets
1 parent cad6cb4 commit 607c11f

File tree

2 files changed

+9
-39
lines changed

2 files changed

+9
-39
lines changed

pkg/crc/cluster/cluster.go

Lines changed: 0 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ package cluster
33
import (
44
"context"
55
"crypto/x509"
6-
"encoding/base64"
76
"encoding/json"
87
"fmt"
98
"math"
@@ -180,40 +179,6 @@ func EnsureSSHKeyPresentInTheCluster(ctx context.Context, ocConfig oc.Config, ss
180179
return nil
181180
}
182181

183-
func EnsurePullSecretPresentInTheCluster(ctx context.Context, ocConfig oc.Config, pullSec PullSecretLoader) error {
184-
if err := WaitForOpenshiftResource(ctx, ocConfig, "secret"); err != nil {
185-
return err
186-
}
187-
188-
stdout, stderr, err := ocConfig.RunOcCommandPrivate("get", "secret", "pull-secret", "-n", "openshift-config", "-o", `jsonpath="{['data']['\.dockerconfigjson']}"`)
189-
if err != nil {
190-
return fmt.Errorf("Failed to get pull secret %v: %s", err, stderr)
191-
}
192-
decoded, err := base64.StdEncoding.DecodeString(stdout)
193-
if err != nil {
194-
return err
195-
}
196-
if err := validation.ImagePullSecret(string(decoded)); err == nil {
197-
return nil
198-
}
199-
200-
logging.Info("Adding user's pull secret to the cluster...")
201-
content, err := pullSec.Value()
202-
if err != nil {
203-
return err
204-
}
205-
base64OfPullSec := base64.StdEncoding.EncodeToString([]byte(content))
206-
cmdArgs := []string{"patch", "secret", "pull-secret", "-p",
207-
fmt.Sprintf(`'{"data":{".dockerconfigjson":"%s"}}'`, base64OfPullSec),
208-
"-n", "openshift-config", "--type", "merge"}
209-
210-
_, stderr, err = ocConfig.RunOcCommandPrivate(cmdArgs...)
211-
if err != nil {
212-
return fmt.Errorf("Failed to add Pull secret %v: %s", err, stderr)
213-
}
214-
return nil
215-
}
216-
217182
func EnsureGeneratedClientCAPresentInTheCluster(ctx context.Context, ocConfig oc.Config, sshRunner *ssh.Runner, selfSignedCACert *x509.Certificate, adminCert string) error {
218183
selfSignedCAPem := crctls.CertToPem(selfSignedCACert)
219184
if err := WaitForOpenshiftResource(ctx, ocConfig, "configmaps"); err != nil {

pkg/crc/machine/start.go

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -521,6 +521,15 @@ func (client *client) Start(ctx context.Context, startConfig types.StartConfig)
521521
return nil, errors.Wrap(err, "Failed to check certificate validity")
522522
}
523523

524+
// copy the pull secret into /opt/crc/pull-secret in the instance
525+
pullSecret, err := startConfig.PullSecret.Value()
526+
if err != nil {
527+
return nil, err
528+
}
529+
if err := sshRunner.CopyDataPrivileged([]byte(pullSecret), "/opt/crc/pull-secret", 0600); err != nil {
530+
return nil, errors.Wrap(err, "Unable to send pull-secret to instance")
531+
}
532+
524533
logging.Info("Starting kubelet service")
525534
sd := systemd.NewInstanceSystemdCommander(sshRunner)
526535
if err := sd.Start("kubelet"); err != nil {
@@ -546,10 +555,6 @@ func (client *client) Start(ctx context.Context, startConfig types.StartConfig)
546555
return nil, err
547556
}
548557

549-
if err := cluster.EnsurePullSecretPresentInTheCluster(ctx, ocConfig, startConfig.PullSecret); err != nil {
550-
return nil, errors.Wrap(err, "Failed to update cluster pull secret")
551-
}
552-
553558
if err := cluster.EnsureSSHKeyPresentInTheCluster(ctx, ocConfig, constants.GetPublicKeyPath()); err != nil {
554559
return nil, errors.Wrap(err, "Failed to update ssh public key to machine config")
555560
}

0 commit comments

Comments
 (0)