Skip to content

Instantly share code, notes, and snippets.

View TJM's full-sized avatar

Tommy McNeely TJM

View GitHub Profile
@TJM
TJM / sync_ipa_sshkeys.rb
Last active August 29, 2015 14:02
Sync IPA SSH Keys to Stash from @phemmer
#!/usr/bin/ruby
require 'net/http'
require 'net/https'
require 'rubygems'
require 'net/ldap'
require 'timeout'
require 'json'
require 'base64'
require 'resolv'
@TJM
TJM / graylog2.pp
Created January 8, 2015 17:31
graylog2 puppet profile
#
# === Class: lark::profile::graylog2
#
# Setup GrayLog2 Server
# GrayLog 2 also needs redis and elasticsearch
#
# === Parameters
#
# - secret - graylog2 secret (string >64 chars) - no default
# - root_password_sha2 - graylog2 root pass (string) - no default (sha256sum)
@TJM
TJM / staging.php
Last active August 29, 2015 14:15
Lookup Akamai Staging Hosts to create a hosts file entry
#!/usr/bin/php
<?php
# Convert a hostname to an "Akamai Staging" DNS entry
$parameters = array(
'h' => 'help',
'd' => 'debug'
);
$DEBUG = true;
@TJM
TJM / fix_hosts
Created May 1, 2015 22:50
Foreman fix_hosts
<%#
kind: snippet
name: fix_hosts
%>
echo "<%= @host %>" > /etc/hostname
hostname <%= @host %>
# CentOS 7 (Fedora 19+?) uses hostnamectl
[ -x /usr/bin/hostnamectl ] && /usr/bin/hostnamectl set-hostname <%= @host %>
@TJM
TJM / dumper.rb
Last active August 29, 2015 14:24
dumper.io initializer
# Initialize Dumper.IO agent if the secret is present
dumper_app_key = Rails.application.secrets.dumper_app_key
if dumper_app_key.to_s.eql?('DISABLE')
Rails.logger.warn "Database Backup (dumper) is DISABLED due to dumper_app_key"
elsif dumper_app_key.nil?
Rails.logger.warn("No dumper_app_key specified in secrets.yml, not running Database Backup (dumper)")
abort("You must set dumper_app_key in secrets.yml for production. You can set to 'DISABLE' if you don't want it to run.") if Rails.env.production?
else
Dumper::Agent.start(:app_key => dumper_app_key)
@TJM
TJM / LarkIT-CentOS-Finish.erb
Last active August 5, 2016 05:46
LarkIT-Foreman-Finish-Scripts
<%#
kind: finish
name: LarkIT-CentOS-Finish
oses:
- CentOS 4
- CentOS 5
- CentOS 6
- CentOS 7
- Fedora 16
- Fedora 17
@TJM
TJM / pe-backup.sh
Created June 7, 2017 18:02
Puppet Enterprise Backup
#!/bin/bash -e
# Simple Backup for Puppet Enterprise assuming all defaults and monolithic
BACKUPROOT=/backup
KEEPDAYS=30
BACKUPDIR="${BACKUPROOT}/$(date +%F-%T)"
# Backup Files
umask 077
mkdir -p "${BACKUPDIR}"
@TJM
TJM / win_bootstrap.ps1
Created August 10, 2017 16:51
Attempted / Broken Windows Bootstrap script
<powershell>
$domain = "${ad_domain}"
$password = "${joiner_pw}" | ConvertTo-SecureString -asPlainText -Force
$username = "${ad_shortname}\${joiner_account}"
$credential = New-Object System.Management.Automation.PSCredential($username,$password)
$puppet_master_server = "${puppet_server}"
$puppet_agent_environment = "${puppet_env}"
$puppet_role = "${role}"
@TJM
TJM / Feedback.md
Last active April 23, 2018 18:53
Puppet Language Basics Feedback

Puppet Language Basics Feedback

I am taking this course as an "expert" for feedback purposes. I am being particularly nit-picky because that is what I would want if I asked for feedback :)

General Feedback

  • Put the section "title" at the top. Maybe this would only help during the feedback phase, but I had to wait till I got to the next section to find out the title of the first one. (on the back button)
  • If the test button is "disabled" there needs to be a reason
  • There are several places where it is obvious that rspec is being used (from the errors), but upon success, I get the output passed which really doesn't need to be there. I recommend omitting the "passed" output if that is all there is, stick with the bold text "success" that is already there. In several cases, it might be better to have the puppet output, but in others it is probably not useful.
  • The "errors" from the rspec-puppet tests made sense to me, but I think for a "Puppet 101" course, rspec-puppet is not going to be useful. The
@TJM
TJM / catalog
Created October 17, 2018 21:26
Puppet Catalog script
#!/bin/bash
#
# catalog
# John Simpson <jms1@jms1.net> 2015-10-30
#
# Prints a Puppet node's catalog file.
# This *should* work with both OSP and PE.
#
# 2017-10-11 jms1 - adding "run" option