diff --git a/ansible/roles/base/tasks/main.yml b/ansible/roles/base/tasks/main.yml index f01a58d..5e08006 100644 --- a/ansible/roles/base/tasks/main.yml +++ b/ansible/roles/base/tasks/main.yml @@ -54,3 +54,29 @@ - name: Set keyboard layout to Turkish Q ansible.builtin.command: localectl set-keymap trq when: "'trq' not in localectl_status.stdout" + +- name: Deploy Hetzner floating IP systemd service + ansible.builtin.copy: + dest: /etc/systemd/system/hetzner-floating-ip.service + mode: "0644" + content: | + [Unit] + Description=Hetzner Floating IP + After=network.target + + [Service] + Type=oneshot + ExecStart=/sbin/ip addr replace {{ hetzner_floating_ip }}/32 dev {{ hetzner_primary_interface | default('eth0') }} + RemainAfterExit=yes + + [Install] + WantedBy=multi-user.target + when: hetzner_floating_ip is defined + +- name: Enable and start Hetzner floating IP service + ansible.builtin.systemd: + name: hetzner-floating-ip + enabled: yes + state: started + daemon_reload: yes + when: hetzner_floating_ip is defined diff --git a/ansible/test/host_vars/iklim-app-01/vars.yml b/ansible/test/host_vars/iklim-app-01/vars.yml new file mode 100644 index 0000000..a792c24 --- /dev/null +++ b/ansible/test/host_vars/iklim-app-01/vars.yml @@ -0,0 +1,2 @@ +hetzner_floating_ip: "49.12.116.113" +hetzner_primary_interface: "eth0"