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!
 |