Skip to content

Instantly share code, notes, and snippets.

@jhmartin
jhmartin / gist:44dc673a3c57ffa8ede8388f0f9850dd
Created August 25, 2016 18:21
Docker Swarm Node Filter
To search the node api, filtering by role:manager
http://127.0.0.1:2375/nodes?filters=%7B%22role%22%3A%5B%22manager%22%5D%7D
Filters= is the URLEncoded version of {"role":["manager"]}
@jhmartin
jhmartin / cloudtrail.json
Last active May 4, 2016 04:14
CloudTrail
{
"AWSTemplateFormatVersion": "2010-09-09",
"Metadata": {
"AWS::CloudFormation::Designer": {
"f700037a-b1cd-40cc-968f-c67ea5a2d96f": {
"size": {
"width": 60,
"height": 60
},
"position": {
I pass these options to the varnishncsa daemon (this line is from my /etc/init.d/varnishncsa)...
DAEMON_OPTS="-a -F "\''%h "%{X-Forwarded-For}i" %u %t "%r" %s %b "%{Referer}i" "%{User-agent}i" %{Varnish:time_firstbyte}x %{Varnish:handling}x'\'" -c -w ${LOGFILE} -D -P $PIDFILE"
I parse that with the following grok pattern...
VARNISHNCSALOG %{IPORHOST:remoteip} %{QUOTEDSTRING:xforwardedfor} %{USER:auth} \[%{HTTPDATE:timestamp}\] "%{WORD:verb} %{NOTSPACE:request} HTTP/%{NUMBER:httpversion}" (?:%{NUMBER:status}|\(null\)) (?:%{NUMBER:bytes}|-) "(?:%{NOTSPACE:referrer}|-)" %{QUOTEDSTRING:agent} %{BASE10NUM:berespms} %{WORD:cache}
@jhmartin
jhmartin / SSLPoke.java
Last active August 29, 2015 14:24 — forked from 4ndrej/SSLPoke.java
import javax.net.ssl.SSLSocket;
import javax.net.ssl.SSLSocketFactory;
import java.io.*;
/** Establish a SSL connection to a host and port, writes a byte and
* prints the response. See
* http://confluence.atlassian.com/display/JIRA/Connecting+to+SSL+services
*/
public class SSLPoke {
public static void main(String[] args) {
if (request.type == 'LAUNCH_REQUEST')
# Process your Launch Request
# Call your methods for your application here that process your Launch Request.
response.add_speech('House Control online')
response.add_hash_card( { :title => 'My House', :subtitle => 'House Control activated.' } )
end
if (request.type == 'INTENT_REQUEST')
# Process your Intent Request
p "#{request.slots['helper']['value']}"
@jhmartin
jhmartin / gist:cc5582ea767581eabfcf
Created June 1, 2015 22:42
Amazon Echo & Z-Way ZWave
// Based on https://github.com/noelportugal/AmazonEchoApi.git, watches for 'goodnight' and sets a Z-Way scene.
public static void main(String[] args) throws InterruptedException, IOException {
AmazonEchoApi amazonEchoApi = new AmazonEchoApi("https://pitangui.amazon.com","jhmartin@toger.us", "SNIP");
if (amazonEchoApi.httpLogin()){
while (true) {
String output = amazonEchoApi.httpGet("/api/cards?type=TASK&size=1");
//String output = amazonEchoApi.httpGet("/api/cards?type=TASK&size=1");
//String output = amazonEchoApi.httpGet("/api/todos?type=TASK&size=1");
// Parse JSON
### Keybase proof
I hereby claim:
* I am jhmartin on github.
* I am toger (https://keybase.io/toger) on keybase.
* I have a public key whose fingerprint is 295E 910B 42C5 3CE3 683C CD17 B1E3 6C1C E754 A822
To claim this, I am signing this object:
@jhmartin
jhmartin / gist:12209f78a592eaf98cfd
Last active August 29, 2015 14:13
Submitting a Docker container w/a Consul service name to Mesos/Marathon >= 0.20
curl -v -X POST http://localhost:8080/v2/apps \
-H Content-Type:application/json -d '{
"id": "some-nginx",
"container": {
"docker": {
"parameters" : {
"env": "SERVICE_NAME=nginx-xyz"
},
"image": "nginx",
"network": "BRIDGE",
$ /opt/chef/embedded/bin/sensu-cli client history XYZ
-------
check: sensu-redis-metrics
history: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
last_execution: 1413319524
last_status: 0
-------
check: check-aws-maintenance
history: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
last_execution: 1413319467
#/usr/bin/env ruby
# Sends events to hipchat for wonderful chatty notifications
#
# This extension requires the hipchat gem
#
# The reason I wrote this instead of using the normal hipchat handler, is that with Flapjack
# all events are handled unless you do crazy filtering stuff. Also with a large number of events
# and checks the sensu server can get overloaded with forking stuff. So anyway, hipchat extension :)
#