forked from CCCHH/ansible-infra
		
	reference new "resources" dir and generally fix up and improve README
This commit is contained in:
		
					parent
					
						
							
								e713b2ea5b
							
						
					
				
			
			
				commit
				
					
						19abc5f585
					
				
			
		
					 1 changed files with 12 additions and 10 deletions
				
			
		
							
								
								
									
										22
									
								
								README.md
									
										
									
									
									
								
							
							
						
						
									
										22
									
								
								README.md
									
										
									
									
									
								
							| 
						 | 
				
			
			@ -3,13 +3,15 @@
 | 
			
		|||
Folgende Geräte und Server werden duch dieses Ansible Repository verwaltet:
 | 
			
		||||
 | 
			
		||||
* Diverse VMs auf dem ThinkCCCluster
 | 
			
		||||
* Diverse VMs auf dem Chaosknoten
 | 
			
		||||
 | 
			
		||||
Die Konfigurationsdateien liegen unter `playbooks/files/configs` bzw. `playbooks/templates/configs` und werden für Hosts jeweils in einer `host_vars`-Datei im Inventory geladen.
 | 
			
		||||
Host-spezifische Konfigurationsdateien liegen unter `resources/` und werden für jeweils über eine `host_vars`-Datei im Inventory geladen.
 | 
			
		||||
 | 
			
		||||
## Galaxy-Collections und -Rollen installieren
 | 
			
		||||
 | 
			
		||||
Für einige Aspekte verwenden wir Rollen aus Ansible Galaxy. Die müssen zunächst installiert werden:
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
```bash
 | 
			
		||||
ansible-galaxy install -r requirements.yml
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -17,29 +19,29 @@ ansible-galaxy install -r requirements.yml
 | 
			
		|||
 | 
			
		||||
Grundsätzlich sollten Secrets vermieden werden. (Also z.B.: Nutze SSH Keys statt Passwort.)
 | 
			
		||||
 | 
			
		||||
Da Secrets aber durchaus doch gebraucht werden, werden diese dann in diesem Repo direkt aus dem [password-store](https://gitlab.hamburg.ccc.de/ccchh/password-store) (meist aus einem Sub-Eintrag des `noc/` Ordners) geladen.
 | 
			
		||||
Da Secrets aber durchaus doch gebraucht werden, werden diese dann in diesem Repo direkt aus dem [password-store](https://git.hamburg.ccc.de/CCCHH/password-store) (meist aus einem Sub-Eintrag des `noc/` Ordners) geladen.
 | 
			
		||||
Dies geschieht mit Hilfe des `community.general.passwordstore` lookup Plugins. 
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
## Playbook nur für einzelne Hosts ausführen
 | 
			
		||||
 | 
			
		||||
Ein paar der Hosts haben den selben Namen, was es etwas schwieriger macht, das Playbook nur für einen der Hosts auszuführen, z. B. `public-reverse-proxy`. Die Kombination aus `--inventory` und `--limit` führt zum Erfolg:
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
```bash
 | 
			
		||||
ansible-playbook playbooks/deploy.yaml --inventory inventories/chaosknoten/hosts.yaml --limit public-reverse-proxy
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
## Neuen Web-Service hinzufügen
 | 
			
		||||
 | 
			
		||||
Wir deployen Web-Services hinter dem `public-reverse-proxy`. Der Service-Name `service.hamburg.ccc.de` ist ein CNAME für public-reverse-proxy.hamburg.ccc.de, und die Service-VM ist unter `service-intern.hamburg.ccc.de` mit einer `172.31.17.x`-Adresse erreichbar.
 | 
			
		||||
Wir deployen Web-Services auf dem Chaosknoten hinter dem `public-reverse-proxy`. Der Service-Name `service.hamburg.ccc.de` sollte ein CNAME für `public-reverse-proxy.hamburg.ccc.de` und die Service-VM unter `service-intern.hamburg.ccc.de` mit einer `172.31.17.x`-Adresse erreichbar sein.
 | 
			
		||||
 | 
			
		||||
Im Ansible-Repo müssen diese Sachen hinzugefügt werden:
 | 
			
		||||
* `inventories/chaosknoten/hosts.yaml`: 
 | 
			
		||||
    * SSH-Config für die neue VM unter all/children/debian_12/hosts
 | 
			
		||||
    * Einträge für die Rollen, die dieser Host haben soll, min. `certbot_hosts`, `nginx_hosts`, ggf. `docker_compose_hosts`
 | 
			
		||||
* `inventories/chaosknoten/host_vars/`*host*`.yaml`: config vars für den neuen Host
 | 
			
		||||
* `playbooks/files/chaosknoten/configs/public-reverse-proxy/nginx/acme_challenge.conf`: Liste der Hostnamen um den neuen Host erweitern, die hinter dem Reverse-Proxy stehen
 | 
			
		||||
* `playbooks/files/chaosknoten/configs/public-reverse-proxy/nginx/nginx.conf`: Liste der Hostnamen um den neuen Host erweitern, die hinter dem Reverse-Proxy stehen
 | 
			
		||||
* `playbooks/files/chaosknoten/configs/cloud/nginx/`*host*`.hamburg.ccc.de.conf`: Server auf dem Service-Host
 | 
			
		||||
* `resources/chaosknoten/public-reverse-proxy/nginx/acme_challenge.conf`: Liste der Hostnamen um den neuen Host erweitern, die hinter dem Reverse-Proxy stehen
 | 
			
		||||
* `resources/chaosknoten/public-reverse-proxy/nginx/nginx.conf`: Liste der Hostnamen um den neuen Host erweitern, die hinter dem Reverse-Proxy stehen
 | 
			
		||||
* `resources/chaosknoten/`*host*`/nginx/`*host*`.hamburg.ccc.de.conf`: Server auf dem Service-Host
 | 
			
		||||
    * Individuelle Config für den Service. Wenn Docker Compose, hier weiterleiten auf den eigentlichen Dienst in Compose.
 | 
			
		||||
    * Cert-Dateinamen anpassen
 | 
			
		||||
* `playbooks/templates/chaosknoten/configs/`*host*`/compose.yaml.j2`: Config für Docker Compose (wenn verwendet)
 | 
			
		||||
* `resources/chaosknoten/`*host*`/docker_compose/compose.yaml.j2`: Config für Docker Compose (wenn verwendet)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue