solve folder structure issue
This commit is contained in:
@@ -1,64 +0,0 @@
|
||||
---
|
||||
# Homelab Infrastructure Deployment
|
||||
#
|
||||
# Deploys personal homelab services to arch-vps including:
|
||||
# - PostgreSQL database
|
||||
# - Valkey cache/session store
|
||||
# - Podman container runtime
|
||||
# - Caddy web server
|
||||
# - Nextcloud cloud storage
|
||||
# - Authentik SSO/authentication
|
||||
# - Gitea git hosting
|
||||
#
|
||||
# Usage:
|
||||
# ansible-playbook playbooks/homelab.yml
|
||||
|
||||
- name: Deploy Homelab Infrastructure
|
||||
hosts: homelab
|
||||
become: true
|
||||
gather_facts: true
|
||||
|
||||
tasks:
|
||||
# Workaround: Manually load host_vars due to Ansible 2.20 variable loading issue
|
||||
- name: Load homelab host variables
|
||||
include_vars:
|
||||
dir: "{{ playbook_dir }}/../host_vars/{{ inventory_hostname }}"
|
||||
extensions: ['yml']
|
||||
tags: always
|
||||
|
||||
# Deploy infrastructure services
|
||||
- name: Deploy PostgreSQL
|
||||
include_role:
|
||||
name: postgresql
|
||||
tags: ['postgresql', 'infrastructure', 'database']
|
||||
|
||||
- name: Deploy Valkey
|
||||
include_role:
|
||||
name: valkey
|
||||
tags: ['valkey', 'redis', 'infrastructure', 'cache']
|
||||
|
||||
- name: Deploy Podman
|
||||
include_role:
|
||||
name: podman
|
||||
tags: ['podman', 'containers', 'infrastructure']
|
||||
|
||||
- name: Deploy Caddy
|
||||
include_role:
|
||||
name: caddy
|
||||
tags: ['caddy', 'infrastructure', 'web']
|
||||
|
||||
# Deploy application services
|
||||
- name: Deploy Nextcloud
|
||||
include_role:
|
||||
name: nextcloud
|
||||
tags: ['nextcloud', 'cloud', 'storage']
|
||||
|
||||
- name: Deploy Authentik
|
||||
include_role:
|
||||
name: authentik
|
||||
tags: ['authentik', 'sso', 'auth']
|
||||
|
||||
- name: Deploy Gitea
|
||||
include_role:
|
||||
name: gitea
|
||||
tags: ['gitea', 'git', 'development']
|
||||
@@ -1,33 +0,0 @@
|
||||
---
|
||||
# Production Services Deployment
|
||||
#
|
||||
# Deploys production services requiring high uptime to mini-vps including:
|
||||
# - Caddy web server
|
||||
# - Sigvild Gallery (wedding photo gallery)
|
||||
# - Devigo (sales training company website)
|
||||
#
|
||||
# Usage:
|
||||
# ansible-playbook playbooks/production.yml
|
||||
# ansible-playbook playbooks/production.yml --tags devigo
|
||||
|
||||
# - import_playbook: security.yml
|
||||
|
||||
- name: Deploy Production Services
|
||||
hosts: production
|
||||
become: true
|
||||
gather_facts: true
|
||||
|
||||
pre_tasks:
|
||||
# Workaround: Manually load group_vars due to Ansible 2.20 variable loading issue
|
||||
- name: Load production group variables
|
||||
include_vars:
|
||||
dir: "{{ playbook_dir }}/../group_vars/production"
|
||||
extensions: ['yml']
|
||||
tags: always
|
||||
|
||||
roles:
|
||||
- role: devigo
|
||||
tags: ['devigo', 'website', 'sales', 'oauth']
|
||||
|
||||
- role: sigvild-gallery
|
||||
tags: ['sigvild', 'gallery', 'wedding']
|
||||
@@ -43,15 +43,9 @@
|
||||
- "Running kernel: {{ current_kernel.stdout }}"
|
||||
- "Latest modules: {{ latest_modules.stdout }}"
|
||||
|
||||
- name: Test if nftables modules are available
|
||||
command: nft list ruleset
|
||||
register: nft_test_prereq
|
||||
failed_when: false
|
||||
changed_when: false
|
||||
|
||||
- name: Determine if reboot is needed
|
||||
set_fact:
|
||||
reboot_needed: "{{ current_kernel.stdout != latest_modules.stdout or nft_test_prereq.rc != 0 }}"
|
||||
reboot_needed: "{{ current_kernel.stdout != latest_modules.stdout }}"
|
||||
|
||||
- name: Reboot system if kernel/module mismatch detected
|
||||
reboot:
|
||||
@@ -65,16 +59,6 @@
|
||||
timeout: 300
|
||||
when: reboot_needed | bool
|
||||
|
||||
- name: Verify nftables is now available after reboot
|
||||
command: nft list ruleset
|
||||
register: nft_post_reboot
|
||||
failed_when: false
|
||||
changed_when: false
|
||||
|
||||
- name: Display post-reboot nftables status
|
||||
debug:
|
||||
msg: "nftables availability after reboot: {{ 'Working' if nft_post_reboot.rc == 0 else 'Failed' }}"
|
||||
|
||||
# ============================================
|
||||
# SSH Hardening
|
||||
# ============================================
|
||||
|
||||
Reference in New Issue
Block a user