forked from ungleich-public/cdist
		
	
		
			
	
	
		
			112 lines
		
	
	
	
		
			2.1 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
		
		
			
		
	
	
			112 lines
		
	
	
	
		
			2.1 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? | ||
|  | -  |