Compare commits
	
		
			1 Commits
		
	
	
		
			master
			...
			usmidsap02
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| ce376696ab | 
							
								
								
									
										64
									
								
								nginx_pg_subdomain.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										64
									
								
								nginx_pg_subdomain.yml
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,64 @@ | ||||
| --- | ||||
| - name: Configure Nginx for Subdomain | ||||
|   hosts: servers | ||||
|   become: true | ||||
| 
 | ||||
|   tasks: | ||||
|     - name: Create Nginx sites-available directory if it doesn't exist | ||||
|       file: | ||||
|         path: /etc/nginx/sites-available | ||||
|         state: directory | ||||
|         mode: '0755' | ||||
|       become: yes | ||||
| 
 | ||||
|     - name: Create Nginx sites-enabled directory if it doesn't exist | ||||
|       file: | ||||
|         path: /etc/nginx/sites-enabled | ||||
|         state: directory | ||||
|         mode: '0755' | ||||
|       become: yes | ||||
| 
 | ||||
|     - name: Create empty pg.usmidsap02 file if it doesn't exist | ||||
|       file: | ||||
|         path: /etc/nginx/sites-available/pg.usmidsap02 | ||||
|         state: touch | ||||
|         mode: '0644' | ||||
|       become: yes | ||||
| 
 | ||||
|     - name: Create Nginx configuration for the subdomain | ||||
|       become: yes | ||||
|       blockinfile: | ||||
|         path: /etc/nginx/sites-available/pg.usmidsap02 | ||||
|         block: | | ||||
|           server { | ||||
|             listen 5432; | ||||
|             server_name pg.usmidsap02; | ||||
|             location / { | ||||
|               proxy_pass http://127.0.0.1:5432; | ||||
|               proxy_set_header Host $host; | ||||
|               proxy_set_header X-Real-IP $remote_addr; | ||||
|               proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; | ||||
|             } | ||||
|           } | ||||
|         marker: "# {mark} ANSIBLE MANAGED BLOCK - pg.usmidsap02" | ||||
| 
 | ||||
|     - name: Create a symbolic link to enable the site | ||||
|       become: yes | ||||
|       file: | ||||
|         src: /etc/nginx/sites-available/pg.usmidsap02 | ||||
|         dest: /etc/nginx/sites-enabled/pg.usmidsap02 | ||||
|         state: link | ||||
| 
 | ||||
|     - name: Check Nginx configuration | ||||
|       become: yes | ||||
|       command: nginx -t | ||||
|       register: nginx_test | ||||
|       ignore_errors: true | ||||
| 
 | ||||
|     - name: Reload Nginx if configuration is valid | ||||
|       become: yes | ||||
|       systemd: | ||||
|         name: nginx | ||||
|         state: reloaded | ||||
|       when: nginx_test.rc == 0 | ||||
| 
 | ||||
							
								
								
									
										57
									
								
								use_tps_add.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										57
									
								
								use_tps_add.yml
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,57 @@ | ||||
| --- | ||||
| - name: Add user 'tps' with sudo ability and SSH key | ||||
|   hosts: servers | ||||
|   become: true | ||||
| 
 | ||||
|   vars_prompt: | ||||
|     - name: tps_password | ||||
|       prompt: "Enter the password for 'tps' user:" | ||||
|       private: yes | ||||
| 
 | ||||
|   tasks: | ||||
|     - name: Create the 'tps' user | ||||
|       user: | ||||
|         name: tps | ||||
|         state: present | ||||
|         shell: /bin/bash | ||||
|         createhome: yes | ||||
| 
 | ||||
|     - name: Set password for 'tps' user | ||||
|       ansible.builtin.shell: echo "tps:{{ tps_password | password_hash('sha512', 'mysecretsalt') }}" | chpasswd | ||||
| 
 | ||||
|     - name: Generate RSA SSH key pair for 'tps' user (if not already generated) | ||||
|       ansible.builtin.shell: ssh-keygen -t rsa -b 4096 -C "tps@{{ ansible_hostname }}" -f "/home/tps/.ssh/id_rsa" creates="/home/tps/.ssh/id_rsa" | ||||
| 
 | ||||
|     - name: Set appropriate permissions for 'tps' user's SSH directory | ||||
|       ansible.builtin.file: | ||||
|         path: /home/tps/.ssh | ||||
|         state: directory | ||||
|         mode: "0700" | ||||
|         owner: tps | ||||
|         group: tps | ||||
| 
 | ||||
|     - name: Read the public key content | ||||
|       ansible.builtin.slurp: | ||||
|         src: /home/tps/.ssh/id_rsa.pub | ||||
|       register: public_key_file | ||||
| 
 | ||||
|     - name: Add 'tps' user to sudoers | ||||
|       ansible.builtin.lineinfile: | ||||
|         path: /etc/sudoers | ||||
|         line: 'tps ALL=(ALL:ALL) ALL' | ||||
|         validate: 'visudo -cf %s' | ||||
| 
 | ||||
|     - name: Add the public key to Gitea using the API with the access token | ||||
|       ansible.builtin.uri: | ||||
|         url: "https://gitea.hptrow.me/api/v1/user/keys" | ||||
|         method: POST | ||||
|         headers: | ||||
|           Authorization: "a3b03005781823a4fc0c4b435269408d94e0e2f8" | ||||
|           Content-Type: "application/json" | ||||
|         body_format: json | ||||
|         body: | ||||
|           title: "tps-{{ ansible_hostname }}" | ||||
|           key: "{{ public_key_file.content | b64decode }}" | ||||
|         status_code: 201 | ||||
|       delegate_to: localhost | ||||
| 
 | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user