1.x to 2.0

Because confman releases prior to 2.0 were not generally public, I have not prioritized automating the process for upgrading an existing 1.x repository. Instead, this guide can be used to perform some manual steps to get your repository in sync with confman 2.0.

What's New

  • Recipes will no longer be read from the filesystem (e.g., /usr/local/etc/recipe). Instead, they will be read from metadata.
  • For each host that uses confman, you must set its recipe:
    confman recipe set `hostname -s`
    

Upgrading your repository

  1. Create the meta and recipe directories
    cd ~/src/conf
    svn mkdir --parents meta/recipes
    
  2. Move your recipes into the new location
    for recipe in $(find . -name recipe) ; do
        svn mv $recipe meta/recipes/$(echo $recipe | cut -f2 -d/)
    done
    
  3. Commit your changes
    svn commit
    

Updating your configuration file

The following settings are now managed by the confman package and it's highly unlikely you want to override them. Remove these configurations from your system-wide confman.conf:

  • REPO_LIBRARY
  • REPO_DOCS
  • REPO_CHECKPTS
  • WORK_PATH
  • RECIPE_PATH
  • REPO_DB

The following options now have sensible defaults and should be removed from confman.conf if you're not overriding them for a reason:

  • CONF_WARNING
  • DEFAULT_MODE_DIRECTORY
  • DEFAULT_MODE_FILE
  • DEFAULT_OWNER
  • DEFAULT_GROUP
  • DEFAULT_COMMENT
  • CONF_GROUP
  • DEBUG

In fact, it's likely that you'll only need to keep these options set:

  • REPO_PROTOCOL
  • REPO_HOSTNAME
  • REPO_PATH
  • SINGULARITIES

And these if you're using confexport / confsync:

  • CONF_EXPORT_FILE
  • CONF_EXPORT_URI
  • CONF_SSH_KEY