79 lines
2.2 KiB
YAML
79 lines
2.2 KiB
YAML
---
|
|
# Copyright 2014, Rackspace US, Inc.
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
# you may not use this file except in compliance with the License.
|
|
# You may obtain a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
# See the License for the specific language governing permissions and
|
|
# limitations under the License.
|
|
|
|
- name: Make haproxy bindable on non local addresses
|
|
sysctl:
|
|
name: "{{ item }}"
|
|
value: 1
|
|
sysctl_set: yes
|
|
state: present
|
|
when: haproxy_bind_on_non_local | bool
|
|
with_items:
|
|
- "net.ipv4.ip_nonlocal_bind"
|
|
- "net.ipv6.ip_nonlocal_bind"
|
|
tags:
|
|
- haproxy-non-local-bind-config
|
|
|
|
# NOTE (noonedeadpunk) Debian/Ubuntu haproxy packages configure rsyslog
|
|
# to handle log collection and log file rotation. This is not needed since
|
|
# journald is used for this purpose
|
|
- name: Delete rsyslog and logrotate configs
|
|
file:
|
|
path: "{{ item }}"
|
|
state: absent
|
|
with_items:
|
|
- /etc/rsyslog.d/49-haproxy.conf
|
|
- /etc/logrotate.d/haproxy
|
|
notify: Restart rsyslog
|
|
tags:
|
|
- haproxy-logging-config
|
|
|
|
- name: Drop base haproxy config
|
|
template:
|
|
src: "haproxy.cfg.j2"
|
|
dest: "/etc/haproxy/conf.d/00-haproxy"
|
|
notify: Regenerate haproxy configuration
|
|
tags:
|
|
- haproxy-base-config
|
|
|
|
- include_tasks: haproxy_service_config.yml
|
|
tags:
|
|
- haproxy-service-config
|
|
|
|
- name: Create log directory if it does not exist
|
|
file:
|
|
path: "{{ haproxy_log_mount_point | dirname }}"
|
|
state: directory
|
|
mode: '0755'
|
|
owner: 'haproxy'
|
|
group: 'haproxy'
|
|
|
|
#NOTE(jrosser) The next task fails on Centos without this,
|
|
#an empty directory rather than a file is made and the bind mount fails
|
|
- name: Ensure empty file is availble to bind mount log socket
|
|
file:
|
|
state: touch
|
|
path: "{{ haproxy_log_mount_point }}"
|
|
access_time: preserve
|
|
modification_time: preserve
|
|
|
|
- name: Make log socket available to chrooted filesystem
|
|
mount:
|
|
src: "{{ haproxy_log_socket }}"
|
|
path: "{{ haproxy_log_mount_point }}"
|
|
opts: bind
|
|
state: mounted
|
|
fstype: none
|