Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var RootCmd = &cobra.Command{ Use: "agent", Short: "Agent.", Long: `Sidecar agent for Galera that co-operates with mariadb-operator.`, Args: cobra.NoArgs, Run: func(cmd *cobra.Command, args []string) { if err := log.SetupLoggerWithCommand(cmd); err != nil { fmt.Printf("error setting up logger: %v\n", err) os.Exit(1) } logger.Info("Starting agent") env, err := environment.GetPodEnv(context.Background()) if err != nil { logger.Error(err, "Error getting environment variables") os.Exit(1) } fileManager, err := filemanager.NewFileManager(configDir, stateDir) if err != nil { logger.Error(err, "Error creating file manager") os.Exit(1) } state := state.NewState(stateDir) k8sClient, err := getK8sClient() if err != nil { logger.Error(err, "Error getting Kubernetes client") os.Exit(1) } mariadbKey := types.NamespacedName{ Name: env.MariadbName, Namespace: env.PodNamespace, } handlerLogger := logger.WithName("handler") handler := handler.NewHandler( mariadbKey, k8sClient, fileManager, state, &handlerLogger, handler.WithRecoveryTimeout(recoveryTimeout), ) routerOpts := []router.Option{ router.WithCompressLevel(compressLevel), router.WithRateLimit(rateLimitRequests, rateLimitDuration), } if kubernetesAuth && kubernetesTrustedName != "" && kubernetesTrustedNamespace != "" { routerOpts = append(routerOpts, router.WithKubernetesAuth( kubernetesAuth, &kubeauth.Trusted{ ServiceAccountName: kubernetesTrustedName, ServiceAccountNamespace: kubernetesTrustedNamespace, }, )) } router := router.NewRouter( handler, k8sClient, logger, routerOpts..., ) serverLogger := logger.WithName("server") server := server.NewServer( addr, router, &serverLogger, server.WithGracefulShutdownTimeout(gracefulShutdownTimeout), ) if err := server.Start(context.Background()); err != nil { logger.Error(err, "server error") os.Exit(1) } }, }
Functions ¶
This section is empty.
Types ¶
This section is empty.
Click to show internal directories.
Click to hide internal directories.