diff --git a/design b/design new file mode 100644 index 00000000..846c6378 --- /dev/null +++ b/design @@ -0,0 +1,18 @@ +cdist using the push principle (triggered by server) + +% server + cdist-deploy-to + cdist-preprocess # fills up variables with content + cdist-explore % client # explores client configuration + cdist-compile # parses configuration, creates internal state in cconfig format, verifies + cdist-link # uses cconfig output, creates executable + cdist-transfer # transfer executable to client + cdist-execute % client # execute resulting executable + +Operation on the server is run as "cdist" user. +Operation on the client is run as "root" user. + +cdist using the pull principle (triggered by client) +% client + cdist-trigger # connects to server + cdist-deploy-to % server: see above