Git fetch, tags, remotes, and more

Fri 27 July 2012 by Lars Kellogg-Stedman Tags git

I’ve been playing around with Git, Puppet, and GPG verification of our Puppet configuration repository, and these are some random facts about Git that have come to light as part of the process.

If you want to pull both changes and new tags from a remote repository, you can …

read more

Capturing Envoy Data

Wed 22 February 2012 by Lars Kellogg-Stedman

Pursuant to my last post, I've written a simple man-in-the-middle proxy to intercept communication between the Envoy and the Enphase servers. The code is available here.

What it does

As I detailed in my previous post, the Envoy sends data to Enphase via http POST requests. The proxy intercepts these …

read more

Enphase Envoy XML Data Format

Mon 13 February 2012 by Lars Kellogg-Stedman

We recently installed a (photovoltaic) solar array on our house. The system uses Enphase microinverters, and includes a monitoring device called the "Envoy". The Envoy collects data from the microinverters and sends it back to Enphase. Enphase performs monitoring services for the array and also provides access to the data …

read more

Rate limiting made simple

Mon 26 December 2011 by Lars Kellogg-Stedman Tags networking linux

I use CrashPlan as a backup service. It works and is very simple to set up, but has limited options for controlling bandwidth. In fact, if you're running it on a headless system (e.g., a fileserver of some sort), your options are effectively "too slow" and "CONSUME EVERYTHING". There …

read more

Puppet, scope, and inheritance

Tue 16 August 2011 by Lars Kellogg-Stedman Tags puppet

I note this here because it wasn't apparent to me from the Puppet documentation.

If you have a Puppet class like this:

class foo {
  File {  ensure  => file,
          mode    => 600,

And you use it like this:

class bar {
  include foo

  file { '/tmp/myfile': }

Then /tmp/myfile will not be created. But …

read more