added support for label updates, unregister on delete, configurable Fleet namespace for registration

This commit is contained in:
Jakub Vavřík
2021-01-29 15:07:48 +01:00
parent 9495e8e200
commit 0d74cb5852
2 changed files with 86 additions and 32 deletions

View File

@@ -2,6 +2,7 @@ package controller
import (
"context"
clientset "github.com/javamachr/gardener-extension-shoot-fleet-agent/pkg/client/fleet/clientset/versioned"
"github.com/rancher/fleet/pkg/apis/fleet.cattle.io/v1alpha1"
corev1 "k8s.io/api/core/v1"
@@ -46,6 +47,11 @@ func (f *FleetManager) UpdateCluster(ctx context.Context, cluster *v1alpha1.Clus
return f.fleetClient.FleetV1alpha1().Clusters(f.namespace).Update(ctx, cluster, metav1.UpdateOptions{})
}
// DeleteCluster deletes a cluster registration in remote fleet
func (f *FleetManager) DeleteCluster(ctx context.Context, clusterName string) error {
return f.fleetClient.FleetV1alpha1().Clusters(f.namespace).Delete(ctx, clusterName, metav1.DeleteOptions{})
}
// GetCluster gets a cluster registration from remote fleet
func (f *FleetManager) GetCluster(ctx context.Context, clusterName string) (*v1alpha1.Cluster, error) {
return f.fleetClient.FleetV1alpha1().Clusters(f.namespace).Get(ctx, clusterName, metav1.GetOptions{})
@@ -55,3 +61,8 @@ func (f *FleetManager) GetCluster(ctx context.Context, clusterName string) (*v1a
func (f *FleetManager) CreateKubeconfigSecret(ctx context.Context, secret *corev1.Secret) (*corev1.Secret, error) {
return f.secretClient.CoreV1().Secrets(f.namespace).Create(ctx, secret, metav1.CreateOptions{})
}
// DeleteKubeconfigSecret deletes a clusters kubeconfig secret in remote fleet
func (f *FleetManager) DeleteKubeconfigSecret(ctx context.Context, secretName string) error {
return f.secretClient.CoreV1().Secrets(f.namespace).Delete(ctx, secretName, metav1.DeleteOptions{})
}