Skip to content

Instantly share code, notes, and snippets.

@gkspranger
gkspranger / quick-nomad-Vagrantfile
Created June 7, 2023 16:51
vagrant file to get nomad up and running quickly with docker and raw_exec enabled
$setup = <<-SCRIPT
sudo setenforce 0
sudo sed -i 's/^SELINUX=.*/SELINUX=permissive/' /etc/selinux/config
sudo dnf config-manager --add-repo https://rpm.releases.hashicorp.com/RHEL/hashicorp.repo
sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
sudo dnf clean all
sudo dnf -y install nomad docker-ce
sudo systemctl start docker.service
#!/usr/bin/env bash
set -e
sanitize_nomad () {
nomad system gc
nomad system reconcile summaries
}
deregister_instance () {
@gkspranger
gkspranger / seeme.tf
Created September 3, 2021 20:08
using count on a list of maps
locals {
minions = [
{ "name" = "greg",
"type" = "m5.large" },
{ "name" = "ragha",
"type" = "t3.micro"
}
]
@gkspranger
gkspranger / nested_arr.cr
Created October 13, 2020 20:33
crystal attempt at multidimensional array
# start nested array if i==100
# end nested array if i==200
flat_tokens = [1, 2, 100, 3, 4, 200, 5, 100, 6, 7, 200, 8]
alias MYARR = Array(Array(Array(Int32) | Int32) | Array(Int32) | Int32)
def parse(tokens, list : MYARR)
return {tokens, list} if tokens.empty?
token = tokens.shift
@gkspranger
gkspranger / recipe.rb
Last active March 11, 2020 19:36
Using a Shell's STDOUT in a Chef ruby_block
ruby_block 'shell out fun' do
block do
# this is me running my command and assigning the output to a var
ls = shell_out('ls /var/')
# this is me assigning the STDOUT to a var
raw_output = ls.stdout
# i used the Ruby p method to print out the raw chars
# then i knew how to manipulate the string
# cookbook code
...
reboot 'soon' do
delay_mins 2
action :request_reboot
end
Chef.event_handler do
on :run_failed do |exception, run_status|
version: 0.2
phases:
build:
commands:
- ansible-playbook -i $INVENTORY $PLAYBOOK \
--limit $LIMIT --extra-vars $EXTRA --tags $TAGS
#!/bin/bash
# hubot
# chkconfig: 345 20 80
# description: hubot
# processname: hubot
# REFERENCE: http://werxltd.com/wp/2012/01/05/simple-init-d-script-template/
# This script assumes you have a user called "hubot" on your system and that hubot is installed in /home/hubot
# AWS EC2 hosts
# using ANSIBLE to assign tags
{% macro eze(tag) -%}
{# this is an easy, consistent way to enable a tag #}
{{ tag }} = enabled
{%- endmacro %}
{# loop thru all your EC2 hosts in alpha order #}
{% for i in ansible_play_batch | sort %}
{# loop thru all relevant nodes #}
{% for i in ansible_play_batch | sort %}
{# set the node name AND node vars #}
{% set node_name=i %}
{% set node_vars=hostvars[ i ] %}
{# define the nagios hostgroup vars associated with this node .. default to linux #}
{% if node_vars.nagios_hostgroups is defined %}
{% set node_hostgroups="linux," ~ node_vars.nagios_hostgroups %}