Skip to content

Commit

Permalink
Merge pull request #1741 from FabianKramm/main
Browse files Browse the repository at this point in the history
fix: set import-name correctly
  • Loading branch information
FabianKramm authored May 6, 2024
2 parents 437b87f + e354e9f commit 95c686a
Show file tree
Hide file tree
Showing 5 changed files with 16 additions and 11 deletions.
2 changes: 1 addition & 1 deletion cmd/vclusterctl/cmd/activate.go
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ Imports a vCluster into a vCluster platform project.
Example:
vcluster activate my-vcluster --cluster connected-cluster \
--namespace vcluster-my-vcluster --project my-project --import-name my-vcluster
#######################################################
########################################################
`

importCmd := &cobra.Command{
Expand Down
2 changes: 1 addition & 1 deletion pkg/cli/activate_helm.go
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ func ActivateHelm(ctx context.Context, options *ActivateOptions, globalFlags *fl
}

// apply platform secret
err = platformClient.ApplyPlatformSecret(ctx, kubeClient, vCluster.Name, vCluster.Namespace, options.Project)
err = platformClient.ApplyPlatformSecret(ctx, kubeClient, options.ImportName, vCluster.Namespace, options.Project)
if err != nil {
return err
}
Expand Down
2 changes: 1 addition & 1 deletion pkg/cli/activate_platform.go
Original file line number Diff line number Diff line change
Expand Up @@ -136,7 +136,7 @@ func getAgentConfig(ctx context.Context, kubeContext string) (*managementv1.Agen
if err != nil {
return nil, err
} else if agentConfigSecret == nil {
return nil, fmt.Errorf("could not determine current vCluster.Pro cluster, please make sure the current context is connected to vCluster.Pro. If this is not an error, you can also specify the cluster manually via '--cluster'")
return nil, fmt.Errorf("could not determine connected vCluster platform cluster, please make sure the current context is connected to vCluster platform. If this is not an error, you can also specify the cluster manually via '--cluster'")
}

// get data
Expand Down
2 changes: 1 addition & 1 deletion pkg/cli/create_helm.go
Original file line number Diff line number Diff line change
Expand Up @@ -275,7 +275,7 @@ func CreateHelm(ctx context.Context, options *CreateOptions, globalFlags *flags.
if !hasPlatformConfiguration && cmd.Activate {
platformClient, err := platform.CreatePlatformClient()
if err == nil {
err = platformClient.ApplyPlatformSecret(ctx, cmd.kubeClient, "vcluster-platform-api-key", cmd.Namespace, cmd.Project)
err = platformClient.ApplyPlatformSecret(ctx, cmd.kubeClient, "", cmd.Namespace, cmd.Project)
if err != nil {
return fmt.Errorf("apply platform secret: %w", err)
}
Expand Down
19 changes: 12 additions & 7 deletions pkg/platform/secret.go
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,9 @@ import (
ctrlclient "sigs.k8s.io/controller-runtime/pkg/client"
)

func (c *client) ApplyPlatformSecret(ctx context.Context, kubeClient kubernetes.Interface, name, namespace, project string) error {
const DefaultPlatformSecretName = "vcluster-platform-api-key"

func (c *client) ApplyPlatformSecret(ctx context.Context, kubeClient kubernetes.Interface, importName, namespace, project string) error {
managementClient, err := c.Management()
if err != nil {
return fmt.Errorf("create management client: %w", err)
Expand Down Expand Up @@ -84,21 +86,24 @@ func (c *client) ApplyPlatformSecret(ctx context.Context, kubeClient kubernetes.
if project != "" {
payload["project"] = []byte(project)
}
if importName != "" {
payload["name"] = []byte(importName)
}

// check if secret already exists
keySecret, err := kubeClient.CoreV1().Secrets(namespace).Get(ctx, name, metav1.GetOptions{})
keySecret, err := kubeClient.CoreV1().Secrets(namespace).Get(ctx, DefaultPlatformSecretName, metav1.GetOptions{})
if err != nil && !kerrors.IsNotFound(err) {
return fmt.Errorf("error getting platform secret %s/%s: %w", namespace, name, err)
return fmt.Errorf("error getting platform secret %s/%s: %w", namespace, DefaultPlatformSecretName, err)
} else if kerrors.IsNotFound(err) {
_, err = kubeClient.CoreV1().Secrets(namespace).Create(ctx, &corev1.Secret{
ObjectMeta: metav1.ObjectMeta{
Name: name,
Name: DefaultPlatformSecretName,
Namespace: namespace,
},
Data: payload,
}, metav1.CreateOptions{})
if err != nil {
return fmt.Errorf("error creating platform secret %s/%s: %w", namespace, name, err)
return fmt.Errorf("error creating platform secret %s/%s: %w", namespace, DefaultPlatformSecretName, err)
}

return nil
Expand All @@ -112,13 +117,13 @@ func (c *client) ApplyPlatformSecret(ctx context.Context, kubeClient kubernetes.
keySecret.Data = payload
patchBytes, err := patch.Data(keySecret)
if err != nil {
return fmt.Errorf("error creating patch for platform secret %s/%s: %w", namespace, name, err)
return fmt.Errorf("error creating patch for platform secret %s/%s: %w", namespace, DefaultPlatformSecretName, err)
}

// patch the secret
_, err = kubeClient.CoreV1().Secrets(namespace).Patch(ctx, keySecret.Name, patch.Type(), patchBytes, metav1.PatchOptions{})
if err != nil {
return fmt.Errorf("error patching platform secret %s/%s: %w", namespace, name, err)
return fmt.Errorf("error patching platform secret %s/%s: %w", namespace, DefaultPlatformSecretName, err)
}

return nil
Expand Down

0 comments on commit 95c686a

Please sign in to comment.