| 
					
				 | 
			
			
				@@ -33,14 +33,55 @@ FFDO-Release Gluon-Version Kanäle       Erstellt am Erstellt von Änderungen 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ## Autoupdate 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+Es gibt drei mögliche Update-Kanäle (*Branches*), aus denen ein Knoten Firmware-Upates automatisch beziehen kann. Eine neu erstellte Firmware durchläuft immer erst die Branches *experimental* und *beta* bevor das Update als *stable* fúr alle Knoten freigegeben wird. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+Der zu nutzende Kanal kann im Konfigurationsmodus der Knoten ausgewählt werden. **Als Standard bei neu installierten Knoten ist immer ein Autoupdate über den *stable*-Kanal eingestellt, egal ob die Firmware aus einem anderen Kanal bezogen wurde.** Falls die Einstellung geändert wird bleibt die Änderung aber auch nach einem Update erhalten.  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ### Stable 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+Bei allen Knoten, an die man nicht problemlos ran kommt und die nicht direkt von Menschen aus der FFDO-Community betrieben werden sollte der Autoupdater i.d.r. immer aktiv sein und auf *stable* gestellt sein. Es werden nur ausgiebig getestete Updates verteilt.  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ### Beta 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+Knoten, auf ihr im Notfall physikalischen Zugriff habt können problemlos auf *beta* betrieben werden. Die Updates werden in den Beta-Branch gelegt wenn sie nach der Verteilung über *experimental* keine offensichtlichen Fehler mehr enthalten, aber noch ausgiebig getestet werden müssen bevor sie für alle Knoten freigegeben werden können. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+**Es ist wichtig, viele unterschiedliche Router-Modell im Beta-Test zu haben, da vorher nur einige wenige Modelle getestet werden können.** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ### Experimental 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+Neue Firmware, die für ein Autoupdate vorgesehen ist wird kurz nach der Erstellung in den *experimental*-Branch gelegt. Die Updates sind hier noch nicht ausgiebig getestet, es kann also passieren dass ein Router nicht mehr korrekt funktioniert nach dem Update.  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 # Entwicklung 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-Unsere Router-Firmware basiert auf dem [Gluon-Projekt](https://gluon.readthedocs.org/).  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+## Buildsystem 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+Unsere Router-Firmware basiert auf dem [Gluon-Projekt](https://gluon.readthedocs.org/). Die FFDO-spezifische Konfiguration und die zur Erstellung der Firmware genutzten Build-Scripte werden auf Github im Repository [site-ffdo](https://github.com/ffdo/site-ffdo) gepflegt. Der Build-Vorgang ist komplett automatisiert und kann auf jedem Host mit [Docker](https://www.docker.com/) ohne großes Vorwissen nachvollzogen werden.  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+## Image-Server 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+Alle Releases liegen auf <https://images.ffdo.de/ffdo/> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+Die Firmware wird im Verzeichnis "releases" versioniert abgelegt: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    /ffdo/releases/x.x.x/images 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    /ffdo/releases/x.x.x/modules 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    /ffdo/releases/y.y.y/images 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    /ffdo/releases/y.y.y/modules 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+Das in einem Branch aktuell ausgelieferte Release wird durch Softlinks festgelegt: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    /ffdo/stable -> /ffdo/releases/0.7.2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    /ffdo/beta -> /ffdo/releases/0.8.0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    /ffdo/experimental -> /ffdo/releases/0.8.1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+## Freigabe von Autoupdates 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+Damit ein automatisches Update von den Knoten akzeptiert wird muss im Sysupgrade-Verzeichnis ein *Manifest* für das jeweilige Branch liegen (`stable.manifest`, `beta.manifest`, `experimental.manifest`).  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+Das Manifest enthält SHA512-Checksummen aller Update-Dateien und den Release-Kanal. Das Manifest muss digital unterschrieben sein, damit das Update von den Knoten akzeptiert wird. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+Momenten sind folgene Regelungen konfiguriert: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+* Stable und Beta benötigen **zwei Unterschriften** zur Freigabe 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+* Experimental benötigt nur eine Unterschrift.  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+Schlüssel zum Unterschreiben von Firmware-Releases besitzen Till, Torben, Tim und Markus. 
			 |