osRecorderLogo.png

Overview

Revision Control is often used to track changes to source code and other documents, so why not your Operating System?.

After 1 year of receiving change notifications for my database instances and knowing exactly what change happened and when (aka dbRecorder), I decided the same should be true about the underlying Operating System.

In a busy environment changes happen all the time, unfortunately the human element is often the weak link resulting in minor changes that either fail to make it onto the change register or were only supposed to be temporary. :)

Add to that the uncertainty of what changes were made and when, it became clear that the automated change capture of dbRecorder would work perfectly at the Operating System, after all a change to the OS will often have a knock on effect to anything running on top of the OS like my Database for instance.

Change Control

Using revision control you are able to keep a record of any changes made to the configuration / structure of your database in the same way that developers keep track of their source code.

Notification

Everytime you run osRecorder the Operating System configuration is compared to the repository version. Along with storing these change in revision control you can also configure notification via e-mail (more methods to come). Great for knowing when something changes!.

This software is Alpha quality!!!, it works for me and I will update as I find bugs but please accept that it may not work for you without a few tweaks...you have the code so please do contribute.

Notifications are cool but where are all those changes kept?

osRecorder currently stores all changes to your database structure using a Subversion repository.
There are many tools out there for working with Subversion but if you are new to SVN you should check out the following:

Requirements

Supported Operating Systems

Work is under way to add support for FreeBSD and Windows prior to the initial release. Watch this space for more OS support in future.

Configuration File Format

I decided to use YAML as the format for the osRecorder configuration file as it is much easier on the eye than XML. Using YAML you can define multiple OS hosts using simple indentation and the - character as you will see next.

The osRecorder config file is divided into several sections allowing you to tailor individual aspects of the application as follows.

Subversion Section

Key

Value

Description

Subversion:

None

Start of Subversion config

 - Name:

String

Subversion Repository Name (brief description)

   URL:

String

Subversion Repository URL

   Username:

String

Username with permission to update SVN Repository (NOT IN USE)

   Password:

String

Password used to access SVN Repository (NOT IN USE)

Notification Section

Key

Value

Description

Notification:

None

Start of Notification config

 - Method:

String

Notification method

   Server:

String

Notification server (smtp server)

   Port:

String

Notification port (default 25)

   From:

String

E-mail from address

   To:

Array

Notification recipients e.g. [test1@osrecorder.org,test2@osrecorder.org]

FreeBSD Section

Key

Value

Description

FreeBSD:

None

Start of FreeBSD config

 - Name:

String

Defaults to Hostname if not specified.

   Hostname:

String

FreeBSD Hostname/IP

   Repository:

String

Subversion Repository Name (brief description)

   SecureShell:

None

Connection details required to access configuration (not required for localhost).

      Username:

String

SSH Username

      Password:

String

SSH Password

Example Config File

Subversion:
 - Name: MySVNRepository
   URL: file:///home/osRecorder/svn

Notification:
 - Method: smtp
   Hostname: localhost
   Port: 25
   From: osRecorder@osRecorder.org

FreeBSD
 - Hostname: localhost
   Repository: MySVNRepository

Download

Alpha Release

Coming Soon.

Limitations
  • Support for local file:/// based Subversion repository only in this release.

  • Support for e-mail change notification only.

Help Improve osRecorder

The best way to improve osRecorder is to use it and let me know what works, what doesn't and what's missing. You can do that using the Issue Tracker - it's easy. :)

Source Code

Browse Source

References




http://jyaml.sourceforge.net/

http://www.yaml.org/spec/

SVN Browsers

Standalone Clients

Web Interfaces