hostname: dev-01.alexpires.local ansible_user: "{{ lookup('env', 'ANSIBLE_USER') }}" # Users login_users: - username: "{{ ansible_user }}" comment: "Managed by Ansible" sudoer: true sudoer_root_only: true sudoer_no_password: true pubkey: "{{ lookup('file', 'keys/ansible_user.pub') }}" password_disabled: true - username: operator comment: "Managed by Ansible" sudoer: true pubkey: "{{ lookup('file', 'keys/operator.pub') }}" # SSH Connection and security sshd_port: 22 ssh_allowed_networks: - "0.0.0.0/0" sshd_admin_net: "0.0.0.0/0" sshd_allow_groups: "{{ ansible_user }} users" sshd_permit_root_login: "no" sshd_password_authentication: "no" sshd_allow_tcp_forwarding: "yes" # Due to an issue increase the number of max auth tries sshd_max_auth_tries: 10 # Firewall ports ufw_enable: true fw_allowed_ports: - { rule: "allow", port: "22", proto: "tcp" } - { rule: "allow", port: "443", proto: "tcp" } ufw_outgoing_traffic: - 22 # SSH - 53 # DNS - 80 # HTTP - 123 # NTP - 443 # HTTPS - 853 # DNS over TLS - 10250 # Kubelet - 8880 # Kokoro-FastAPI - 11434 # Ollama - 16443 # Kubernetes API - 4443 - 9443 - 995 # POP3S ufw_default_forward_policy: "ACCEPT" ipv4_sysctl_settings: net.ipv4.ip_forward: 1 disable_ipv6: true # geoip will override hosts_allow and hosts_deny (so it's disabled - CIS hardening) custom_hosts_acls: true # fail2ban fail2ban_jails: ssh: enabled: true port: "{{ sshd_port }}" filter: "sshd" logpath: "/var/log/auth.log" maxretry: 5 findtime: 600 bantime: 3600 # aide install_aide: false # Unattended upgrades unattended_reboot: true unattended_reboot_time: "04:30" # Duo Security duo_users: ["*", "!provision"] duo_api_hostname: api-7cda1654.duosecurity.com # Kubernetes specific settings microk8s_allowed_hosts: - 10.19.4.0/24 - 10.5.5.5 microk8s_alt_names: "{{ hostname }}" # Let's encrypt issuer microk8s_lets_encrypt_issuer: false microk8s_encryption_secret: "{{ lookup('env', 'MICROK8S_ENCRYPTION_SECRET') }}" microk8s_users: - username: operator enabled: true # podman services settings persistent_data: "/srv"