最新のapt=6.1.4
内にunattended_upgrades
を設定するとします。シェフのクックブック配列属性を代用するユースケースは何ですか?
:
{
"name": "default_base",
"description": "Role applied to all workstations and servers",
"json_class": "Chef::Role",
"default_attributes": {
"apt": {
"unattended_upgrades" : {
"enable": "true",
"allowed_origins" : [
"${distro_id}:${distro_codename}-security"
],
"mail": "[email protected]"
}
}
}
をしかし、設定の最後の部分は、次のようになります。
Unattended-Upgrade::Allowed-Origins {
"Ubuntu xenial";
"${distro_id}:${distro_codename}-security";
};
Ubuntu xenial
はaptの料理 `属性/ default.rbファイルで定義された配列の要素であります。また、docに記述されているようにrole属性とマージされています。これは配列なのでです。
回避方法が1つしか見つかりませんでした。default_attributes
セクションの属性をdefault_base
ロールにリセットしました。
"default_attributes": {
"apt": {
"unattended_upgrades" : {
"allowed_origins" : []
}
}
}
結果として、結果のロールには、同じ役割の同じ属性宣言が含まれていますが、優先順位は異なります。
これはなんですか?
Common use case | Good solution | Dirty hack | Unskillful engineer