diff --git a/ansible/inventory/group_vars/claude_code_vms/vars.yml b/ansible/inventory/group_vars/claude_code_vms/vars.yml index 3944200..2f0d839 100644 --- a/ansible/inventory/group_vars/claude_code_vms/vars.yml +++ b/ansible/inventory/group_vars/claude_code_vms/vars.yml @@ -1,2 +1,7 @@ ansible_user: adyrem -ansible_ssh_common_args: "-o ProxyJump=root@192.168.1.10 -o StrictHostKeyChecking=accept-new" +ansible_ssh_common_args: "-o ProxyJump=adyrem@192.168.1.10:2222 -o StrictHostKeyChecking=accept-new" + +network_interface: ens18 +network_prefix: 24 +network_gateway: 10.10.2.1 +network_dns: 10.10.1.2 diff --git a/ansible/inventory/group_vars/infra/vars.yml b/ansible/inventory/group_vars/infra/vars.yml index 2c8b1ce..e18a1d2 100644 --- a/ansible/inventory/group_vars/infra/vars.yml +++ b/ansible/inventory/group_vars/infra/vars.yml @@ -1 +1,6 @@ ansible_user: adyrem + +network_interface: ens18 +network_prefix: 24 +network_gateway: 10.10.1.1 +network_dns: 10.10.1.2 diff --git a/ansible/roles/common/tasks/main.yml b/ansible/roles/common/tasks/main.yml index 636488f..3b540e1 100644 --- a/ansible/roles/common/tasks/main.yml +++ b/ansible/roles/common/tasks/main.yml @@ -16,6 +16,26 @@ key: "{{ admin_ssh_key }}" state: present +- name: Configure static IP via NetworkManager + ansible.builtin.shell: | + CURRENT=$(nmcli -t -f IP4.ADDRESS dev show {{ network_interface }} 2>/dev/null | cut -d: -f2) + EXPECTED="{{ ansible_host }}/{{ network_prefix }}" + if [ "$CURRENT" != "$EXPECTED" ]; then + CONN=$(nmcli -t -f NAME,DEVICE con show | grep ":{{ network_interface }}$" | cut -d: -f1 | head -1) + nmcli con mod "$CONN" \ + ipv4.method manual \ + ipv4.addresses "$EXPECTED" \ + ipv4.gateway {{ network_gateway }} \ + ipv4.dns {{ network_dns }} + nmcli con up "$CONN" + echo changed + else + echo ok + fi + register: _net + changed_when: "'changed' in _net.stdout" + when: network_gateway is defined + - name: Install base packages community.general.pacman: name: