forked from ungleich-public/cdist
8a044919eb
Signed-off-by: Nico Schottelius <nico@kr.ethz.ch>
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?
|
|
-
|