dozzie's code

new sections: my modules

I have added new sections to this page that provide links to modules (for Perl, Python and Ruby) I have written. There's no Python modules yet, but this should change in the future.

new application: DashWiki

New application became mature enough to be published:  DashWiki. This is a wiki engine focused on defining dashboards.

flowmon rewrite

New version of flowmon is out. It's an almost complete rewrite, now with way better internal architecture. flowmon is now usable with monitoring systems, not only an interactive tool.

cfgen v1.1

New version of cfgen is out. Added possibility of defining variables for all hosts and command line option for parameters inspection.

cfauditdump v0.9

Home page for new tool was added: cfauditdump.

cronbuilder v0.7

Minor cronbuilder release, incorporating new command line option helping in source repository migration.

Welcome to the page dedicated to tools written by  dozzie (GPG public key).

Most (all?) of these tools are written with system administrator's tasks in mind, so they address specific needs encountered by sysadmin (by me, in this case).

You can subscribe to RSS feed RSS

Projects

All the projects can be found here:  http://dozzie.jarowit.net/code/. Some may also be published on  GitHub. Perl modules are certainly pushed to  CPAN.

The projects are managed in  git version control system, so you'll need to learn it a bit if you want to access the code (though each tool has a short how-to-get instructions provided). History can be viewed on  gitweb.

No tarballs with code are provided, at least for now.

Tools descriptions

cfauditdump

Tool that dumps audit database coming from  cfengine 2.x (3.x in BerkeleyDB format works as well) in  YAML format.

Tool's page

cfgen

Config generator that uses templates ( Template::Toolkit) parametrized with  YAML files filled with values for each host.

Tool's page

cronbuilder

Tool that pulls sources from one repository, builds them using supplied command and pushes changes to another repository.

Not a difficult thing, but constant rewritting scripts (to keep silence when no changes were made) is annoying when it comes to details.

Tool's page

DashWiki

Wiki engine for dashboards. DashWiki integrates data from different sources (through XML-RPC, HTTP and such) and allows easy creation of dashboards, releasing sysadmin from necessity of writing web applications over and over again.

 Tool's page

flowmon

Network flow monitor. Displays traffic summaries for flows, which are defined by  BPF filters.

You can think of this being similar  iftop.

Tool's page

munc

Netcat multiplexer.

TODO: be more specific about munc.

Tool's page

SSL-enabled rsync

The Right Way(tm) of doing rsync over SSL. Uses stunnel 4.x.

Tool's page

pwgen

pwgen is a password generator producing passwords that are easy to remember.

This is translation original  pwgen tool (well, at least a generation algorithm) to Perl and Python languages.

Tool's page

sftponly

Remember  scponly, a shell providing copy-only access to users?

Want to close them in chroot() environment?

Don't want to bother with creating full-blown chroot() or even small /dev contents?

This is the (my) way to go.

sftponly doesn't need any files -- especially device files -- in user's home directory, so it's quite easy to manage multiple copy-only accounts. Your users will not be able to break their environment anymore.

Tool's page

Time Shifter

Tool for changing reported time for specific processes.

When you need to change current time for some processes, but not for the whole system or when you just can't change the time for the system (no root privileges).

Tool's page

OpenVZ stats

Little daemon that collects OpenVZ statistics in guest system and pushes them to  collectd.

Requires that collectd has  UnixSock plugin enabled.

Tool's page

XML-RPC daemon

Daemon and shell client utility, both using  XML-RPC protocol wrapped in SSL and provided with HTTP authentication.

Daemon is just a trivial HTTP server, that passes XML-RPC calls to appropriate Perl scripts. It's just simpler to configure such a small daemon than Apache, lighttpd or nginx.

Tool's page

Perl modules

 App::Getconf

Module aiming at keeping configuration coming from different sources: configuration files and command line. API influenced by  Log::Log4perl.

 Module's CPAN page

 Log::Message::JSON

Module for structured logging. Log::Message::JSON is basically a hash(ref) that magically stringifies to JSON when necessary.

 Module's CPAN page

 Log::Log4perl::Appender::Fluent

Module for structured logging. It's a  Log::Log4perl appender that submits data to  Fluentd. It works with plain strings, but when passed  Log::Message::JSON or  Log::Message::Structured, it passes full structure.

 Module's CPAN page

 Sys::Facter

Perl clone of  Facter, compatible with  pfacter.

 Module's CPAN page

Python modules

Nothing published yet

Ruby modules

Test::TAP::More

Simple test framework for Ruby. Mimics excellent  Test::More module and is a  TAP producer.

Module's page

Erlang applications

Indira

Helper library making starting Erlang code as a daemon way easier.

Application's page

xmerlrpc

XML-RPC client and server library.

Application's page

exmlrpcd

Simple XML-RPC daemon in Erlang.

Application's page

ENI

INI-like file loader library.

Application's page

Quick build how-to

Many of the tools (especially recent ones) are prepared to make a package (DEB and RPM).

  1. Clone the repository:
    git clone http://dozzie.jarowit.net/code/cfgen.git
    
  2. Install tools for building packages
    • for Debian: packages dpkg-dev, fakeroot, build-essential
    • for Red Hat/CentOS: packages make, rpm-build

And possibly compilers (gcc, g++).

  1. Build a package:
    • for Debian:
      dpkg-buildpackage -b -uc
      
    • for Red Hat/CentOS:
      make srpm
      rpmbuild --rebuild *.src.rpm
      

For original Trac start page, see WikiStartOld.

Attachments