in internal/flows/uninstall.go [57:113]
func (u *Uninstaller) uninstallDaemons(ctx context.Context) error {
if u.Artifacts.Kubelet {
u.Logger.Info("Uninstalling kubelet...")
if err := u.DaemonManager.StopDaemon(kubelet.KubeletDaemonName); err != nil {
return err
}
if err := kubelet.Uninstall(kubelet.UninstallOptions{}); err != nil {
return err
}
}
if u.Artifacts.Ssm {
u.Logger.Info("Stopping SSM daemon...")
if err := u.DaemonManager.StopDaemon(ssm.SsmDaemonName); err != nil {
return err
}
ssmRegistration := ssm.NewSSMRegistration()
region := ssmRegistration.GetRegion()
opts := []func(*config.LoadOptions) error{}
if region != "" {
opts = append(opts, config.WithRegion(region))
}
awsConfig, err := config.LoadDefaultConfig(ctx, opts...)
if err != nil {
return err
}
if err := ssm.Uninstall(ctx, ssm.UninstallOptions{
Logger: u.Logger,
SSMRegistration: ssmRegistration,
PkgSource: u.PackageManager,
SSMClient: awsSsm.NewFromConfig(awsConfig),
}); err != nil {
return fmt.Errorf("uninstalling SSM: %w", err)
}
}
if u.Artifacts.IamRolesAnywhere {
u.Logger.Info("Removing aws_signing_helper_update daemon...")
if status, err := u.DaemonManager.GetDaemonStatus(iamrolesanywhere.DaemonName); err == nil || status != daemon.DaemonStatusUnknown {
if err = u.DaemonManager.StopDaemon(iamrolesanywhere.DaemonName); err != nil {
u.Logger.Info("Stopping aws_signing_helper_update daemon...")
return err
}
}
}
if u.Artifacts.Containerd != string(containerd.ContainerdSourceNone) {
u.Logger.Info("Uninstalling containerd...")
if err := u.DaemonManager.StopDaemon(containerd.ContainerdDaemonName); err != nil {
return err
}
if err := containerd.Uninstall(ctx, u.PackageManager); err != nil {
return err
}
}
return nil
}