Yukarı akış yapılandırmasını okumak için bir komut dosyası kullanmayı düşünün, değiştirin ve açılan dosyaya tükürün.
Örneğin, Chef kullanıyorum ve işte orijinal ExecStart'ı almak için maraton sistemd birim dosyasını ayrıştıran bir parça yakut (kütüphane).
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
Sonra tarifte, ExecStart'a bir seçenek eklemek için açılan dosyayı oluşturuyorum
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