docs: def run_via_binary(self, command=None, foreground=False, volumes=None,
              additional_opts=None, default_options=None, name=None, *args, **kwargs):
          """
          Create new instance NspawnContianer in case of not running at foreground, in case foreground run, return process
          object
  
          :param command: list - command to run
          :param foreground: bool - run process at foreground
          :param volumes: list - put additional bind mounts
          :param additional_opts: list of more boot options for systemd-nspawn command
          :param default_options: default boot option (-b)
          :param name: str - name of running instance
          :param args: pass thru params to subprocess.Popen
          :param kwargs: pass thru params to subprocess.Popen
          :return: process or NspawnContianer instance
          """
          command = deepcopy(command) or []
          volumes = deepcopy(volumes) or []
          additional_opts = deepcopy(additional_opts) or []
          internalkw = deepcopy(kwargs) or {}
          inernalargs = deepcopy(args) or []
          if default_options is None:
              default_options = ["-b"]
          # TODO: reconsile parameters (changed from API definition)
          logger.info("run container via binary in background")
          machine_name = constants.CONU_ARTIFACT_TAG
          if name:
              machine_name += name
          else:
              machine_name += random_str()
  
          if not foreground:
              # WARN: avoid to run boot without stderr and stdout to terminal, it breaks terminal,
              # it systemd-nspawn does some magic with console
              # TODO: is able to avoid this behaviour in better way?
              internalkw["stdout"] = subprocess.PIPE
              internalkw["stderr"] = subprocess.PIPE
          additional_opts += default_options
          if volumes:
              additional_opts += self.get_volume_options(volumes=volumes)
          logger.debug("starting NSPAWN")
          systemd_command = [
              "systemd-nspawn",
              "--machine",
              machine_name,
              "-i",
              self.local_location] + additional_opts + command
          logger.debug("Start command: %s" % " ".join(systemd_command))
          callback_method = (subprocess.Popen, systemd_command, inernalargs, internalkw)
          self.container_process = NspawnContainer.internal_run_container(
              name=machine_name,
              callback_method=callback_method,
              foreground=foreground
          )
          if foreground:
              return self.container_process
          else:
              return NspawnContainer(self, None, name=machine_name,
                                     start_process=self.container_process, start_action=callback_method)