Skip to content

Latest commit

 

History

History
136 lines (120 loc) · 3.62 KB

README.md

File metadata and controls

136 lines (120 loc) · 3.62 KB

puppet-gor

Puppet Forge Version Puppet Forge Downloads CircleCI branch By Meltwater Maintenance license

Puppet module for Gor.

Installs Gor, configures an upstart job with the appropriate arguments, and starts the service.

Example usage

Pass some arguments:

class { '::gor':
  args => {
    '-input-raw'             => 'localhost:7999',
    '-output-http-header'    => 'User-Agent: gor',
    '-output-http'           => 'https://staging.example.com',
    '-output-http-redirects' => 2,
    '-output-http-timeout'   => '120s'
  },
}

The same argument can be specified multiple times by passing an array:

class { '::gor':
  args => {
    …
    '-output-http-method' => [
      'GET', 'HEAD', 'OPTIONS'
    ],
  },
}

To install a specific version of the Gor package: check https://github.com/buger/gor/releases

class { '::gor':
  version       => '0.14.1',
  digest_string => '0c0335a323c416569f030f46a7541045',
  digest_type   => 'md5',
  …
}

To install a specific version of the Gor package from a custom source url: check https://github.com/buger/gor/releases

class { '::gor':
  version       => '0.15.1',
  source_url    => 'https://github.com/buger/gor/releases/download/v0.15.1/gor_v0.15.1_x64.tar.gz'
  digest_string => 'ced467f51da7491a227b871c9894d351',
  digest_type   => 'md5',
  …
}

To install gor to a different bin location:

class { '::gor':
  binary_path => '/usr/bin', # default: '/usr/local/bin'
  …
}

To set custom environment variables in the start scripts:

class { '::gor':
  envvars => {
    'GODEBUG' => 'netdns=go',
    'FOO'     => 'bar',
  }
  …
}

To run gor under a normal user account and limit gor's memory usage:

class { '::gor':
  memory_limit => '100M',
  runuser      => 'gor',
  …
}

To prevent the service from starting:

class { '::gor':
  manage_service => false,
  …
}

To install the Gor package with a gor service but that can only be started manually:

class { '::gor':
  version       => '0.14.1',
  digest_string => 'ced467f51da7491a227b871c9894d351',
  digest_type   => 'md5',
  manage_service => false,
  args => {
    '-input-raw'             => 'localhost:7999',
    '-output-http-header'    => 'User-Agent: gor',
    '-output-http'           => 'https://staging.example.com',
    '-output-http-redirects' => 2,
    '-output-http-timeout'   => '120s'
  },
}

To install the Gor package with a gor service running that always send requests to https://staging.example.com

class { '::gor':
  version       => '0.14.1',
  digest_string => 'ced467f51da7491a227b871c9894d351',
  digest_type   => 'md5',
  args => {
    '-input-raw'             => 'localhost:7999',
    '-output-http-header'    => 'User-Agent: gor',
    '-output-http'           => 'https://staging.example.com',
    '-output-http-redirects' => 2,
    '-output-http-timeout'   => '120s'
  },
}

License

See LICENSE file.