# @NOTE run 'ansible-playbook' command on this using 'sudo' - name: Initialize VPS hosts: "{{ chosen_host | default('staging0.test') }}" remote_user: "{{ chosen_user | default('root') }}" vars: harden: true vars_files: - vars/local_facts.yml # REQUIRED - vars/vpn_settings.yml # REQUIRED - vars/wireguard_settings.yml # REQUIRED - vars/headscale_settings.yml # REQUIRED - vars/podpose_settings.yml # REQUIRED - vars/certbot_settings@vps.yml # REQUIRED - vars/users@{{ inventory_hostname | default('vps') }}.yml - vars/config@{{ inventory_hostname | default('vps') }}.yml tasks: - name: Managing hostname block: - name: Updating hostname become: true ansible.builtin.hostname: name: "{{ fqdn | default(inventory_hostname) }}" - name: Updating hosts file become: true ansible.builtin.lineinfile: path: /etc/hosts regexp: "^127\\.0\\.1\\.1" line: "127.0.1.1 {{ fqdn | default(inventory_hostname) }}" insertbefore: BOF state: present - name: Updating host icon name become: true ansible.builtin.command: cmd: "hostnamectl set-icon-name computer-server" - name: Rebooting machine for hostname change become: true ansible.builtin.reboot: msg: "Rebooting machine.." - name: Hardening SSH server ansible.builtin.include_role: name: init-server # required. The name of the role to be executed. # apply: # not required. Accepts a hash of task keywords (e.g. C(tags), C(become)) that will be applied to all tasks within the included role. tasks_from: harden # not required. File to load from a role's C(tasks/) directory. # vars_from: main # not required. File to load from a role's C(vars/) directory. # defaults_from: main # not required. File to load from a role's C(defaults/) directory. # allow_duplicates: True # not required. Overrides the role's metadata setting to allow using a role more than once with the same parameters. # handlers_from: main # not required. File to load from a role's C(handlers/) directory. - name: Installing requisite packages ansible.builtin.include_role: name: init-server tasks_from: core@install-pkgs handlers_from: core - name: Initializing groups and users ansible.builtin.include_role: name: init-server tasks_from: ssh-users - name: Flushing handlers ansible.builtin.meta: flush_handlers