Skip to content

Instantly share code, notes, and snippets.

View towo's full-sized avatar

Tobias Wolter towo

View GitHub Profile
@towo
towo / default-os-trombik.yml
Last active May 16, 2019 09:42
OS-dependent default-precedence variables for ansible roles
# There's another method I spotted in trombik/ansible-role-dovecot. In the playbook, do this:
- name: Include OS-specific variables
include_vars: "{{ ansible_os_family }}.yml"
# In {{ ansible_os_family }}.yml:
__rolename_variable: some_value
# In defaults/main.yml:
rolename_variable: "{{ __rolename_variable }}"
@towo
towo / pkcs12
Created December 11, 2017 11:51
#!/bin/sh
set -e
EVENT_NAME="$1"
[ "$EVENT_NAME" = "live-updated" ] || exit 42
if [ ! -e "${ACME_STATE_DIR}" ]; then
exit 42
fi
@towo
towo / manualdns
Created November 24, 2017 17:32
Ghetto manual DNS hook for acmetool
#!/bin/bash
EVENT_NAME="$1"
CH_HOSTNAME="$2"
CH_TARGET_FILENAME="$3"
CH_TXT_VALUE="$4"
case "${EVENT_NAME}" in
challenge-dns-start)
echo "Use the following TXT value: _acme-challenge.${CH_HOSTNAME} TXT ${CH_TXT_VALUE}"
echo 'Waiting for 300 seconds'
@towo
towo / users.rb
Created November 22, 2017 14:24
Puppet fact to list all users in /etc/passwd
require 'facter'
Facter.add(:users) do
setcode do
users = []
File.open('/etc/passwd', 'r').readlines.each do |line|
if /^[^#:]+:[^:]+:[^:]+:[^:]+:[^:]+:[^:]+:[^:]+$/.match?(line)
users.push(line[/^(?<user>[^:]+)/, 'user'])
end
end
users
@towo
towo / dnsdist.conf
Last active March 8, 2024 23:21
ACL / query restriction for PowerDNS
newServer('127.0.0.1:4201')
addLocal('127.0.0.1:53')
addLocal('10.1.0.1:53', true, true, 0)
addLocal('203.0.113.42:53', true, true, 0)
setACL('0.0.0.0/0')
internalDomains = newSuffixMatchNode();
internalDomains:add(newDNSName("alpha.example.com."))
internalDomains:add(newDNSName("beta.example.com."))
addAction(RegexRule('^(alpha|beta)\\.example\\.com$'), AllowAction())
addAction(AndRule({NotRule(makeRule('10.0.0.0/8')), SuffixMatchNodeRule(internalDomains)}), RCodeAction(dnsdist.REFUSED))
@towo
towo / nm-dispatcher-hotspot
Last active October 18, 2017 17:43
Activate NM hotspot on full connectivity
#!/usr/bin/perl
use Env;
use strict;
my $device = 'enp0s25';
my $connection = 'Hotspot';
my @hotspot_connections = (
'4d2eab82-e19c-4c0b-8305-e0eacc24a67a',
'1decf25a-da88-48e1-9077-3f9b883f92b3',
@towo
towo / ansible.cfg
Created March 18, 2017 23:47
GPG wrapping Ansible Vault
[defaults]
hostfile = some-environment
vault_password_file = bin/gpg-wrapper.sh
@towo
towo / dist-upgrade.yml
Last active March 13, 2017 22:45
"Oh, who needs more than 256MB on /boot, how silly"
tasks:
- name: purge-old-kernels
script: '/home/towo/bin/purge-old-kernels -qy'
with_items: "{{ ansible_mounts }}"
when: ansible_distribution == 'Ubuntu' and item['mount'] == '/boot' and item['size_available' ] < 128000000
@towo
towo / .tmux.conf
Last active October 24, 2016 23:05
Updating shells in tmux for new X sessions, specifically GNOME shell
set -g update-environment 'DISPLAY SSH_ASKPASS SSH_AUTH_SOCK SSH_AGENT_PID SSH_CONNECTION WINDOWID XAUTHORITY DBUS_SESSION_BUS_ADDRESS'
@towo
towo / 10-loglevel.conf
Last active April 5, 2016 15:02
Stop icinga2 logging information-level garbage via systemd
# Copy to /etc/systemd/system/icinga2.service.d/ (create if needed)
# systemctl daemon reload
# systemctl restart icinga2.service
[Service]
# need to unset ExecStart once because it would try to array it.
ExecStart=
ExecStart=/usr/sbin/icinga2 daemon -e /var/log/icinga2/icinga2.err -x warning