diff options
Diffstat (limited to 'ROADMAP')
-rw-r--r-- | ROADMAP | 117 |
1 files changed, 117 insertions, 0 deletions
diff --git a/ROADMAP b/ROADMAP new file mode 100644 index 00000000..10fcd12c --- /dev/null +++ b/ROADMAP | |||
@@ -0,0 +1,117 @@ | |||
1 | |||
2 | Releases in the 1.3 series will be for development. Version 1.4.0 will | ||
3 | be the next full production release. I am not planning on dates right now, | ||
4 | but you can expect maintennence releases for 1.2.9 as well. | ||
5 | |||
6 | With that done, it's time to figure out what we are doing for release | ||
7 | 1.3 development. I have a few ideas. Maybe others do as well. | ||
8 | |||
9 | DOCUMENTATION: | ||
10 | We pretty much have decieded that we will doing something along | ||
11 | the lines of a literate programming model. So far, we have site | ||
12 | documentation in DocBook. I have some ideas here, which I will | ||
13 | discuss in a separate thread. | ||
14 | |||
15 | |||
16 | |||
17 | OPTION PROCESSING: | ||
18 | I believe we can remove reverse compatibility for non-Getopt | ||
19 | option specifications. For example, 'check_ping 1 2 3 4 -p 2' | ||
20 | would not be supported anymore. Support for this is a hack, | ||
21 | and making it portable is bug-prone. We should also review | ||
22 | standardization of our options -- the current list is a little | ||
23 | ad hoc, it should be nailed down. Details in a separate thread. | ||
24 | |||
25 | Also, | ||
26 | |||
27 | check_http -p 443 --ssl www.infoplease.com | ||
28 | |||
29 | should be fine, but if the getopt in use does not natively support it, | ||
30 | things like | ||
31 | |||
32 | check_http www.infoplease.com -p 443 --ssl | ||
33 | |||
34 | should be trapped and result in a call to one of the usage macros | ||
35 | (which print a message and then exit STATE_UNKNOWN). | ||
36 | |||
37 | This means that the call_getopt() function can go away. It's an | ||
38 | inconsistent mess and I'd love to ditch it. I only created it to | ||
39 | satisfy people that wanted reverse compatibility and did not have | ||
40 | GNU getopt. | ||
41 | |||
42 | Bu I would like to urge that all standard plugins contain | ||
43 | validate_arguments(). I think this will help convey the idea that | ||
44 | validations hould be done, even if we don't insist on the specific | ||
45 | extent that each plugin must do that validation. | ||
46 | |||
47 | This is the set of standard options I envision: | ||
48 | |||
49 | Reserved: | ||
50 | |||
51 | -h, --help (REQUIRED!!!!!) | ||
52 | -V, --version (REQUIRED!!!!!) | ||
53 | -v, --verbose | ||
54 | -q, --quiet | ||
55 | -t, --timeout = INTEGER (senonds) | ||
56 | -c, --critical = (INT|FLOAT|RANGE|LIST) | ||
57 | -w, --warning = (INT|FLOAT|RANGE|LIST) | ||
58 | -H, --hostname = STRING | ||
59 | -F, --file = STRING (usually input) | ||
60 | -O, --output = STRING (output file) | ||
61 | |||
62 | Recommended, but not reserverd: | ||
63 | |||
64 | -I, --ipaddress = STRING | ||
65 | -C, --community = STRING | ||
66 | -a, --auth(info) = STRING (authentication or password) | ||
67 | -l, --logname = STRING | ||
68 | -p, --password = STRING | ||
69 | -P, --port = INT | ||
70 | -u, --url = STRING (also --username if --url is not needed) | ||
71 | |||
72 | I am suggesting that port alway be '-P' (uppercase) -- we are | ||
73 | currently inconsistent in that regard. | ||
74 | |||
75 | I am also adding '-q' for silent running. This is totally self | ||
76 | centered--I am planning to use a plugin in a cron script, and I | ||
77 | don't want nightly emails. | ||
78 | |||
79 | As has been the case, ranges are specified with colons, like 'i:j' | ||
80 | and list are specified with commas like 'i,k' and may contain ranges | ||
81 | if it makes sense to do so. Perhaps it would be good to build a | ||
82 | standard list/range processing function for this task. | ||
83 | |||
84 | |||
85 | Programming: | ||
86 | I would like to follow the GNU guidelines and remove all fixed | ||
87 | length character assignments, at least to the extent possible, | ||
88 | from the C-based plugins. To that end, I have made strscpy and | ||
89 | friends in utils.c -- I'd like to deploy them. I have comments | ||
90 | that there is alot of duplicated code, and techniques used that | ||
91 | should be cleaned up. Details in a separate thread. | ||
92 | |||
93 | Remote checks: | ||
94 | I have a proposal in hand to incorporate ssh check into spopen() | ||
95 | so that remote machine checks can be seemless. A nice idea, but | ||
96 | complex enough to require discussion. Another thread. | ||
97 | |||
98 | I also have a wish list, and I'm sure I've forgot some items. I'll | ||
99 | list mine, please respond with other items that can be put into the | ||
100 | sourceforge task manager: | ||
101 | |||
102 | Indent all code in a GNU-compatible manner (indent -ts 2 -br) | ||
103 | Add RAND_seed to check_http for --ssl on systems without /dev/random | ||
104 | Add regex filtering to check_procs --args option | ||
105 | Add working procs syntax for AIX check_procs | ||
106 | Allow check_disk to exclude non-local disks | ||
107 | Add md5 checksumming to check_http | ||
108 | Complete unification of check_tcp and friends | ||
109 | Add SSL in a general way to check_tcp and friends | ||
110 | Patches to check_log from Joonas | ||
111 | Add calculator engine and snmpwalk to check_snmp | ||
112 | Is there a bug in check_oracle | ||
113 | Are there outstanding bugs in check_snmp | ||
114 | Change check_http --onredirect to default as STATE_UNKNOWN | ||
115 | Create plugin to check tftp servers | ||
116 | Create plugin wrapper to invert error status | ||
117 | |||