Skip to content

Instantly share code, notes, and snippets.

View peterjgrainger's full-sized avatar
🐱

Peter Grainger peterjgrainger

🐱
View GitHub Profile
rabbitmq:
image: rabbitmq:3-management
ports:
- "5672:5672"
- "15672:15672
'use strict';
const config = {
rabbitLocation: '',
reconnectTimeout: 4000
};
let subscriptionHandlerModule = require('./messaging/subscription-handler');
let subscriptionHandlerInstance;
@peterjgrainger
peterjgrainger / shorten_array_spec.rb
Created January 28, 2019 10:48
RSpec test showing Test Driven Learning
# spec/shorten_array_spec.rb
require 'shorten_array.rb'
describe ShortenArray do
it 'returns the first 2 items from the array' do
best_array_ever = %w[best array ever]
result = ShortenArray.first_two_items(best_array_ever)
expect(result).to eq %w[best array]
end
end
@peterjgrainger
peterjgrainger / shorten_array.rb
Created January 28, 2019 10:49
Ruby code showing Test Driven Learning
# lib/shorten_array.rb
module ShortenArray
def self.first_two_items(array)
[array[0], array[1]]
end
end
import boto3
client = boto3.client('cloudwatch')
@peterjgrainger
peterjgrainger / duplicate-repos.sh
Last active September 23, 2020 13:15
Duplicate repos
while IFS= read line; do
git clone --bare git@github.com:arup-group/$line.git
cd $line.git
git push --mirror git@github.com:parup-group/$line.git
rm -fr $line.git
done
@peterjgrainger
peterjgrainger / gist:d120386e38c27f18289e66c260d84d82
Last active January 19, 2021 21:54
speckle server docker compose file
version: "3"
services:
# this could be enabled once the server container is added
server:
build:
.
depends_on:
- database
- redis
@peterjgrainger
peterjgrainger / index.js
Created October 21, 2021 13:29
Headers
var http = require('http');
//create a server object:
http.createServer(function (req, res) {
res.write(JSON.stringify(req.headers)); //write a response to the client
res.end(); //end the response
}).listen(3000); //the server object listens on port 8080
@peterjgrainger
peterjgrainger / flow-log-parse.txt
Created January 23, 2023 13:14
Parse default flow log in log insights
fields @timestamp, @message
| parse @message "* * * * * * * * * * * * * *" as version, account_id, interface_id, srcaddr, dstaddr, srcport, dstport, protocol, packets, bytes, start, end, action, log_status
| filter action = "REJECT"
| sort @timestamp desc
| limit 2000
@peterjgrainger
peterjgrainger / create-instance.yaml
Created February 27, 2023 11:57
auto-remediate-wrong-availability-zone
Parameters:
instanceType:
Description: Instance type
Type: String
Default: r6i.xlarge
availabilityZone:
Description: Availability Zone
Type: String
Default: us-east-1i
vpcId: