mirror of
				https://github.com/kevinveenbirkenbach/computer-playbook.git
				synced 2025-11-03 19:58:14 +00:00 
			
		
		
		
	Shortened webserver to srv-web-
This commit is contained in:
		
							
								
								
									
										65
									
								
								roles/srv-web-https/README.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										65
									
								
								roles/srv-web-https/README.md
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,65 @@
 | 
			
		||||
# Webserver HTTPS Provisioning 🚀
 | 
			
		||||
 | 
			
		||||
## Description
 | 
			
		||||
The **srv-web-https** role extends a basic Nginx installation by wiring in everything you need to serve content over HTTPS:
 | 
			
		||||
 | 
			
		||||
1. Ensures your Nginx server is configured for SSL/TLS.
 | 
			
		||||
2. Pulls in Let’s Encrypt ACME challenge handling.
 | 
			
		||||
3. Applies global cleanup of unused domain configs.
 | 
			
		||||
 | 
			
		||||
This role is built on top of your existing `srv-web-core` role, and it automates the end-to-end process of turning HTTP sites into secure HTTPS sites.
 | 
			
		||||
 | 
			
		||||
---
 | 
			
		||||
 | 
			
		||||
## Overview
 | 
			
		||||
 | 
			
		||||
When you apply **srv-web-https**, it will:
 | 
			
		||||
 | 
			
		||||
1. **Include** the `srv-web-core` role to install and configure Nginx.  
 | 
			
		||||
2. **Clean up** any stale vHost files under `cln-domains`.  
 | 
			
		||||
3. **Deploy** the Let’s Encrypt challenge-and-redirect snippet from `network-letsencrypt`.  
 | 
			
		||||
4. **Reload** Nginx automatically when any template changes.
 | 
			
		||||
 | 
			
		||||
All tasks are idempotent—once your certificates are in place and your configuration is set, Ansible will skip unchanged steps on subsequent runs.
 | 
			
		||||
 | 
			
		||||
---
 | 
			
		||||
 | 
			
		||||
## Features
 | 
			
		||||
 | 
			
		||||
- 🔒 **Automatic HTTPS Redirect**  
 | 
			
		||||
  Sets up port 80 → 443 redirect and serves `/.well-known/acme-challenge/` for Certbot.
 | 
			
		||||
 | 
			
		||||
- 🔑 **Let’s Encrypt Integration**  
 | 
			
		||||
  Pulls in challenge configuration and CAA-record management for automatic certificate issuance and renewal.
 | 
			
		||||
 | 
			
		||||
- 🧹 **Domain Cleanup**  
 | 
			
		||||
  Removes obsolete or orphaned server blocks before enabling HTTPS.
 | 
			
		||||
 | 
			
		||||
- 🚦 **Handler-Safe**  
 | 
			
		||||
  Triggers an Nginx reload only when necessary, minimizing service interruptions.
 | 
			
		||||
 | 
			
		||||
---
 | 
			
		||||
 | 
			
		||||
## Requirements
 | 
			
		||||
 | 
			
		||||
- A working `srv-web-core` setup.
 | 
			
		||||
- DNS managed via Cloudflare (for CAA record tasks) or equivalent ACME DNS flow.
 | 
			
		||||
- Variables:
 | 
			
		||||
  - `certbot_webroot_path`  
 | 
			
		||||
  - `certbot_cert_path`  
 | 
			
		||||
  - `on_calendar_renew_lets_encrypt_certificates`
 | 
			
		||||
 | 
			
		||||
---
 | 
			
		||||
 | 
			
		||||
## License
 | 
			
		||||
 | 
			
		||||
This role is released under the **CyMaIS NonCommercial License (CNCL)**.
 | 
			
		||||
See [https://s.veen.world/cncl](https://s.veen.world/cncl) for details.
 | 
			
		||||
 | 
			
		||||
---
 | 
			
		||||
 | 
			
		||||
## Author
 | 
			
		||||
 | 
			
		||||
Developed and maintained by **Kevin Veen-Birkenbach**
 | 
			
		||||
Consulting & Coaching Solutions
 | 
			
		||||
[https://www.veen.world](https://www.veen.world)
 | 
			
		||||
							
								
								
									
										29
									
								
								roles/srv-web-https/meta/main.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										29
									
								
								roles/srv-web-https/meta/main.yml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,29 @@
 | 
			
		||||
galaxy_info:
 | 
			
		||||
  author: "Kevin Veen-Birkenbach"
 | 
			
		||||
  description: "Configures Nginx to serve sites securely over HTTPS, integrates Let’s Encrypt and cleans up stale domain configs."
 | 
			
		||||
  company: |
 | 
			
		||||
    Kevin Veen-Birkenbach  
 | 
			
		||||
    Consulting & Coaching Solutions  
 | 
			
		||||
    https://www.veen.world
 | 
			
		||||
  license: "CyMaIS NonCommercial License (CNCL)"
 | 
			
		||||
  license_url: "https://s.veen.world/cncl"
 | 
			
		||||
  min_ansible_version: "2.9"
 | 
			
		||||
  platforms:
 | 
			
		||||
    - name: Archlinux
 | 
			
		||||
      versions:
 | 
			
		||||
        - rolling
 | 
			
		||||
  galaxy_tags:
 | 
			
		||||
    - nginx
 | 
			
		||||
    - https
 | 
			
		||||
    - tls
 | 
			
		||||
    - letsencrypt
 | 
			
		||||
    - security
 | 
			
		||||
    - automation
 | 
			
		||||
  repository: "https://s.veen.world/cymais"
 | 
			
		||||
  documentation: "https://s.veen.world/cymais"
 | 
			
		||||
  issue_tracker_url: "https://s.veen.world/cymaisissues"
 | 
			
		||||
 | 
			
		||||
dependencies:
 | 
			
		||||
  - srv-web-core
 | 
			
		||||
  - cln-domains
 | 
			
		||||
  - network-letsencrypt
 | 
			
		||||
		Reference in New Issue
	
	Block a user