Skip to content

Instantly share code, notes, and snippets.

View logemann's full-sized avatar

Marc Logemann logemann

View GitHub Profile
npm install -g aws-cdk
cdk --version
@logemann
logemann / demoroute53.js
Created October 12, 2018 17:54
Route53 updater in conjunction with ECS
let AWS = require('aws-sdk');
let ec2 = new AWS.EC2();
let ecs = new AWS.ECS();
let route53 = new AWS.Route53();
/**
* expects an environment variable with name "entryparam" and the following value / structure:
* [{
* "cluster": "mycluster1",
* "domain": "demo.mydomain.com",
// cron = 55 4 * * 3
module['exports'] = function techhour(hook) {
console.log("Starting Hook: "+hook.params.hook);
var channel = "general";
var request = require('request');
var store = hook.datastore;
var keyName = hook.params.hook+"-lastRunDateMillis";
// disable date compare
store.del(keyName, function() {});
@logemann
logemann / gist:28296f29bb66617309d9
Last active September 30, 2015 23:40
warningday
module['exports'] = function warningday(hook) {
console.log("Starting Hook: "+hook.params.hook);
var channel = "general";
var request = require('request');
var store = hook.datastore;
var keyName = hook.params.hook+"-lastRunDateMillis";
// disable date compare
store.del(keyName, function() {});
@logemann
logemann / gist:b385fd3d3db8e82abb90
Last active September 30, 2015 21:57
ICB Part 2 Reminder
module['exports'] = function icb2reminder(hook) {
console.log("Starting Hook: "+hook.params.hook);
var channel = "general";
var request = require('request');
var jsonRequest = jsonRequest = createJson("#"+channel, "Nicht vergessen...", "",
"Das ICB Meeting (Teil 2) steht in 5 Minuten an.", "Das ICB Meeting (Teil 2) steht in 5 Minuten an!",
hook.env.PICTURE_BASE_URL + "/icblogo.png");
var resp = request(
@logemann
logemann / gist:1e98be19a44664bdf5bd
Last active September 30, 2015 23:31
Trash Reminder
module['exports'] = function trashreminder(hook) {
// run 0 4 * * 3
console.log("Starting Hook: "+hook.params.hook);
//console.log("hook.params.ranFromCron: "+hook.params.ranFromCron);
var channel = "general";
var request = require('request');
var message = "everyone Reminder: Wer mit dem Mülldienst dran ist, muss heute (Mittwoch) den Mülleimer in der Küche leeren.";
var resp = request(
{
@logemann
logemann / gist:7ba18a2c3dc71babb6f6
Last active September 30, 2015 21:57
ICB Part 1 Reminder
module['exports'] = function icb1reminder(hook) {
console.log("Starting Hook: "+hook.params.hook);
var channel = "general";
var request = require('request');
var jsonRequest = jsonRequest = createJson("#"+channel, "Nicht vergessen...", "",
"Das ICB Meeting (Teil 1) steht in 5 Minuten an.", "Das ICB Meeting (Teil 1) steht in 5 Minuten an!",
hook.env.PICTURE_BASE_URL + "/icblogo.png");
var resp = request(
@logemann
logemann / gist:295c3cb7d6a0bbf2326a
Last active September 30, 2015 21:57
GA PassThrough
module['exports'] = function gapassthrough(hook) {
var request = require('request');
console.log("Starting Hook: "+hook.params.hook);
// console.log(body) // Show the HTML for the Google homepage.
var jsonRequest = createJson(body);
@logemann
logemann / gist:7391a1ba17ca07f177ff
Last active September 30, 2015 16:37
Weather Hook
module['exports'] = function weather(hook) {
console.log("Starting Hook: "+hook.params.hook);
var request = require('request');
var store = hook.datastore;
var url = "http://api.openweathermap.org/data/2.5/find?q=Osnabrueck&units=metric&lang=de";
var keyName = hook.params.hook+"-lastRunDateMillis";
store.get(keyName, function(error, result) {
if(error) {
hook.res.end("Fucked up :"+error.message);
@logemann
logemann / gist:456f822bbd3301284346
Last active September 26, 2015 03:32
Codebase Hook
module['exports'] = function codebase(hook) {
console.log("Starting Hook: "+hook.params.hook);
// hook.io has a range of node modules available - see https://hook.io/modules.
// We use request (https://www.npmjs.com/package/request) for an easy HTTP request
var request = require('request');
var payload = JSON.parse(hook.req.body.payload);
var title;
var jsonRequest;