अपस्ट्रीम कॉन्फ़िगरेशन को पढ़ने के लिए एक स्क्रिप्ट का उपयोग करने पर विचार करें, इसे संशोधित करें और ड्रॉप-इन फ़ाइल में इसे थूक दें।
उदाहरण के लिए, मैं शेफ का उपयोग करता हूं और यहां माणिक (पुस्तकालय) का एक टुकड़ा है जो मूल एक्सेस्टार्ट को प्राप्त करने के लिए मैराथन सिस्टमड यूनिट फ़ाइल को पार्स करता है
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
फिर नुस्खा में, मैं 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