83 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			YAML
		
	
	
	
			
		
		
	
	
			83 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			YAML
		
	
	
	
| ---
 | |
| - name: Fix master node - rename to ch4 and restore SSH port 22
 | |
|   hosts: master
 | |
|   become: yes
 | |
|   vars:
 | |
|     new_hostname: ch4
 | |
|     old_hostname: master
 | |
|   
 | |
|   tasks:
 | |
|     - name: Backup current hostname
 | |
|       copy:
 | |
|         content: "{{ old_hostname }}"
 | |
|         dest: /etc/hostname.backup
 | |
|         mode: '0644'
 | |
|       when: ansible_hostname == old_hostname
 | |
| 
 | |
|     - name: Update hostname to ch4
 | |
|       hostname:
 | |
|         name: "{{ new_hostname }}"
 | |
|       when: ansible_hostname == old_hostname
 | |
| 
 | |
|     - name: Update /etc/hostname file
 | |
|       copy:
 | |
|         content: "{{ new_hostname }}"
 | |
|         dest: /etc/hostname
 | |
|         mode: '0644'
 | |
|       when: ansible_hostname == old_hostname
 | |
| 
 | |
|     - name: Update /etc/hosts file
 | |
|       lineinfile:
 | |
|         path: /etc/hosts
 | |
|         regexp: '^127\.0\.1\.1.*{{ old_hostname }}'
 | |
|         line: '127.0.1.1 {{ new_hostname }}'
 | |
|         state: present
 | |
|       when: ansible_hostname == old_hostname
 | |
| 
 | |
|     - name: Update Tailscale hostname
 | |
|       shell: |
 | |
|         tailscale set --hostname={{ new_hostname }}        
 | |
|       when: ansible_hostname == old_hostname
 | |
| 
 | |
|     - name: Backup SSH config
 | |
|       copy:
 | |
|         src: /etc/ssh/sshd_config
 | |
|         dest: /etc/ssh/sshd_config.backup
 | |
|         remote_src: yes
 | |
|         backup: yes
 | |
| 
 | |
|     - name: Restore SSH port to 22
 | |
|       lineinfile:
 | |
|         path: /etc/ssh/sshd_config
 | |
|         regexp: '^Port '
 | |
|         line: 'Port 22'
 | |
|         state: present
 | |
| 
 | |
|     - name: Restart SSH service
 | |
|       systemd:
 | |
|         name: ssh
 | |
|         state: restarted
 | |
|         enabled: yes
 | |
| 
 | |
|     - name: Wait for SSH to be ready on port 22
 | |
|       wait_for:
 | |
|         port: 22
 | |
|         host: "{{ ansible_default_ipv4.address }}"
 | |
|         delay: 5
 | |
|         timeout: 30
 | |
| 
 | |
|     - name: Test SSH connection on port 22
 | |
|       ping:
 | |
|       delegate_to: "{{ inventory_hostname }}"
 | |
|       vars:
 | |
|         ansible_port: 22
 | |
| 
 | |
|     - name: Display completion message
 | |
|       debug:
 | |
|         msg: |
 | |
|           ✅ Successfully renamed {{ old_hostname }} to {{ new_hostname }}
 | |
|           ✅ SSH port restored to 22
 | |
|           ✅ Tailscale hostname updated
 | |
|           🔄 Please update your inventory file to use the new hostname and port          
 | |
| 
 |