cdist/docs/dev/logs/2011-10-05

117 lines
2.3 KiB
Plaintext

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!