You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
45 lines
1.1 KiB
45 lines
1.1 KiB
---
|
|
|
|
- name: Set initial facts
|
|
block:
|
|
- set_fact: crowdsec_install_mode='none'
|
|
- set_fact: crowdsec_current_version=''
|
|
tags: crowdsec
|
|
|
|
- name: Check if crowdsec is installed
|
|
stat: path=/usr/local/bin/crowdsec
|
|
register: crowdsec_bin
|
|
tags: crowdsec
|
|
|
|
- name: Check installed version
|
|
shell: |
|
|
crowdsec -version 2>&1 | perl -ne 'm/version: v(\d+(\.\d+)*)/ && print $1'
|
|
register: crowdsec_current_version
|
|
changed_when: False
|
|
when: crowdsec_bin.stat.exists
|
|
tags: crowdsec
|
|
|
|
- name: Set install mode
|
|
set_fact: crowdsec_install_mode='install'
|
|
when: not crowdsec_bin.stat.exists
|
|
tags: crowdsec
|
|
|
|
- name: Set upgrade mode
|
|
set_fact: crowdsec_install_mode='upgrade'
|
|
when:
|
|
- crowdsec_bin.stat.exists
|
|
- crowdsec_current_version.stdout != crowdsec_version
|
|
tags: crowdsec
|
|
|
|
# Create a random db password if needed
|
|
- block:
|
|
- import_tasks: ../includes/get_rand_pass.yml
|
|
vars:
|
|
- pass_file: "/etc/crowdsec/meta/ansible_db_pass"
|
|
- complex: False
|
|
- set_fact: crowdsec_db_pass={{ rand_pass }}
|
|
when:
|
|
- crowdsec_db_pass is not defined
|
|
- crowdsec_lapi_enabled
|
|
tags: crowdsec
|
|
|
|
|