mirror of
https://github.com/ysoftdevs/gardener-extension-shoot-fleet-agent.git
synced 2026-03-29 21:32:11 +02:00
Added support for configuration per project
Shoots with type==Infrastructure will not be considered to be added to Fleet
This commit is contained in:
@@ -2,7 +2,13 @@ package controller
|
||||
|
||||
import (
|
||||
"context"
|
||||
b64 "encoding/base64"
|
||||
|
||||
"github.com/go-logr/logr"
|
||||
|
||||
"k8s.io/client-go/tools/clientcmd"
|
||||
|
||||
fleetConfig "github.com/javamachr/gardener-extension-shoot-fleet-agent/pkg/apis/config"
|
||||
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"
|
||||
@@ -66,3 +72,31 @@ func (f *FleetManager) CreateKubeconfigSecret(ctx context.Context, secret *corev
|
||||
func (f *FleetManager) DeleteKubeconfigSecret(ctx context.Context, secretName string) error {
|
||||
return f.secretClient.CoreV1().Secrets(f.namespace).Delete(ctx, secretName, metav1.DeleteOptions{})
|
||||
}
|
||||
|
||||
// createFleetManager creates fleet manager for given configuration
|
||||
func createFleetManager(config fleetConfig.ProjectConfig, logger logr.Logger) *FleetManager {
|
||||
logger.Info("Creating Fleet manager for config", "config", config)
|
||||
fleetKubeConfig, err := b64.StdEncoding.DecodeString(config.Kubeconfig)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
var kubeconfigPath string
|
||||
if kubeconfigPath, err = writeKubeconfigToTempFile(fleetKubeConfig); err != nil {
|
||||
panic(err)
|
||||
}
|
||||
logger.Info("Written kubeconfig to temp", "file", kubeconfigPath)
|
||||
fleetClientConfig, err := clientcmd.BuildConfigFromFlags("", kubeconfigPath)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
logger.Info("Fleet k8s client successfully built.")
|
||||
var fleetNamespace = "clusters"
|
||||
if len(config.Namespace) != 0 {
|
||||
fleetNamespace = config.Namespace
|
||||
}
|
||||
fleetManager, err := NewManagerForConfig(fleetClientConfig, fleetNamespace)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
return fleetManager
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user