Pavel Loginov 2021-10-04 13:52:51 +06:00
parent 066bc5aab7
commit c8874b8fc4
8 changed files with 60 additions and 35 deletions

View File

@ -1 +1,2 @@
haproxy_version: "{{HAPVER.split('-')[0]}}"
splited_haproxy_version: "{{HAPVER.split('.')[0:2]}}"
haproxy_version: "{{splited_haproxy_version[0]}}.{{splited_haproxy_version[1]}}"

View File

@ -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)
when: (SYN_FLOOD is defined) and (SYN_FLOOD|length > 0)

View File

@ -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

View File

@ -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

View File

@ -10,6 +10,8 @@
- name: populate service facts
service_facts:
- include: logs.yml
- include: installation.yml
- include: configure.yml

View File

@ -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:

View File

@ -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 ]

View File

@ -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 ]