Ahoj
mám dotaz na někoho znalejšího v Ansible.
Přidávám řádky do souboru pf.conf, to se provede správně.
Pokud však spustím task znovu, opět mi vloží řádek
block drop in log quick on $ext_if inet from <sshguard> to any .
Problém dělá znak $, který Ansible asi vyhodnotí jako konec řádku, ne jako znak.
Zkoušel jsem tedy zadat \ před $, ale to vyvolá chybu syntaxe.
Proto jsem výraz \$ zkoušel uzavíral do .složených závorek, uvozovek atd. ale buď mi hlásí chybu syntaxe nebo při dalším spuštění vloží znovu řádek.
Ví někdo poradit jak ošetřit $, tak aby mi řádek vložil do souboru jen jednou?
Díky
Robin
Ukázka tasku
- name: CONFIG | Add Sshguard in /etc/pf.conf
lineinfile: >
backup=yes
dest=/etc/pf.conf
regexp="^{{ item.value }}"
insertafter="^{{ item.anchor }}"
line="{{ item.value }}"
owner=root
group=wheel
mode=0640
validate='pfctl -vnf %s'
with_items:
- { anchor: "# table sshguard", value: "table <sshguard> persist"}
- { anchor: "# rule sshguard", value: "block drop in log quick on $ext_if inet from <sshguard> to any"}