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