Skip to content

Instantly share code, notes, and snippets.

#!/opt/puppetlabs/puppet/bin/ruby
require 'yaml'
require 'puppet'
require 'puppet/ssl/certificate_request'
retcode = 1
begin
clientcert = ARGV.pop
@ipcrm
ipcrm / gist:5425af163b58d3be44ee9a3a68744cb4
Created August 19, 2017 12:15
Gogs - Setup Key for Root
PUB_KEY=$(cat /root/.ssh/id_rsa.pub)
echo "{\"title\":\"puppet master key\",\"key\":\""${PUB_KEY}"\"}" > input.data
curl -H 'Content-Type: application/json' -X POST -d @input.data http://puppet:puppetlabs@localhost:3000/api/v1/admin/users/puppet/keys
if [ $? -ne 0 ]; then
echo "Gogs: Failed to create public key"
exit 6
fi
@ipcrm
ipcrm / gist:76a22573258c5d686570ed64d6ffc919
Last active August 19, 2017 11:35
Gogs Quick Setup (Puppet)
puppet module install kschu91-gogs --version 1.2.0
puppet apply -e '
$secret_key = "mysecretkey"
class {"::gogs":
version => "0.11.19",
app_ini => {
"APP_NAME" => "TSE Demo Master Git Server",
"RUN_USER" => "git",
@ipcrm
ipcrm / proxy_over_4.4.pp
Created March 3, 2017 21:42
proxy_over_4.4
class dwnld_proxy::new (
String $source = 'http://master.demo.lan/proxy/proxy.pac',
){
file {'/Users/mcadorette/adhoc/proxy.pac':
ensure => present,
source => $source,
backup => '.bak',
}
@ipcrm
ipcrm / proxy_under_4.4.pp
Created March 3, 2017 21:37
Example remote file download under Puppet 4.4
class dwnld_proxy (
String $source = 'http://master.demo.lan/proxy/proxy.pac',
){
remote_file { '/Users/mcadorette/adhoc/proxy.pac.source':
ensure => latest,
source => $source,
}
file {'/Users/mcadorette/adhoc/proxy.pac':
@ipcrm
ipcrm / apache_jk_junk_example.pp
Last active January 11, 2017 13:50
Mod_JK + Apache
include ::apache
apache::mod {'jk': }
$mod_jk_conf = @("JKCONFIG"/L)
# simple configuration for apache (for AJP connector, modul mod_jk.so)
<IfModule mod_jk.c>
JkWorkersFile /etc/httpd/conf.d/workers.properties
JkLogFile /var/log/httpd/mod_jk.log
@ipcrm
ipcrm / tripwire.pp
Created December 20, 2016 15:20
tripwire_profile
class profile::tripwire (
$master_host,
$master_port,
$master_passcode,
$version,
$source,
$archive_name = "tripwire-${version}-linux-${::architecture}.tar.gz",
)
{
@ipcrm
ipcrm / fileserver.pp
Created December 19, 2016 21:41
apache example
class profile::fileserver (
$user = 'root',
$group = 'root',
) {
include 'stdlib'
include 'apache'
ensure_resource('file', '/opt/fileserver', { 'ensure' => 'directory', 'owner' => "${user}", 'group' => "${group}"})
@ipcrm
ipcrm / hiera.pp
Created December 19, 2016 20:18
hiera module example
class {'::hiera':
hierarchy => [
'nodes/%{fqdn}',
'role/%{role}/%{location}',
'role/%{role}/%{tier}',
'role/%{role}',
'%{location}',
'common',
'setup',
],
@ipcrm
ipcrm / sysctl.pp
Last active February 14, 2018 21:01
sysctl
class profile::sysctl (
String $ip_forward = '0',
String $tcp_max_syn_backlog = '1280',
String $accept_source_route = '0',
String $icmp_echo_ignore_broadcasts = '1',
String $rp_filter = '1',
String $all_secure_redirects = '0',
String $all_accept_redirects = '0',
String $default_secure_redirects = '0',
String $default_accept_redirects = '0',