Skip to content

Instantly share code, notes, and snippets.

View eherot's full-sized avatar

Eric Herot eherot

View GitHub Profile
@eherot
eherot / Basic VPC Setup.md
Created November 6, 2019 16:07
How to set up a basic VPC with a VPN

Required things

  1. The VPN
  2. An Internet gateway
  3. A route table (meaining the route to 0.0.0.0/0 should go through the above internet gateway)
  4. A public subnet (meaning it should be "associated" with the above route table)
  5. An elastic IP address
  6. An EC2 instance (your VPN server) running in the above subnet and associated with the above elastic IP

Optional things (but that you'll almost certainly want)

@eherot
eherot / kops-cluster.staging.k8s.yaml
Created April 1, 2019 18:24
Staging cluster kubernetes manifest
apiVersion: kops/v1alpha2
kind: Cluster
metadata:
creationTimestamp: null
name: kops-cluster.staging.k8s
spec:
additionalPolicies:
node: |
[
{
### Keybase proof
I hereby claim:
* I am eherot on github.
* I am eherot (https://keybase.io/eherot) on keybase.
* I have a public key ASC8_wB_v4c1fYS6oGOazDmXd7hV-6LbE4EgCFcg12FcpAo
To claim this, I am signing this object:
@eherot
eherot / stale-cookbooks.rb
Created June 6, 2016 20:29
Check which cookbooks haven't been promoted to prod
require 'chef'
require 'chef/knife'
Chef::Knife.new.configure_chef
rest = Chef::ServerAPI.new Chef::Config[:chef_server_url]
cookbooks = rest.get_rest 'cookbooks'
rest.get_rest('environments/prod')['cookbook_versions'].reject do |cb,v|
Gem::Dependency.new('', v).match?('', cookbooks[cb]['versions'].sort_by{|k|k['version']}.first['version'])
end
@eherot
eherot / gist:5918775
Created July 3, 2013 14:51
can't load gem from inside library during build
recipes/default.rb:
g = gem_package "fog" do
action :nothing
end
g.run_action(:install)
require 'fog'
@eherot
eherot / chef-zero ruby sigsegv
Created January 24, 2014 00:29
chef-zero ruby sigsegv
$ env GEM_HOME=~/.vagrant.d/gems /Applications/Vagrant/embedded/bin/ruby /Users/eherot/.vagrant.d/gems/gems/chef-zero-1.7.3/bin/chef-zero --host 172.16.64.3 --port 4000
/Users/eherot/.vagrant.d/gems/gems/json-1.8.1/lib/json/common.rb:67: [BUG] Segmentation fault
ruby 2.0.0p353 (2013-11-22 revision 43784) [universal.x86_64-darwin12.5.0]
-- Crash Report log information --------------------------------------------
See Crash Report log file under the one of following:
* ~/Library/Logs/CrashReporter
* /Library/Logs/CrashReporter
* ~/Library/Logs/DiagnosticReports
* /Library/Logs/DiagnosticReports
@eherot
eherot / error.out
Created September 6, 2013 16:52
Inexplicable rsyslog failure on attribute lookup
$ sudo chef-client
Starting Chef Client, version 11.6.0
resolving cookbooks for run list: ["et_base", "logserver"]
Synchronizing Cookbooks:
- et_base
- chef-solo-search
- apt
- postfix
- chef_handler
- yum
@eherot
eherot / attributes.rb
Created August 7, 2013 18:12
miah/logstash no method error
set['logstash']['service_options']['url'] = "http://ops.evertrue.com.s3.amazonaws.com/pkgs/logstash-1.1.13-flatjar.jar"
set['logstash']['service_options']['checksum'] = "5ba0639ff4da064c2a4f6a04bd7006b1997a6573859d3691e210b6855e1e47f1"
set['logstash']['service_options']['version'] = "1.1.13-flatjar"
set['logstash']['service_options']['service_type'] = "runit"
set["logstash"]["shipper"]["redis_hosts"] = [ "127.0.0.1" ]
@eherot
eherot / gist:6116272
Created July 30, 2013 19:47
Notification syntax
action :create do
template new_resource.path do
source "other_template.erb"
action :nothing
end
t = template "#{Chef::Config[:file_cache_path]}/#{apex}.zone" do
source "zone.erb"
notifies :create, "template[#{new_resource.path}]"
Installing git (4.3.5)
Using mock-ec2 (1.0.1) from source at test/cookbooks/mock-ec2
Using python (1.4.6)
Using shinken (1.6.1) from source at .
Using test-data (1.0.1) from source at test/cookbooks/test-data
Using test-tools (1.0.1) from source at test/cookbooks/test-tools
Using windows (1.38.4)
Using yum (3.8.2)
Using yum-epel (0.6.5)
E, [2015-12-18T17:08:06.174880 #43182] ERROR -- : Couldn't cleanly terminate all actors in 10 seconds!