func()

in credentialproviderpackage/pkg/configurator/linux/linux.go [67:97]


func (c *linuxOS) updateConfigFile(configPath string) error {
	file, err := os.ReadFile(configPath)
	if err != nil {
		return err
	}

	lines := strings.Split(string(file), "\n")
	found := false
	for i, line := range lines {
		if strings.HasPrefix(line, "KUBELET_EXTRA_ARGS") {
			found = true
			args := c.updateKubeletArguments(line)

			if args != "" {
				lines[i] = line + args + "\n"
			}
		}
	}
	if !found {
		line := "KUBELET_EXTRA_ARGS="
		args := c.updateKubeletArguments(line)
		if args != "" {
			line = line + args
		}
		lines = append(lines, line)
	}

	out := strings.Join(lines, "\n")
	err = os.WriteFile(configPath, []byte(out), 0o644)
	return err
}