TODO.md in arborist-0.0.1.pre20160128152542 vs TODO.md in arborist-0.0.1.pre20160606141735
- old
+ new
@@ -1,33 +1,65 @@
# To-Do
-## Manager
+## First Release (0.1)
-* Serialize nodes on shutdown
-* Include a node's subscriptions in its serialized data
-* Implement loading/reloading nodes.
-* Implement the system events (sys.acked, sys.reloaded, etc.)
+* README, Tutorial, Setup docs
-## Tree API
+* Performance/profiling examination
-* Add "grafting": node add/removal
-## Observers
+### Manager
-* Scheduling time periods for action/summarizing
-* Summarizing and Actions should be 1st order objects
-* Unsubscribe from Arborist and ZMQ subscriptions on shutdown
-* Figure out how to match on delta events: the criteria
- for matching nodes has to be separated from that which matches
- the delta pairs.
+* Only restore timestamps from serialized node dependencies, not the deps themselves.
-## Node
+* Broadcast system events:
+ - `sys.node.added`
+ - `sys.node.removed`
+ - `sys.startup`
+ - `sys.shutdown`
-* Allow (require?) node types to specify what kinds of nodes can be
- their parent, and also adds the constructor DSL method to it
+### Observers
-## Setup/Installation
+* Re-subscribe on `sys.startup`, `sys.reloaded`, `sys.node.added`
+* Add `except` to observers DSL
-* Add a CLI for generating a basic setup and then adding
- nodes/monitors/observers to it.
+### Nodes
+
+* Allow a service node to not inherit all of its host's addresses (i.e., be bound to one address only or whatever)
+* Resource nodes: disk, load, process checks, etc. Anything that might
+ be considered a problem, that you'd want to ack independantly of the
+ Host node they are attached to.
+
+### Monitor
+
+* Add some default monitor types and utilities
+ - UDP socket check
+ - Basic monitors for stdlib Net::* protocols/services
+ -
+
+* Gems for monitor types that have external dependency
+ - SNMP
+
+### Watch Command
+
+* Re-subscribe on `sys.startup`, `sys.reloaded`, `sys.node.added`
+
+
+## Second Release (0.2)
+
+### Setup/Installation
+
+* Add a CLI for generating a basic setup and then adding nodes/monitors/observers to it.
+* Potential federation / referral for sibling managers
+
+### Nodes
+
+* Ask a node (via tree-api or otherwise) what nodes it affects (immediate children, secondary dependents)
+
+### Observers
+
+ * Action dependencies -- as an example, if an action sends an email,
+ don't trigger if the email service is offline. Potential action
+ "chains", ie: If the email service is down, use a separate
+ out-of-band action that sends SMS.