Forge Home




9,831 latest version

1.5 quality score

Version information

  • 0.5.0 (latest)
  • 0.0.1
released Dec 8th 2013

Start using this module

  • r10k or Code Manager
  • Bolt
  • Manual installation
  • Direct download

Add this module to your Puppetfile:

mod 'tomitakussaari-bower_puppet_server', '0.5.0'
Learn more about managing modules with a Puppetfile

Add this module to your Bolt project:

bolt module add tomitakussaari-bower_puppet_server
Learn more about using this module with an existing project

Manually install this module globally with Puppet module tool:

puppet module install tomitakussaari-bower_puppet_server --version 0.5.0

Direct download is not typically how you would use a Puppet module to manage your infrastructure, but you may want to download the module in order to inspect the code.



tomitakussaari/bower_puppet_server — version 0.5.0 Dec 8th 2013


Puppet module for configuring puppet server using Bower for providing environments from git repositories

See Bower-puppet-master-example


  • Configure Puppet environments using Bower and Git
  • Updates environments automatically on background, according to configuration you give it.
  • Configures itself by itself (Using Puppet of course)
  • HTTP API for doing nice things
  • Seems to work on both CentOS 6 & RHEL 6, probably does not work anywhere else currently.

Why ?

  • Forces you to create releases from your Puppet Environments, instead of always deploying "master-SNAPSHOT"
  • No need for Git triggers
  • Because it was possible


  • Fetch this module using Bower (install it from

    bower install
  • Or using Puppet

    puppet module install tomitakussaari/bower_puppet_server --version 0.5.0
  • Then use it in your own project like this

        class { "bower_puppet_server":
                environments => template("my_module/my_environments")
  • It expects environments to contain string in following format:

  • GIT_READ_ONLY_URL#1 means "always use latest 1.x.x release from GIT_READ_ONLY_URL repository"

  • It uses Bower, so other tricks to choose release work too!

  • Environment names may contain only alphanumeric characters and underscores (like foo_bar1)


  • Fast way to see what versions & environments your installation is providing.

  • Enable it:

    class { "bower_puppet_server":

    environments => template("my_module/my_environments"), enable_api=> 'true' }

  • List environments and tracked releases

      curl PUPPET_SERVER:8080/environments
  • Force environment update (If time is money and you cannot afford to wait for it to happen automatically after 1 minute)

      curl -X POST PUPPET_SERVER:8080/environments
  • Show version of environment

      curl http://PUPPET_SERVER:8080/environments/MY_ENVIRONMENT
  • List servers managed with this Puppet Server

      curl http://PUPPET_SERVER:8080/servers
  • How it works ? See bower-puppet-api

License: MIT