Skip to content
berekuk edited this page Feb 14, 2012 · 7 revisions

More service modules

Ubic::Service::SimpleDaemon is good. But some people may feel more comfortable with other daemonization modules available on CPAN. So we need to implement Ubic::Service::Proc::Daemon and Ubic::Service::MooseX::Daemonize so that they could migrate easily.

Windows port

Ubic needs to be really cross-platform (and platform-independent as much as possible).

Plan for porting ubic to Windows.

Plugins

Global start/stop hooks, etc.

More settings for SimpleDaemon

ulimit, clear_env, reload_signal

HTML frontend

Webserver which can report service statuses and possibly allow start/stop/restart commands via html buttons as well. ubic-web will implement all these features occasionally.

Custom check collections

Currently, if you want to extend service status code (usually to implement additional status checks), you have to use inheritance, call $self->SUPER::status (or sometimes $self->SUPER::status_impl), and merge parent's status result with your own check manually. It would be nice to be able to add these checks declaratively and reuse checks in different services (i.e., you want to restart your service if binary was modified? use Ubic::Check::Modified; want to restart your service if it leaks too much memory? use Ubic::Check::MemoryLimit; etc).

More docs

tutorials, cookbook, screencast

Capture and rotate service logs

Stdout, stderr and ubic_log can't be rotated without restarting a service. We need something like daemontools' multilog. Either ubic-guardian process should handle it, or some other process.

Proper shutdown

We need 'ubic shutdown' command which stops all services without affecting their states.