When Ignition is updating kernel arguments it will call out to a binary (defined in
internal/distro/distro.go and overridable at build-time via overriding the
github.com/coreos/ignition/v2/internal/distro.kargsCmd build flag). Ignition expects that the binary accepts
--should-not-exist parameters. Should exist operations should append the argument if missing and should not exist should NOT fail if the argument is not present. The binary should also reboot the system if necessary.
As an example of the binary implementation look at
If your implementation of Ignition doesn’t intend to ship kargs functionality the
ignition-kargs.service unit should be disabled.