Мне нужно поместить содержимое файла в другой файл, если это содержимое еще не существует (идемпотентно) с помощью chef.
file1.txt
имеет следующее содержимое:
subject=/DC=corp/DC=NAME/CN=COMPANY Issuing CA
issuer=/CN=COMPANY Root CA
-----BEGIN CERTIFICATE-----
fewfgwgwegarearentnsrtntrstrntnsrtntnstrntrnsrtnstrnsrtnrtnsrtnr
gregargragregrGRGrgregREGREGRGZTDNBFNFGNFGNFGNFGNBDVvhrhrehrehre
gewgreaghareherhherhhaeharehrehreahreahrehearhreahreahaerhrehher
-----END CERTIFICATE-----
subject=/CN=COMPANY Root CA
issuer=/CN=COMPANY Root CA
-----BEGIN CERTIFICATE-----
INjIVNRIVNRVINRvORIniNNknjnejvejnringringrongrognreonganaI6udddd
febwgpubgiurbguiregbeagubpaegigreaignaeingreaingeaingaeinhaddddd
findaofgbugbrluigblzriugbzrugaRIGjRIJgaprjgarigarianbnblkrnbnjna
wfefrgregeGWGWG=
-----END CERTIFICATE-----
Второй файл /opt/chef/embedded/ssl/certs/cacert.pem
, где мне нужно поместить цепочку из file1.txt
, если она еще не существует.
Ресурс, который я использую, таков:
bash 'add company cert chain to chef certs' do
code <<-EOH
cat /etc/pki/ca-trust/source/anchors/comp.corp.ca.chain.2018.crt >> /opt/chef/embedded/ssl/certs/cacert.pem
EOH
not_if 'grep "$(cat /etc/pki/ca-trust/source/anchors/comp.corp.ca.chain.2018.crt)" /opt/chef/embedded/ssl/certs/cacert.pem'
end
По какой-то причине это не работает.
Может кто-нибудь объяснить, что я делаю не так?
Спасибо.
Габи