Skip to content

Instantly share code, notes, and snippets.

Avatar
💭
I'm just a thin layer on top of AWS

Günter Grodotzki lifeofguenter

💭
I'm just a thin layer on top of AWS
View GitHub Profile
@lifeofguenter
lifeofguenter / Dockerfile
Created May 10, 2021
Multistep Docker build with Golang
View Dockerfile
# builder
FROM golang:1.16-buster AS builder
ARG DEBIAN_FRONTEND="noninteractive"
RUN set -ex && \
apt-get -qq update && apt-get -y -qq install \
gcc
WORKDIR /go/src/app
View Dockerfile
ARG spinnaker_version
FROM us-docker.pkg.dev/spinnaker-community/docker/front50:spinnaker-${spinnaker_version}
COPY services/front50/*.yml /opt/front50/config/
COPY spinnaker.yml /opt/front50/config/
@lifeofguenter
lifeofguenter / entrypoint.sh
Last active Jun 10, 2020
Dynamically set php-fpm workers in docker containers.
View entrypoint.sh
#!/usr/bin/env bash
set -eo pipefail
logger() {
printf '%s (%s) %s [%s]: %s\n' "$(date)" "$(whoami)" "${BASH_SOURCE}" "${1}" "${2}"
}
# determine maxprocs according to cgroup-mem-limit
memory_available="$(cat /sys/fs/cgroup/memory/memory.limit_in_bytes)"
View firefox.desktop
[Desktop Entry]
Name=Firefox
Comment=Web Browser
GenericName=Web Browser
X-GNOME-FullName=Firefox Web Browser
Exec=env MOZ_ACCELERATED=1 MOZ_WEBRENDER=1 /opt/firefox/firefox %u
Terminal=false
X-MultipleArgs=false
Type=Application
Icon=/opt/firefox/browser/chrome/icons/default/default128.png
@lifeofguenter
lifeofguenter / EventHandlers.vbs
Created Jun 28, 2019
hMailServer: remove/anonymise "received" header from outgoing emails
View EventHandlers.vbs
' Anonymise "Received" header on outgoing emails
Sub OnAcceptMessage(oClient, oMessage)
' Only delete received headers from own clients/submissions
If Len(oClient.Username) > 0 Then
Dim oHeaders
set oHeaders = oMessage.Headers
Dim i
For i = oHeaders.Count -1 To 0 Step -1
@lifeofguenter
lifeofguenter / aws.sh
Created Nov 7, 2018
bash_profile functions
View aws.sh
# will search either by instance-name or instance-id
# on instance-id it will return the first match, on instance-name it will return all matches
# will iterate through all your ~/.aws/credentials profiles
#
# Usage: aws-find-ec2 NAME-OR-INSTANCE-ID
# Example output:
# ~  aws-find-ec2 i-1234567abcdefghijk
# - checking company-master...
# - checking company-development...
# asg-platform / i-1234567abcdefghijk / 172.0.1.200
View gist:5bf05d87ebffda266270871905e5066b
tpl::render() {
local assign_re='@@([A-Za-z0-9_]+)@@'
while IFS='' read -r line || [[ -n "${line}" ]]; do
while [[ "${line}" =~ $assign_re ]]; do
line="${line/${BASH_REMATCH[0]}/${!BASH_REMATCH[1]}}"
done
echo "${line}"
done < "${1}"
}
@lifeofguenter
lifeofguenter / jenkins-cleanup-nodes.sh
Created Mar 23, 2018
cleanup offline nodes (jenkins / ecs)
View jenkins-cleanup-nodes.sh
#!/usr/bin/env bash
throw_exception() {
echo "Ooops!"
echo 'Stack trace:' 1>&2
while caller $((n++)) 1>&2; do :; done;
exit 1
}
set -E
View keybase.md

Keybase proof

I hereby claim:

  • I am lifeofguenter on github.
  • I am lifeofguenter (https://keybase.io/lifeofguenter) on keybase.
  • I have a public key ASCN7Zk0DWmLpu7GNeuYjrDdzR3wz-de3yQ_AO9f376EXgo

To claim this, I am signing this object:

View bash-completion-ssh.sh
# http://fahdshariff.blogspot.co.za/2011/04/writing-your-own-bash-completion.html
# https://unix.stackexchange.com/a/181603/111459
_ssh() {
local cur prev opts
COMPREPLY=()
cur="${COMP_WORDS[COMP_CWORD]}"
prev="${COMP_WORDS[COMP_CWORD-1]}"
opts=$(grep --no-messages '^Host' ~/.ssh/config ~/.ssh/config.d/* | grep -v '[?*]' | cut -d ' ' -f 2-)
COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) )