internal/node/hybrid/daemons.go (41 lines of code) (raw):

package hybrid import ( "context" "github.com/pkg/errors" "github.com/aws/eks-hybrid/internal/containerd" "github.com/aws/eks-hybrid/internal/daemon" "github.com/aws/eks-hybrid/internal/iamrolesanywhere" "github.com/aws/eks-hybrid/internal/kubelet" ) func (hnp *HybridNodeProvider) withDaemonManager() error { manager, err := daemon.NewDaemonManager() if err != nil { return err } hnp.daemonManager = manager return nil } func (hnp *HybridNodeProvider) GetDaemons() ([]daemon.Daemon, error) { if hnp.awsConfig == nil { return nil, errors.New("aws config not set") } return []daemon.Daemon{ containerd.NewContainerdDaemon(hnp.daemonManager, hnp.nodeConfig, hnp.awsConfig, hnp.logger), kubelet.NewKubeletDaemon(hnp.daemonManager, hnp.nodeConfig, hnp.awsConfig), }, nil } func (hnp *HybridNodeProvider) PreProcessDaemon(ctx context.Context) error { if hnp.nodeConfig.IsIAMRolesAnywhere() { if hnp.nodeConfig.Spec.Hybrid.EnableCredentialsFile { hnp.logger.Info("Configuring aws_signing_helper_update daemon") signingHelper := iamrolesanywhere.NewSigningHelperDaemon(hnp.daemonManager, hnp.nodeConfig) if err := signingHelper.Configure(); err != nil { return err } if err := signingHelper.EnsureRunning(ctx); err != nil { return err } } } return nil }