Pertimbangkan untuk menggunakan skrip untuk membaca konfigurasi hulu, memodifikasinya, dan meludahkannya ke file drop-in.
Sebagai contoh, saya menggunakan Chef dan inilah sepotong ruby (perpustakaan) yang mem-parsing file systemd marathon unit untuk mendapatkan ExecStart asli darinya
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
Kemudian dalam resep, saya membuat file drop-in untuk menambahkan opsi ke 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