summaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'README.md')
-rw-r--r--README.md35
1 files changed, 35 insertions, 0 deletions
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..5e2b584
--- /dev/null
+++ b/README.md
@@ -0,0 +1,35 @@
+# Pitch
+ * automatically adds/removes threads to meet configured retrieval interval
+ * can move node immediately to head-of-queue (maybe trigger from snmp trap or syslog), to be serviced by next spawned thread
+
+# Install
+ early days, but try to run it and edit ~/.config/oxidized/config
+
+# API
+## Input
+ * gets config from nodes
+ * must implement 'connect', 'get'
+ * 'ssh' and 'telnet' implemented
+
+## Output
+ * stores config
+ * must implement 'update'
+ * 'git' and 'file' (store as flat ascii) implemented
+
+## Source
+ * gets list of nodes to poll
+ * must implement 'load'
+ * source can have 'name', 'model', 'group', 'username', 'password', 'input', 'output', 'prompt'
+ * name - name of the devices
+ * model - model to use ios/junos/xyz, model is loaded dynamically when needed (Also default in config file)
+ * input - method to acquire config, loaded dynamically as needed (Also default in config file)
+ * output - method to store config, loaded dynamically as needed (Also default in config file)
+ * prompt - prompt used for node (Also default in config file, can be specified in model too)
+ * 'sql' and 'csv' (supports any format with single entry per line, like router.db)
+
+## Model
+ * lists commands to gather from given device model
+ * can use 'cmd', 'prompt', 'comment', 'cfg'
+ * cfg is executed in input/output/source context
+ * cmd is executed in instance of model
+ * 'junos' and 'ios' implemented