Skip to content

Instantly share code, notes, and snippets.

View magnetikonline's full-sized avatar
💡
I have an idea!

Peter Mescalchin magnetikonline

💡
I have an idea!
View GitHub Profile
@magnetikonline
magnetikonline / README.md
Created May 23, 2024 03:33
Delete all AWS CodeBuild build history.

Delete all AWS CodeBuild build history

Quick way to delete all existing build history from AWS CodeBuild using the AWS CLI.

#!/bin/bash -e

buffer=()
for buildId in $(aws codebuild list-builds --query 'ids.join(`\n`,@)' --output text); do
 buffer+=($buildId)
@magnetikonline
magnetikonline / README.md
Last active September 10, 2024 23:53
Install AWS CLI v2 from source.

Install AWS CLI v2 from source

Bash script to install the latest released version of the AWS CLI v2 from the distrubuted source.

Using this method to exectue the CLI under a MacBook M1 laptop as a native ARM binary - rather than falling back to Rosetta. Currently the offically packaged macOS .pkg doesn't support both Intel/M1 architectures.

Script designed to be re-run - will blow away an existing install and re-install the latest available version.

Note

This install script assumes you have installed a suitable version of Python 3 - has been tested against Python 3.10.11 under macOS Sonoma v14.6.1.

@magnetikonline
magnetikonline / README.md
Created April 16, 2024 03:04
Using curl to make an AWS V4 signed request to an AWS_IAM API Gateway endpoint.

Using curl to AWS V4 sign request to AWS_IAM API Gateway endpoint

Small Bash script, calling curl with the --aws-sigv4 option to AWS V4 sign a given request for use with an IAM authorized API Gateway endpoint.

Usage

./aws-api-gateway-iam.sh \
  --request GET \
 "https://api-gateway.mydomain.com/this/route/aws-iam-authz"
@magnetikonline
magnetikonline / README.md
Last active May 19, 2024 06:36
GitHub Markdown cheatsheet.
@magnetikonline
magnetikonline / README.md
Created March 3, 2024 05:39
macOS execute command upon directory change via launchd.

macOS execute command upon directory change via launchd

Using launchd to watch a filesystem directory and upon create/change to a file with the directory, execute a command.

Install

For this example:

  • Watching directory of: /path/to/watch.
  • Upon file change, execute: /path/to/command argument1 argument2.
@magnetikonline
magnetikonline / README.md
Last active April 18, 2024 23:50
Docker volume backup and restore scripts.

Docker volume backup and restore scripts

Backup a Docker volume to tar archive:

$ ./docker-volume-backup.sh \
  DOCKER_VOLUME_NAME \
  ARCHIVE_NAME.tgz
@magnetikonline
magnetikonline / README.md
Last active February 12, 2024 02:12
Node.js strict mode enabled?

Node.js strict mode enabled?

A quick test, this relies on the fact that this will not exist and point to the global scope when running in strict mode.

console.log('strict:',(function() { return (this === undefined); })());

Tip

Strict mode is enabled by default within ES module enabled packages.

@magnetikonline
magnetikonline / README.md
Last active September 24, 2024 04:37
Import all GPG keys for GitHub organisation users.

Import all GPG keys for GitHub organisation users

Fetches a GitHub organisation member list and proceeds to gpg --import public GPG key(s) for each member associated against their profile.

Requires:

  • curl for GitHub API calls
  • jq for parsing GitHub REST API responses
  • and (obviously) gpg
@magnetikonline
magnetikonline / .editorconfig
Created October 25, 2022 22:25
My .editorconfig template.
root = true
[*]
charset = utf-8
end_of_line = lf
indent_size = 2
indent_style = tab
insert_final_newline = true
trim_trailing_whitespace = true
@magnetikonline
magnetikonline / .eslintrc.json
Last active May 7, 2024 14:46
My ESLint configuration template.
{
"root": true,
"parserOptions": {
"sourceType": "module"
},
"env": {
"es2020": true,
"node": true
},
"extends": [