diff --git a/app/scripts/ansible/roles/haproxy-docker/defaults/main.yml b/app/scripts/ansible/roles/haproxy-docker/defaults/main.yml index 9eeb7e17..e6a705e2 100644 --- a/app/scripts/ansible/roles/haproxy-docker/defaults/main.yml +++ b/app/scripts/ansible/roles/haproxy-docker/defaults/main.yml @@ -1 +1,2 @@ -haproxy_version: "{{HAPVER.split('-')[0]}}" \ No newline at end of file +splited_haproxy_version: "{{HAPVER.split('.')[0:2]}}" +haproxy_version: "{{splited_haproxy_version[0]}}.{{splited_haproxy_version[1]}}" \ No newline at end of file diff --git a/app/scripts/ansible/roles/haproxy-docker/tasks/main.yml b/app/scripts/ansible/roles/haproxy-docker/tasks/main.yml index 44d0df87..15be7f38 100644 --- a/app/scripts/ansible/roles/haproxy-docker/tasks/main.yml +++ b/app/scripts/ansible/roles/haproxy-docker/tasks/main.yml @@ -11,7 +11,7 @@ - name: Copying over haproxy.cfg. template: - src: haproxy.cfg.j2 + src: ../../haproxy/templates/haproxy.cfg.j2 dest: "{{ HAP_DIR }}/haproxy.cfg" mode: "0666" owner: "{{ansible_user}}" @@ -20,6 +20,9 @@ become: true ignore_errors: yes +- name: Add logs tasks. + include: ../../haproxy/tasks/logs.yml + - name: Setting sysctl values. sysctl: name: "{{ item.name }}" @@ -45,4 +48,4 @@ - name: Add syn_flood tasks. include: ../../haproxy/tasks/syn_flood.yml - when: (SYN_FLOOD is defined) and (SYN_FLOOD|length > 0) \ No newline at end of file + when: (SYN_FLOOD is defined) and (SYN_FLOOD|length > 0) diff --git a/app/scripts/ansible/roles/haproxy/tasks/configure.yml b/app/scripts/ansible/roles/haproxy/tasks/configure.yml index c36f7d92..0e70b14c 100644 --- a/app/scripts/ansible/roles/haproxy/tasks/configure.yml +++ b/app/scripts/ansible/roles/haproxy/tasks/configure.yml @@ -33,28 +33,6 @@ - sestatus.stdout is defined - '"Enforcing" in sestatus.stdout' -- name: Installing HAProxy conf for rsyslog - template: - src: haproxy_rsyslog.conf.j2 - dest: /etc/rsyslog.d/haproxy.conf - ignore_errors: yes - - -- name: Installing rsyslog config - template: - src: rsyslog.conf - dest: /etc/rsyslog.conf - ignore_errors: yes - notify: restart rsyslog - - -- name: Installing HAProxy conf for logrotate - template: - src: logrotate.conf.j2 - dest: /etc/logrotate.d/haproxy.conf - ignore_errors: yes - - - name: Get HAProxy version. command: haproxy -v register: haproxy_version_result diff --git a/app/scripts/ansible/roles/haproxy/tasks/logs.yml b/app/scripts/ansible/roles/haproxy/tasks/logs.yml new file mode 100644 index 00000000..7fda5a05 --- /dev/null +++ b/app/scripts/ansible/roles/haproxy/tasks/logs.yml @@ -0,0 +1,23 @@ +- name: Installing HAProxy conf for rsyslog + template: + src: /var/www/haproxy-wi/app/scripts/ansible/roles/haproxy/templates/haproxy_rsyslog.conf.j2 + dest: /etc/rsyslog.d/haproxy.conf + force: no + ignore_errors: yes + + +- name: Installing rsyslog config + template: + src: /var/www/haproxy-wi/app/scripts/ansible/roles/haproxy/templates/rsyslog.conf + dest: /etc/rsyslog.conf + force: no + ignore_errors: yes + notify: restart rsyslog + + +- name: Installing HAProxy conf for logrotate + template: + src: /var/www/haproxy-wi/app/scripts/ansible/roles/haproxy/templates/logrotate.conf.j2 + dest: /etc/logrotate.d/haproxy.conf + force: no + ignore_errors: yes \ No newline at end of file diff --git a/app/scripts/ansible/roles/haproxy/tasks/main.yml b/app/scripts/ansible/roles/haproxy/tasks/main.yml index c3c23539..f3f64cd8 100644 --- a/app/scripts/ansible/roles/haproxy/tasks/main.yml +++ b/app/scripts/ansible/roles/haproxy/tasks/main.yml @@ -10,6 +10,8 @@ - name: populate service facts service_facts: +- include: logs.yml + - include: installation.yml - include: configure.yml diff --git a/app/scripts/ansible/roles/nginx.yml b/app/scripts/ansible/roles/nginx.yml index 36074546..914825c7 100644 --- a/app/scripts/ansible/roles/nginx.yml +++ b/app/scripts/ansible/roles/nginx.yml @@ -139,6 +139,7 @@ volumes: - "/etc/nginx/:/etc/nginx/:rw" - "/tmp:/tmp:ro" + - "/var/log:/var/log:rw" vars: ansible_python_interpreter: /usr/bin/python3 tags: diff --git a/app/scripts/install_haproxy.sh b/app/scripts/install_haproxy.sh index cff63961..f655d789 100644 --- a/app/scripts/install_haproxy.sh +++ b/app/scripts/install_haproxy.sh @@ -18,6 +18,9 @@ do KEY) KEY=${VALUE} ;; SYN_FLOOD) SYN_FLOOD=${VALUE} ;; SSH_PORT) SSH_PORT=${VALUE} ;; + DOCKER) DOCKER=${VALUE} ;; + HAP_DIR) HAP_DIR=${VALUE} ;; + CONT_NAME) CONT_NAME=${VALUE} ;; *) esac done @@ -28,14 +31,20 @@ export ACTION_WARNINGS=False export LOCALHOST_WARNING=False export COMMAND_WARNINGS=False -PWD=`pwd` +PWD=$(pwd) PWD=$PWD/scripts/ansible/ echo "$HOST ansible_port=$SSH_PORT" > $PWD/$HOST +if [[ $DOCKER == '1' ]]; then + tags='docker' +else + tags='system' +fi + if [[ $KEY == "" ]]; then - ansible-playbook $PWD/roles/haproxy.yml -e "ansible_user=$USER ansible_ssh_pass=$PASS variable_host=$HOST PROXY=$PROXY HAPVER=$HAPVER SOCK_PORT=$SOCK_PORT STAT_PORT=$STAT_PORT STATS_USER=$STATS_USER STATS_PASS=$STATS_PASS STAT_FILE=$STAT_FILE SSH_PORT=$SSH_PORT SYN_FLOOD=$SYN_FLOOD" -i $PWD/$HOST + ansible-playbook $PWD/roles/haproxy.yml -e "ansible_user=$USER ansible_ssh_pass='$PASS' variable_host=$HOST PROXY=$PROXY HAPVER=$HAPVER HAP_DIR=$HAP_DIR CONT_NAME=$CONT_NAME SOCK_PORT=$SOCK_PORT STAT_PORT=$STAT_PORT STATS_USER=$STATS_USER STATS_PASS='$STATS_PASS' STAT_FILE=$STAT_FILE SSH_PORT=$SSH_PORT SYN_FLOOD=$SYN_FLOOD" -i $PWD/$HOST -t $tags else - ansible-playbook $PWD/roles/haproxy.yml --key-file $KEY -e "ansible_user=$USER variable_host=$HOST PROXY=$PROXY HAPVER=$HAPVER SOCK_PORT=$SOCK_PORT STAT_PORT=$STAT_PORT STATS_USER=$STATS_USER STATS_PASS=$STATS_PASS STAT_FILE=$STAT_FILE SSH_PORT=$SSH_PORT SYN_FLOOD=$SYN_FLOOD" -i $PWD/$HOST + ansible-playbook $PWD/roles/haproxy.yml --key-file $KEY -e "ansible_user=$USER variable_host=$HOST PROXY=$PROXY HAPVER=$HAPVER HAP_DIR=$HAP_DIR CONT_NAME=$CONT_NAME SOCK_PORT=$SOCK_PORT STAT_PORT=$STAT_PORT STATS_USER=$STATS_USER STATS_PASS='$STATS_PASS' STAT_FILE=$STAT_FILE SSH_PORT=$SSH_PORT SYN_FLOOD=$SYN_FLOOD" -i $PWD/$HOST -t $tags fi if [ $? -gt 0 ] diff --git a/app/scripts/install_nginx.sh b/app/scripts/install_nginx.sh index a575b190..e7d5c24a 100644 --- a/app/scripts/install_nginx.sh +++ b/app/scripts/install_nginx.sh @@ -11,12 +11,14 @@ do PASS) PASS=${VALUE} ;; KEY) KEY=${VALUE} ;; SYN_FLOOD) SYN_FLOOD=${VALUE} ;; - STAT_PORT) STAT_PORT=${VALUE} ;; - STAT_PAGE) STAT_PAGE=${VALUE} ;; - STATS_USER) STATS_USER=${VALUE} ;; + STAT_PORT) STAT_PORT=${VALUE} ;; + STAT_PAGE) STAT_PAGE=${VALUE} ;; + STATS_USER) STATS_USER=${VALUE} ;; STATS_PASS) STATS_PASS=${VALUE} ;; - SSH_PORT) SSH_PORT=${VALUE} ;; - CONFIG_PATH) CONFIG_PATH=${VALUE} ;; + SSH_PORT) SSH_PORT=${VALUE} ;; + CONFIG_PATH) CONFIG_PATH=${VALUE} ;; + DOCKER) DOCKER=${VALUE} ;; + CONT_NAME) CONT_NAME=${VALUE} ;; *) esac done @@ -29,6 +31,12 @@ if [ ! -d "/var/www/haproxy-wi/app/scripts/ansible/roles/nginxinc.nginx" ]; then ansible-galaxy install nginxinc.nginx --roles-path /var/www/haproxy-wi/app/scripts/ansible/roles/ fi +if [[ $DOCKER == '1' ]]; then + tags='docker' +else + tags='system' +fi + export ANSIBLE_HOST_KEY_CHECKING=False export ANSIBLE_DISPLAY_SKIPPED_HOSTS=False export ACTION_WARNINGS=False @@ -40,9 +48,9 @@ PWD=$PWD/scripts/ansible/ echo "$HOST ansible_port=$SSH_PORT" > $PWD/$HOST if [[ $KEY == "" ]]; then - ansible-playbook $PWD/roles/nginx.yml -e "ansible_user=$USER ansible_ssh_pass=$PASS variable_host=$HOST PROXY=$PROXY SYN_FLOOD=$SYN_FLOOD STAT_PAGE=$STAT_PAGE STAT_PORT=$STAT_PORT STATS_USER=$STATS_USER STATS_PASS=$STATS_PASS CONFIG_PATH=$CONFIG_PATH SSH_PORT=$SSH_PORT" -i $PWD/$HOST + ansible-playbook $PWD/roles/nginx.yml -e "ansible_user=$USER ansible_ssh_pass=$PASS variable_host=$HOST PROXY=$PROXY CONT_NAME=$CONT_NAME SYN_FLOOD=$SYN_FLOOD STAT_PAGE=$STAT_PAGE STAT_PORT=$STAT_PORT STATS_USER=$STATS_USER STATS_PASS=$STATS_PASS CONFIG_PATH=$CONFIG_PATH SSH_PORT=$SSH_PORT" -i $PWD/$HOST -t $tags else - ansible-playbook $PWD/roles/nginx.yml --key-file $KEY -e "ansible_user=$USER variable_host=$HOST PROXY=$PROXY SYN_FLOOD=$SYN_FLOOD STAT_PAGE=$STAT_PAGE STAT_PORT=$STAT_PORT STATS_USER=$STATS_USER STATS_PASS=$STATS_PASS CONFIG_PATH=$CONFIG_PATH SSH_PORT=$SSH_PORT" -i $PWD/$HOST + ansible-playbook $PWD/roles/nginx.yml --key-file $KEY -e "ansible_user=$USER variable_host=$HOST PROXY=$PROXY CONT_NAME=$CONT_NAME SYN_FLOOD=$SYN_FLOOD STAT_PAGE=$STAT_PAGE STAT_PORT=$STAT_PORT STATS_USER=$STATS_USER STATS_PASS=$STATS_PASS CONFIG_PATH=$CONFIG_PATH SSH_PORT=$SSH_PORT" -i $PWD/$HOST -t $tags fi if [ $? -gt 0 ]