forked from ungleich-public/cdist
		
	
		
			
				
	
	
		
			116 lines
		
	
	
	
		
			2.3 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			116 lines
		
	
	
	
		
			2.3 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
| Config/Install/Deploy/Run:
 | |
|    target host
 | |
|    remote_cmd_prefix - ssh user@bla sudo foo?????
 | |
|    remote_cp_prefix - cp statt scp oder so
 | |
| 
 | |
|    debug -> env für alles += __debug
 | |
| 
 | |
| 
 | |
| Storage/Metaobject/Tree? == Path?
 | |
|    base_dir?
 | |
|    nimmt objekte
 | |
| 
 | |
|    Sammelt Objekte
 | |
| 
 | |
|    Ist prepared hier?
 | |
| 
 | |
| Object
 | |
|    "Infos" / Datenhalde
 | |
| 
 | |
|    Base_Dir-Abhängigkeit? - wo
 | |
| 
 | |
|    out_dir - wo speichern
 | |
| 
 | |
|    nur eigenes verzeichnis interessant?
 | |
|       -> nicht für shell code / aka gencode!
 | |
|       -> __global abhängigkeit
 | |
| 
 | |
|    object.gencode()?
 | |
| 
 | |
|    hast du type-explorer?
 | |
|       ja?
 | |
|          führe JEDEN remote aus
 | |
|          speichere ausgabe in object
 | |
|       nein:
 | |
|          fertig
 | |
|    hast du gencode-{local,remote}?
 | |
|       ja?
 | |
|          führe local oder remote aus
 | |
|          speichere ausgabe in s/^gen//
 | |
|       nein:
 | |
|          fertig
 | |
|       
 | |
|    hast du code-{local,remote}?
 | |
|       ja?
 | |
|          führe local oder remote aus
 | |
|       nein:
 | |
|          fertig
 | |
| 
 | |
|    ich habe ...
 | |
|       object_id
 | |
|       type
 | |
|          type.singleton() == False -> require object_id
 | |
|       parameter gegeben
 | |
|       requirements / order
 | |
| 
 | |
|    type_explorer := methode zum ausführen?
 | |
| 
 | |
|    cdist.object.Object(type, id)
 | |
| 
 | |
|    methoden:
 | |
|       gen_code
 | |
|       code
 | |
|       run_manifest
 | |
|          manifest == ort
 | |
| 
 | |
| Type
 | |
|    singleton: ja / nein
 | |
|    install: ja / nein
 | |
|    type_explorer := liste
 | |
| 
 | |
|    optional_parameter
 | |
|    required_parameter
 | |
| 
 | |
|    TypeExplorer 
 | |
|       verwandt oder == explorer
 | |
|       Verwandschaft klären!
 | |
| 
 | |
|    sehr abhängig von base_dir!</behauptung :)>
 | |
|       - welche gibt es?
 | |
|       - was für optionen haben sie
 | |
| 
 | |
|    cdist.type.Type("/path/to/type")
 | |
|       Tree/Path vieh, das liste von $_ speichert
 | |
|       Einfach iterieren
 | |
| 
 | |
| 
 | |
| 
 | |
| Explorer
 | |
|    execute(env)
 | |
|       env == __explorer -> nur im explorer
 | |
| 
 | |
| z.B. BaseExplorer oder andersherum GlobalExplorer
 | |
| 
 | |
| Manifest
 | |
| 
 | |
| Exec
 | |
|    wrapper um auszuführen, 
 | |
|    error handling,
 | |
|    output redirection (variable, file, beides, socat :-)
 | |
| 
 | |
| 
 | |
| --------------------------------------------------------------------------------
 | |
| 
 | |
| - base_dir (conf/, type, ...)
 | |
| - manifest (initiale)
 | |
|    $methode_mit_inhalt_von_manifest?
 | |
|       run_manifest(code)
 | |
|          ob sinnvoll?
 | |
|       geht auch mit stdin oder datei
 | |
| 
 | |
|       stdin -> muss in tmp-datei, für sh -e?
 | |
| - 
 | |
| --------------------------------------------------------------------------------
 | |
| 
 | |
| save output of shell in buffer instead of displaying?
 | |
|    -> freedom to decide whether to display or not!
 |