Skip to content

Instantly share code, notes, and snippets.

@ceelian
ceelian / src-op-secrets
Last active March 21, 2025 13:42
This script fetches secrets from 1Password using the provided argument (op://<vault>/<item>/<field>) to be sourced in the current shell environment.
#!/bin/sh
# ==========================================================================================================
# This shell script fetches secrets from 1Password using the provided argument (op://<vault>/<item>/<field>)
# to be sourced in the current shell environment. It requires that op cli is installed
# It should be compatible with all POSX compatible shells.
# The secret format in 1Password should be a text field with .env style format MYKEY=myval
# It validates the format of the secrets, ignoring blank lines and comments.
# Valid lines are exported as environment variables.
#
@ceelian
ceelian / src-op-sa
Created March 15, 2025 15:16
A helper script for making it easy to locally set the 1Password service account token as environment variable for the op cli. This helps in keeping secrets scoped and in memory only without saving them to files.
#!/usr/bin/env bash
# Just a note: Don't use 'set -e' when meant to be sourced
# as it would exit the parent shell if there's an error
show_help() {
echo "Script for setting 1Password service account token in environment variable"
echo "Usage: source $(basename "$0") <op-reference|unset>"
echo " source $(basename "$0")"
echo "Example: source $(basename "$0") 'op://vault/item/field'"
@ceelian
ceelian / add_hostname_to_etc_hosts.sh
Last active January 23, 2024 21:15
Adds a hostname to a given IP address in /etc/hosts.
#!/usr/bin/env bash
# The MIT License (MIT)
#
# Copyright (c) 2023 Christian Haintz
#
# Permission is hereby granted, free of charge, to any person obtaining a copy of
# this software and associated documentation files (the "Software"), to deal in
# the Software without restriction, including without limitation the rights to
# use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
@ceelian
ceelian / site_domain_page_template_mixin.py
Last active March 9, 2023 17:34
Mixin for Wagtail Pages to have custom templates per site domain
# The MIT License (MIT)
#
# Copyright (c) 2023 Christian Haintz
#
# Permission is hereby granted, free of charge, to any person obtaining a copy of
# this software and associated documentation files (the "Software"), to deal in
# the Software without restriction, including without limitation the rights to
# use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
# the Software, and to permit persons to whom the Software is furnished to do so,
# subject to the following conditions:
@ceelian
ceelian / Accessing Methods Of AngularJS Directive.markdown
Last active October 29, 2015 22:02
Accessing Methods Of AngularJS Directive

Accessing Methods Of AngularJS Directive

An nice and easy way to access methods provided by a directive via the directive service. Based on AngularJS 1.4.7

A Pen by Christian Haintz on CodePen.

License.