| 
						
						
							
								
							
						
						
					 | 
					@ -325,21 +325,10 @@ func run(newCfg *Config, start bool) error { | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
						// been set by a short assignment
 | 
					 | 
					 | 
						// been set by a short assignment
 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
						var err error | 
					 | 
					 | 
						var err error | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					
 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
						// start the admin endpoint (and stop any prior one)
 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
						if start { | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
							err = replaceLocalAdminServer(newCfg) | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
							if err != nil { | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
								return fmt.Errorf("starting caddy administration endpoint: %v", err) | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
							} | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
						} | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
						if newCfg == nil { | 
					 | 
					 | 
						if newCfg == nil { | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
							newCfg = new(Config) | 
					 | 
					 | 
							newCfg = new(Config) | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
						} | 
					 | 
					 | 
						} | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					
 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
						// prepare the new config for use
 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
						newCfg.apps = make(map[string]App) | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
						// create a context within which to load
 | 
					 | 
					 | 
						// create a context within which to load
 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
						// modules - essentially our new config's
 | 
					 | 
					 | 
						// modules - essentially our new config's
 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
						// execution environment; be sure that
 | 
					 | 
					 | 
						// execution environment; be sure that
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
					@ -373,6 +362,17 @@ func run(newCfg *Config, start bool) error { | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
							return err | 
					 | 
					 | 
							return err | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
						} | 
					 | 
					 | 
						} | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					
 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
						// start the admin endpoint (and stop any prior one)
 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
						if start { | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
							err = replaceLocalAdminServer(newCfg) | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
							if err != nil { | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
								return fmt.Errorf("starting caddy administration endpoint: %v", err) | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
							} | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
						} | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
						// prepare the new config for use
 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
						newCfg.apps = make(map[string]App) | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
						// set up global storage and make it CertMagic's default storage, too
 | 
					 | 
					 | 
						// set up global storage and make it CertMagic's default storage, too
 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
						err = func() error { | 
					 | 
					 | 
						err = func() error { | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
							if newCfg.StorageRaw != nil { | 
					 | 
					 | 
							if newCfg.StorageRaw != nil { | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
						
					 | 
					
  |