1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116
|
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!
|