Skip to content

Instantly share code, notes, and snippets.

@ekristen
ekristen / notify-pushover.sh
Last active February 7, 2024 22:05
Very Basic Nagios/Icinga Pushover Notification Script
#!/bin/sh
PUSHOVERUSER=$1
PUSHOVERTOKEN=$2
PUSHOVERTITLE=$3
PUSHOVERMESSAGE=$4
curl -XPOST \
-F "token=${PUSHOVERTOKEN}" \
-F "user=${PUSHOVERUSER}" \
@ekristen
ekristen / check_docker_container.sh
Last active January 16, 2024 16:15
Bash Script for Nagios to Check Status of Docker Container
#!/bin/bash
# Author: Erik Kristensen
# Email: erik@erikkristensen.com
# License: MIT
# Nagios Usage: check_nrpe!check_docker_container!_container_id_
# Usage: ./check_docker_container.sh _container_id_
#
# Depending on your docker configuration, root might be required. If your nrpe user has rights
# to talk to the docker daemon, then root is not required. This is why root privileges are not
@ekristen
ekristen / renovate.json
Created December 7, 2023 17:31
Renovate Config - Kubernetes Versions - Separate Major/Minor
{
"packageRules": [
{
"matchDatasources": [
"go",
"docker"
],
"groupName": "kubernetes",
"groupSlug": "kubernetes",
"matchPackagePatterns": [

Files for setting up a test for restic assume role

@ekristen
ekristen / shell-one-liner-remove-bad-finalizer.sh
Created January 30, 2020 19:06
Shell One Liner to Remove Bad Finalizer From Kubernetes Resources
# Swap pod for any resource you need to iterate over. (ie daemonset, deployment)
kubectl get pods --all-namespaces | tail -n+2 | awk '{print $1 " " $2}' | xargs -L1 bash -c "kubectl patch -n \$0 pod/\$1 --type=merge -p \$(kubectl get -n \$0 pod/\$1 -o json | jq -Mcr '.metadata.finalizers // [] | {metadata:{finalizers:map(select(. != \"name-of-bad-finalizer\"))}}')"

Constrained Version

helm template test grafana/promtail --version 4.2.1 --values test.yaml
      volumes:
        - name: config
 secret:
# -- Default volume mounts. Corresponds to `volumes`.
# @default -- See `values.yaml`
defaultVolumeMounts:
- name: run
mountPath: /run/promtail
- name: containers
mountPath: /var/lib/docker/containers
readOnly: true
- name: pods
mountPath: /var/log/pods
@ekristen
ekristen / check_chrony
Last active February 22, 2023 14:26
Chrony Nagios Plugin
#!/bin/bash
# Changes by Erik Kristensen
#
# Changelog (2018/01/31)
# - Improved debugging, just set DEBUG=true in shell env
# - Can set critical, warning and service name via ENV vars or command line opts
# - Improved if statements for checking warning, critical conditions
# - Errors unknown if `bc` command line tool is not installed
#
#!/usr/bin/env python
# -*- encoding: utf-8 -*-
"""
Small module for use with the wake on lan protocol.
"""
from __future__ import absolute_import
from __future__ import unicode_literals
import argparse
@ekristen
ekristen / example.js
Last active December 1, 2018 08:12
Example Integration of Restify Endpoints
var restify = require('restify');
var restify_endpoints = require('restify-endpoints');
var endpoints = new restify_endpoints.EndpointManager({
endpointpath: __dirname + '/endpoints'
});
// Create the RESTful Server
var server = restify.createServer();