Skip to content

Instantly share code, notes, and snippets.

View henkin's full-sized avatar

Paul Henkin henkin

View GitHub Profile
@henkin
henkin / wait-k8s-ip.sh
Created November 22, 2019 23:00
wait for k8s ip #k8s #gcp
#!/usr/bin/env bash
# Waits for kubernetes ingress to get an IP
# Usage:
# wait-k8s-ip.sh <ingressName> <namespace>
# eg: wait-k8s-ip.sh ingress-name my-app-dev
# Will timeout after 5minutes (5 * 60 tries * 1 sec wait = 300 secs)
external_ip=""
times=0
@henkin
henkin / fix_tiller.sh
Created September 5, 2019 17:19
Fix helm Tiller service account gcp
kubectl create serviceaccount --namespace kube-system tiller
kubectl create clusterrolebinding tiller-cluster-rule --clusterrole=cluster-admin --serviceaccount=kube-system:tiller
kubectl patch deploy --namespace kube-system tiller-deploy -p '{"spec":{"template":{"spec":{"serviceAccount":"tiller"}}}}'
@henkin
henkin / nestedErrors.js
Created October 14, 2016 21:19
Handling errors in libraries
function mainApp() {
libraryCode(input)
.then((data) => console.log("main output", formatForUserView(data)))
.catch((err) => {
console.error("error from library!", err);
display("user-friendly error message");
});
}
@henkin
henkin / register.js
Created October 11, 2016 18:06
AWS register IoT thing using promises
'use strict';
// https://aws.amazon.com/blogs/compute/implementing-a-serverless-aws-iot-backend-with-aws-lambda-and-amazon-dynamodb/
console.log('Loading register function');
var AWS = require('aws-sdk');
AWS.config.region = 'us-east-1';
var iot = new AWS.Iot();
let policyName = 'Policy';
let thingTypeName = 'Type';
@henkin
henkin / deleteAwsThing.js
Created October 10, 2016 15:14
Delete an AWS IoT thing and all its attached certificates.
'use strict';
var AWS = require('aws-sdk');
AWS.config.region = 'us-east-1';
var iot = new AWS.Iot();
function deleteThing(name, policyName) {
console.log('Deleting thing "' + name + '"');
let params = {thingName: name};