--- ## This playbook deploys the kerberox server. Add 'hostname=XXX' and ## 'domain=YYY' to the installer boot parameters to set hostname and domain. - name: apply configuration to the kerberox server hosts: all remote_user: ansible become: true vars: ## This interface provides the default route: if_wan: "{{ ansible_default_ipv4.interface }}" ## Use the first remaining interface for the LAN: if_lan: "{{ ansible_interfaces | difference([if_wan, 'lo']) | first }}" ## LAN IP address range: ipaddr_lan: 192.168.0.10/24 ipaddr_lan_threeoct: "{{ ipaddr_lan.split('.')[0:3] | join('.') }}" ipaddr_lan_ptr: "{{ (ipaddr_lan | ipaddr('revdns')).split('.')[1:] | join('.') }}" ipaddr_lan_ptr_threeoct: "{{ ipaddr_lan_ptr.split('.')[0:3] | join('.') }}" dhcp_start: 192.168.0.50 dhcp_stop: 192.168.0.150 in_inventory: 192.168.0.[50:150] di_dist: "{{ ansible_distribution_release }}" di_version: "{{ ansible_distribution_major_version }}" di_pkg: "debian-installer-{{ di_version }}-netboot-amd64" ansible_user: ansible repo_dir: "/home/{{ ansible_user }}/debian-lan" ansible_python_interpreter: "/usr/bin/python3" ## needed for firewalld module vars_prompt: - name: "foo_pwd" prompt: In case you would like to prepare a test user 'foo' and have not done so yet, provide foo's password here. Leave empty to just continue private: true pre_tasks: - name: validate if interfaces are available fail: msg: "Interfaces {{ ansible_interfaces }} found. WAN: '{{ if_wan }}', LAN: '{{ if_lan }}'. Two NICs needed." when: (if_lan not in ansible_interfaces) or (if_wan not in ansible_interfaces) or (if_lan == if_wan) roles: - up2date_debian - firewalld2if - dnsmasq - netbootinstaller - aptcacher - role: krb5kdcldap when: not run_in_installer|default(false)|bool - role: nfsserver when: not run_in_installer|default(false)|bool - prepare4clients - kerberize