Post-Tyranny-Tech-Infrastru.../ansible/roles/common/tasks/main.yml
Pieter 55fd2be9e5 feat: Add DNS configuration and Docker improvements
Common role improvements:
- Add systemd-resolved DNS configuration (Google + Cloudflare)
- Ensures reliable DNS resolution for private network servers
- Flush handlers immediately to apply DNS before other tasks

Docker role improvements:
- Enhanced Docker daemon configuration
- Better support for private network deployments

Scripts:
- Update add-client-to-terraform.sh for new architecture

These changes ensure private network clients can resolve DNS and
access internet via NAT gateway.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-01-20 19:06:32 +01:00

52 lines
1.1 KiB
YAML

---
# Main tasks for common role - base system setup and hardening
- name: Ensure systemd-resolved config directory exists
file:
path: /etc/systemd/resolved.conf.d
state: directory
mode: '0755'
tags: [dns]
- name: Configure DNS (systemd-resolved)
copy:
dest: /etc/systemd/resolved.conf.d/dns_servers.conf
content: |
[Resolve]
DNS=8.8.8.8 8.8.4.4
FallbackDNS=1.1.1.1 1.0.0.1
mode: '0644'
notify: Restart systemd-resolved
tags: [dns]
- name: Flush handlers (apply DNS config immediately)
meta: flush_handlers
tags: [dns]
- name: Update apt cache
apt:
update_cache: yes
cache_valid_time: 3600
- name: Install common packages
apt:
name: "{{ common_packages }}"
state: present
- name: Set timezone
community.general.timezone:
name: "{{ common_timezone }}"
- name: Configure SSH hardening
include_tasks: ssh.yml
- name: Configure UFW firewall
include_tasks: firewall.yml
- name: Configure automatic updates
include_tasks: updates.yml
when: common_unattended_upgrades
- name: Configure fail2ban
include_tasks: fail2ban.yml
when: common_fail2ban_enabled