Manages the deployment of the Tessera application

Eric Zounes



6,970 latest version

3.0 quality score

Version information

  • 0.1.0 (latest)
released Nov 19th 2014

Start using this module


Ziaunys/tessera — version 0.1.0 Nov 19th 2014


###Table of Contents

  1. Overview
  2. Module Description - What the module does and why it is useful
  3. Setup - The basics of getting started with the Tessera module
  4. Usage - Configuration options and additional functionality
  5. Reference - An under-the-hood peek at what the module is doing and how
  6. Limitations - OS compatibility, etc.
  7. Development - Guide for contributing to the module


Tessera is a Graphite front-end developed by Urban Airship. The project is found here: https://github.com/urbanairship/tessera

##Module Description

The Tessera module installs the Tessera app in a virtualenv, optionally initializes the sqlite db and assets, and sets up Gunicorn. In order to use this module you'll need to adhere to the requirements in the Modulefile. If you want to build Tessera's assets, you'll need to manage nodejs and grunt elsewhere in your Puppet code.


###What the Tessera module affects

  • Clones the Tessera repo.
  • Creates a Python virtualenv in the Tessera repo.
  • Installs all the requirements in addition to the dev-requirements.
  • Configures Gunicorn in the virtualenv.
  • Optionally initializes the sqlite database.
  • Optionally installs js dependencies and builds assets.

###Beginning with the Tessera module

The following class declaration will deploy the Tessera, repo, initialize the sqlite db, and build the assets.

class { '::tessera':
    ensure             => 'present',
    build_assets       => true,
    init_db            => true,
    app_root           => '/opt/tessera',
    repo_url           => 'git://github.com/urbanairship/tessera.git',
    version            => 'v0.4.4',
    graphite_url       => 'https://graphite.example.net',
    gunicorn_sock_path => 'unix:/var/run/tessera/tessera.sock',
    tessera_user       => 'www-data',
    tessera_group      => 'www-data',
    require            => Package['git'],


There is only one class in the Tessera module. It has the ability to set up all the components in the correct order.

###I don't want to build assets or use sqlite.

Modify the following parameters.

class { '::tessera':
    build_assets      => false,
    init_db           => false,
    sqlalchemy_db_uri => 'postgresql://username:password@tessera-db01-prod.example.net',

###Want prettier defaults?

Modify the following parameters.

class { '::tessera':
    default_refresh_interval    => 60,
    default_theme               => 'snow',
    interactive_charts_default  => 'True',
    interactive_charts_renderer => 'nvd3',


This module has been built on and tested against Puppet 3.

The module has been tested on:

  • Debian 6/7


Open PR's. Write tests. Go nuts!


The list of contributors can be found at: https://github.com/Ziaunys/puppet-tessera/graphs/contributors