setup proxy VM

This commit is contained in:
abrown38 committed 2024-06-18 10:13:51 +01:00
1 parent 9b3a26ad61
commit 9fc4d3d16e
8 files changed
+268

No files matched your search

+93
View File
@@ -0,0 +1,93 @@
---
- name: assert | Test squid_port
ansible.builtin.assert:
that:
- squid_port is defined
- squid_port is number
- squid_port > 0
- squid_port < 65536
quiet: true
- name: assert | Test squid_cache_dir
ansible.builtin.assert:
that:
- squid_cache_dir is defined
- squid_cache_dir is string
- squid_cache_dir.split(" ")[0] in [ "ufs", "aufs", "diskd", "rock", "null" ]
quiet: true
- name: assert | Test squid_acls
ansible.builtin.assert:
that:
- squid_acls is iterable
quiet: true
when:
- squid_acls is defined
- name: assert | Test item in squid_acls
ansible.builtin.assert:
that:
- item.name is defined
- item.name is string
- item.name is not none
- item.classifier is defined
- item.classifier is string
- item.classifier is not none
- item.value is defined
- item.value is string
- item.value is not none
quiet: true
loop: "{{ squid_acls }}"
loop_control:
label: "{{ item.name }}"
when:
- squid_acls is defined
- name: assert | Test item in squid_http_access
ansible.builtin.assert:
that:
- item.state is defined
- item.state is string
- item.state is not none
- item.acls is defined
- item.acls is iterable
quiet: true
loop: "{{ squid_http_access }}"
loop_control:
label: "{{ item.state }}"
when:
- squid_http_access is defined
- name: assert | Test squid_rules
ansible.builtin.assert:
that:
- squid_rules is iterable
quiet: true
when:
- squid_rules is defined
- name: assert | Test item in squid_rules
ansible.builtin.assert:
that:
- item.acl is defined
- item.acl is string
- item.acl is not none
- item.decision is defined
- item.decision is string
- item.decision in [ "allow", "deny" ]
quiet: true
loop: "{{ squid_rules }}"
loop_control:
label: "{{ item.acl }}"
when:
- squid_rules is defined
- name: assert | Test squid_logformat
ansible.builtin.assert:
that:
- squid_logformat is string
- squid_logformat.split(" ") | length > 1
quiet: true
when:
- squid_logformat is defined
+60
View File
@@ -0,0 +1,60 @@
---
- name: Import assert.yml
import_tasks:
file: assert.yml
run_once: true
delegate_to: localhost
- name: Create group
ansible.builtin.group:
name: "{{ squid_group }}"
system: true
state: present
- name: Create user
ansible.builtin.user:
name: "{{ squid_user }}"
group: "{{ squid_group }}"
create_home: false
state: present
home: /var/spool/squid
shell: /sbin/nologin
system: true
- name: Install squid
ansible.builtin.package:
name: "{{ squid_packages }}"
state: present
update_cache: true
- name: Include variables
include_vars: rules.yml
- name: Configure squid
ansible.builtin.template:
src: "{{ squid_config_file }}.j2"
dest: "{{ squid_config_directory }}/{{ squid_config_file }}"
mode: "0644"
validate: squid -k parse -f %s
notify:
- Restart squid
- name: Create cache directory
ansible.builtin.file:
path: /var/spool/squid
state: directory
owner: "{{ squid_user }}"
group: "{{ squid_group }}"
mode: "0750"
- name: Flush_handlers
ansible.builtin.meta: flush_handlers
- name: Start and enable squid
ansible.builtin.service:
name: "{{ squid_service }}"
state: started
enabled: true
when:
- not ansible_check_mode