Considere usar un script para leer la configuración ascendente, modificarla y escupirla al archivo desplegable.
Por ejemplo, uso Chef y aquí hay una pieza de ruby (biblioteca) que analiza el archivo de unidad de maratón systemd para obtener ExecStart original de él
require 'inifile'
module Dcos
def get_execstart_from_unit_file
marathon_systemd_unit_file =
IniFile.load('/etc/systemd/system/dcos-marathon.service')
return marathon_systemd_unit_file['Service']['ExecStart']
end
end
Luego, en la receta, creo el archivo desplegable para agregar una opción a ExecStart
chef_gem 'inifile'
exec_start_orig = get_execstart_from_unit_file
systemd_service_drop_in 'dcos-marathon' do
override 'dcos-marathon.service'
precursor 'Service' => { 'ExecStart' => nil }
service do
exec_start exec_start_orig + ' --env_vars_prefix "DCOS_MARATHON_"'
end
end