forked from berekuk/Ubic
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Changes
381 lines (298 loc) · 13.6 KB
/
Changes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
Revision history for Ubic
{{$NEXT}}
1.56 2013-07-30
* Reformatted Changes as per CPAN::Changes::Spec
(thanks to github:sergeyromanov for the patch, see https://github.com/berekuk/Ubic/pull/55)
1.55 2013-07-26
* support PERLBREW_ROOT
(thanks to github:spacebat for the patch, see https://github.com/berekuk/Ubic/pull/54)
1.54 2013-05-28
* 'auto_start' option in Ubic::Service and SimpleDaemon
1.53 2013-05-18
* fix crontab generation on setup!
1.52 2013-05-12
* always add /usr/local/bin to $PATH
1.51 2013-04-14
* autoflush stdout and stdin in ubic-guardian
(especially when we're proxying daemon's logs)
1.50_01 2013-04-03
* support 'term_timeout' option in SimpleDaemon
1.49 2013-03-13
* stable release, no code changes
1.48_02 2013-02-26
* 'ubic status' exits with status code 0 if there're disabled services
1.48_01 2013-01-31
* guardian supports logs proxying and reopening them on SIGHUP
(see https://github.com/berekuk/Ubic/pull/47)
* hint about 'ubic help' on unknown command
1.48 2012-12-07
* detect ubic-watchdog location and put its full path to the crontab on setup
* 'ubic help' command (see https://github.com/berekuk/Ubic/issues/31)
1.47 2012-12-03
* compatibility with perl 5.17 hash randomization
(see https://github.com/berekuk/Ubic/issues/45)
* append watchdog logs in crontab (instead of rewriting)
1.46 2012-11-08
* require modern BSD::Resource version
(see https://github.com/berekuk/Ubic/issues/43)
* relax timing conditions in t/watchdog.t
1.45 2012-11-01
* more robust t/simple-daemon.t
1.44_03 2012-10-30
* setup process now offers auto-configuration
* typo fix in crontab code (thanks to Anton Ukolov)
1.44_02 2012-10-30
* Solaris compatibility (thanks to Martin Schultheis!)
1.44_01 2012-08-02
* support perlbrew, custom PATH and custom PELR5LIB
1.44 2012-06-21
* stable release, no code changes
1.43_04 2012-06-20
* fix SimpleDaemon to work on perl <5.14
1.43_03 2012-06-20
* fix tests for systems which don't set LOGNAME or USERNAME
1.43_02 2012-06-19
* dependency on BSD::Resource is optional in code and tests
1.43_01 2012-06-19
* ulimit support in SimpleDaemon
* json-style configs
* 'start_hook' option in start_daemon()
1.43 2012-06-16
* actually merge the fix
1.42 2012-06-15
* critical bugfix: fix credentials application order
(all non-root services were broken when operated from root, 1.39-1.41 releases were affected)
1.41 2012-06-11
* pid2cmd doesn't die on errors
* Ubic::Run supports the explicit service names
* lots of minor POD spelling fixes and improvements
1.40 2012-05-27
* improve tests stability
1.39 2012-05-23
* new SimpleDaemon options:
- reload_signal
- daemon_user/daemon_group
* 'credentials' option in start_daemon()
* various doc improvements
1.38_01 2012-04-23
* freebsd credentials fix - set real uid first and effective uid after that
1.38 2012-04-14
* stable release
1.37_03 2012-04-13
* log early exiting daemons correctly; fix tests
1.37_02 2012-03-28
* non-root dir multiservices allow operations without --force
* minor docs improvements, including replacing "flexible perl-based" with "polymorphic" everywhere
1.37_01 2012-03-27
* Ubic::Daemon::OS::Linux: fix guid calculating code
* Ubic::Daemon:
- better logging
- die if can't calculate guid
1.37 2012-03-15
* Ubic::UA pod
* prohibit building on Solaris
1.36_02 2012-02-15
* ubic.ping improvements:
- use Ubic::UA instead of LWP::UserAgent to reduce the number of dependencies
- increase timeout options to avoid start failures on slow systems
1.36 2011-12-09
* Ubic::Multiservice::Dir: don't warn about configs with taboo extensions
1.35_02 2011-11-17
* custom service loaders:
- ini-style syntax for configs with .ini extension
- extension-based polimorphism which will let us implement more config syntaxes in the future
* always sync pidfiles and status files to disk
* small doc and output message improvements
1.35_01 2011-11-04
* ubic-admin:
- fix local installation mode
- document all command-line options
1.35 2011-10-07
* fix build - ubic-daemon doesn't fail compile test if ubic is not installed
1.34 2011-09-25
* example system paths in setup depend on os
* contrubitors section in Ubic.pm
1.33_04 2011-09-20
* use pure perl for mkdir and chmod operations
1.33_03 2011-09-20
* fix typo in the path to freebsd ubic.cfg
1.33_02 2011-09-20
* comply to hier(7) on freebsd
* ubic-daemon improvements:
- pod advicing not to use this script
- --stop and --list features
- use Ubic::Settings instead of hard-coded pid_dir path
1.33_01 2011-09-02
* fix setup.t - don't fail if ubic is already installed
* more questions in Ubic::Manual::FAQ, other various doc improvements
* partially align status column on 'ubic status' command
* silently skip configs with taboo extensions, complain about others to stderr
(see https://github.com/berekuk/Ubic/issues/15)
* Ubic::Daemon on linux doesn't fail if can't read from /proc cmdline file:
there are cases when it is a possible state (usually after reboot)
1.33 2011-07-22
* stable release
1.32_04 2011-07-18
* don't mess with crontab on setup tests
(see https://github.com/berekuk/Ubic/issues/17)
1.32_03 2011-07-17
* fix daemon tests
1.32_02 2011-07-13
* Ubic::Daemon improvements:
- 'cwd' and 'env' options (SimpleDaemon now just passes them to start_daemon())
- log signal name, exit code and other events to ubic_log prettier and more consistently
* document 'cwd' and 'env' options in Ubic::Service::SimpleDaemon
1.32_01 2011-07-13
* new options in Ubic::Service::SimpleDaemon:
- cwd - set daemon working dir
- env - set daemon environment
* minimal setup test
1.32 2011-07-07
* Fix ubic-admin setup again. Sorry.
1.31 2011-06-30
* fix ubic-admin setup - forgot to import IO::Handle
(https://github.com/berekuk/Ubic/issues/13)
1.30 2011-06-28
* Ubic::AtomicFile for storing any file safely
* POD improvements:
- Ubic::Manual::Overview
- Ubic::Service::SimpleDaemon now makes sense
1.29 2011-06-07
* ubic-admin script: fix crontab install when user doesn't have previous crontab
* ubic script: fix 'ubic unknown-cmd' error reporting
* watchdog improvements:
- don't ask for status twice if service works
- permanently set credentials instead of using forks for non-root services
- log status obtained by status check, instead of just logging 'service is broken'
* POD improvements:
- Ubic::Manual::Intro
- Ubic::Manual::Multiservices
- various POD fixes
1.28 2011-04-21
* 'ubic status' always shows non-cached statuses if called by root
* ubic.ping status now uses sane timeout when it checks service via http
1.27 2011-04-17
* ubic-admin script:
- system-wide setup with one command 'ubic-admin setup'
- home directory setup with the same 'ubic-admin setup' command
- batch-mode with flag "--batch-mode"
* configurable default_user (very helpful for home directory setup)
* 'ubic status' changes:
- real status will be checked and printed if current user is equal
to service user
- "Not a root, printing cached statuses" message removed;
instead, 'ubic status' will print "[cached]" note for every cached status
* ubic-ping service renamed to ubic.ping
* ubic-watchdog and ubic-update now run as ubic.watchdog and ubic.update services
instead of cron jobs; "ubic-watchdog ubic.watchdog" cron job is still recommended.
* ubic-periodic script for recurrent job running
1.26 2011-04-10
Hotfix release (https://github.com/berekuk/Ubic/issues/12):
* don't depend on Win32 modules
* stale Win32 code removed
(it didn't work anyway, so there is no point in packaging it in CPAN releases).
1.25 2011-03-31
* MacOSX support (and probably other POSIX systems too, including FreeBSD)
* lots of refactoring:
- Ubic::Daemon::OS modules family for OS-specific daemonization tasks
- Ubic::Credentials::OS modules family for OS-specific user/group tasks
1.24 2011-02-23
* ubic-watchdog: change process name while checking specific service
* check that uid change was successful before calling service action methods
* default check_timeout() lowered from 10 minutes to 1 minute
1.23 2010-12-02
* ubic-ping: 404 message content fixed
* ubic-watchdog:
- set check_timeout alarm a bit earlier
- another alarm before compiling services
1.22 2010-11-07
* Ubic::Multiservice:
- default implementation of 'has_simple_service' method
- POD improvements
1.21_01 2010-10-21
* fixed races in t/daemon.t
1.21 2010-10-19
* Ubic.pm:
- set_ubic_dir() renamed to set_data_dir()
(set_ubic_dir still remains in code for backward compatibility)
- get_data_dir() and get_service_dir() methods
- UBIC_LOCK_DIR, UBIC_TMP_DIR and UBIC_WATCHDOG_DIR env variables are deprecated;
UBIC_DIR variable or set_data_dir() method should be used instead
- bugfix in forked_call() method - it thrown "temp file not found after fork" exception occasionally in some cases
- more consistent params validation in many methods
* ubic-watchdog improvements:
- separate non-blocking per-service lock (http://github.com/berekuk/ubic/issues#issue/1)
- ubic-watchdog can now check selected set of services by name or glob
- ubic-watchdog kills itself after $service->check_timeout() seconds
* deprecated Ubic::Catalog module removed (it was renamed into Ubic::Multiservice long time ago)
1.20 2010-10-13
* documentation improvements
1.19 2010-09-14
* ubic-watchdog always uses Ubic->status interface to check service status
1.18 2010-09-14
* critical bugfix: ubic-watchdog correctly interpret extended statuses
(thanks to Sawyer X for noticing this, see http://github.com/berekuk/Ubic/issues#issue/7)
* Ubic::Lockf::Alarm moved to separate file, so PODs are now correct
1.17 2010-09-13
* Ubic::Run: recognize RedHat init script names
(thanks to Sawyer X for the patch, see http://github.com/berekuk/Ubic/issues/#issue/5)
* test improvements:
- ubic-ping uses Config.pm to determine full perl binary path
- memory-leak.t is more robust
1.16 2010-09-07
* Ubic::Daemon:
- check_daemon() now returns proper Ubic::Daemon::Status object
- don't log warning if daemon exited by sigterm
- minor logging cleanup
* Ubic::Service::SimpleDaemon returns daemon pid in status msg
* test improvements:
- using Test::TCP when testing ubic-ping
- watchdog.t skips all tests if 'fakeroot' is not present
* Ubic::Cmd: print 'running' result as good when it contains extended message
1.15 2010-09-06
* tests fixed to work under root user (http://github.com/berekuk/Ubic/issues#issue/4)
1.14 2010-09-02
* handle supplementary groups correctly
* ubic-watchdog doesn't require root privileges anymore (unless service requires them, of course)
* repo and bugtracker resources in META.yml
* PodWeaver in dist.ini config, so all modules now have proper AUTHOR and COPYRIGHT sections
* SimpleDaemon and Common services accept arrayref as 'group' value
1.13 2010-09-01
* Perl6::Slurp removed from dependencies
* Ubic::Manual::FAQ now is actually added
* group() method in services:
- services can specify group(s) from which service should run, analogous to user() method
- ubic will call setgid() before invoking any service methods
- default group list consists only of main user's group, as returned by getpwnam; supplementary groups are not supported yet
1.12 2010-08-26
* Ubic::Manual::FAQ with first 2 questions
* Ubic::Log documentation updated according to 1.11 changes
1.11 2010-08-26
* ubic-watchdog prints errors to stdout only
1.10 2010-08-18
* security bugfix: store all statuses in JSON format
1.09 2010-08-12
* bugfix: custom commands print 'ok' using green color and exit with zero
code when there are not errors
1.08 2010-08-03
* bugfix: has_service for nested unexistent services
* debian/ dir in distribution too
1.07 2010-07-30
* localize $@ in destructors
* Ubic::Cmd refactoring, more consistent console results printing
1.06 2010-06-18
* using $Config{perlpath} in tests - should fix CPAN tests
* Dist::Zilla
1.05 2010-06-13
MANIFEST up-to-date.
Small POD improvements.
1.04 2010-05-25
- important bugfix: service locks fixed!
- Ubic::Daemon: join all bin args if bin is arrayref.
- Remove old configs from old yandex-ubic package.
1.02 2010-05-04
Remove old configs from old yandex-ubic package.
1.01 2010-04-29
Just fixing debian dependency issues.
1.00 2010-04-28
First opensource release.