Skip to content

Instantly share code, notes, and snippets.

View cmaster11's full-sized avatar
๐Ÿ’
G'day!

Alberto Marchetti cmaster11

๐Ÿ’
G'day!
View GitHub Profile
@cmaster11
cmaster11 / Markdium-shell.sh
Created November 18, 2020 06:47
Markdium-Easy notifications from Bash scripts!
set -e
# Define the n17 function
n17() { sh -c "$(wget -qO - "https://n17.io/sh")" -- -k "N17_RAW_API_KEY" "$@"; }
# This function will be invoked on script error.
n17TrapErr() {
n17 \
-t "Script execution error!" \
-c "$(cat <
@cmaster11
cmaster11 / Markdium-shell.sh
Created November 18, 2020 06:47
Markdium-Easy notifications from Bash scripts!
And we'll get:
@cmaster11
cmaster11 / net-example.cs
Created November 6, 2020 08:43
Example on how to send a Notify17 request with .NET WebClient
using System;
using System.Net;
namespace net_test_web
{
internal class Program
{
private static void Main(string[] args)
{
Console.WriteLine("Hello World!");
@cmaster11
cmaster11 / Markdium-JSON.json
Created December 27, 2019 04:42
Markdium-Alerting when a GCP instance fails
{
"name": "n17-pubsub",
"version": "0.0.1",
"dependencies": {
"@google-cloud/pubsub": "^0.18.0",
"request": "2.88.0"
}
}
@cmaster11
cmaster11 / Markdium-Shell.bash
Created December 27, 2019 04:42
Markdium-Alerting when a GCP instance fails
# If prompted for a zone, you can e.g. use the flag --zone=us-central1-a
gcloud compute instances create test-logs-instance --machine-type=f1-micro
@cmaster11
cmaster11 / Markdium-Shell.bash
Created December 27, 2019 04:42
Markdium-Alerting when a GCP instance fails
gcloud pubsub topics publish YOUR_TOPIC_NAME --message '{"name": "Mr.Anderson"}'
@cmaster11
cmaster11 / Markdium-YAML.yaml
Created December 27, 2019 04:42
Markdium-Alerting when a GCP instance fails
label: GCP Logs Pub/Sub
title: "GCP Logs: {{ coalesce .jsonPayload.event_subtype .logName }}"
content: "{{ Dump . }}"
@cmaster11
cmaster11 / Markdium-JavaScript.js
Created December 27, 2019 04:42
Markdium-Alerting when a GCP instance fails
const request = require('request');
exports.notify17 = (event) => {
console.log('Received pub/sub event', event);
// Decoded event data is already JSON
const body = Buffer.from(event.data, 'base64');
const options = {
uri: 'REPLACE_WITH_TEMPLATE_API_KEY',
@cmaster11
cmaster11 / Markdium-YAML.yaml
Created November 7, 2019 17:59
Markdium-How to get notifications when Kubernetes CronJobs fail
label: Overseer
title: "Overseer [{{if .error}}ERR{{if .isDedup}}-DUP{{end}}{{else}}{{if .recovered}}RECOVERED{{else}}OK{{end}}{{end}}] ({{.tag}}): {{.input}}"
content: |-
{{if .error -}}
{{if eq .type "k8s-event"}}Event{{else}}Error{{end}}
{{- if .isDedup}} (duplicated){{end}}: {{.error}}{{end}}
Tag: {{.tag}}
Input: {{.input}}
@cmaster11
cmaster11 / Markdium-Shell.bash
Created November 7, 2019 17:54
Markdium-How to get notifications when Kubernetes CronJobs fail
kubectl apply -f https://raw.githubusercontent.com/cmaster11/overseer/3f8ee2bbc1e5452d292e14c8b3e78960385b7ac9/example-kubernetes/000-namespace.yaml
kubectl apply -f https://raw.githubusercontent.com/cmaster11/overseer/3f8ee2bbc1e5452d292e14c8b3e78960385b7ac9/example-kubernetes/redis.yaml
kubectl apply -f https://raw.githubusercontent.com/cmaster11/overseer/3f8ee2bbc1e5452d292e14c8b3e78960385b7ac9/example-kubernetes/001-service-account-k8s-event-watcher.yaml
kubectl apply -f https://raw.githubusercontent.com/cmaster11/overseer/3f8ee2bbc1e5452d292e14c8b3e78960385b7ac9/example-kubernetes/overseer-k8s-event-watcher.yaml