Skip to content

Instantly share code, notes, and snippets.

View tfentonz's full-sized avatar

Tom Fenton tfentonz

  • MAGIQ Software
  • Christchurch, New Zealand
  • 18:15 (UTC +12:00)
  • LinkedIn in/tfentonz
View GitHub Profile
@tfentonz
tfentonz / describe-rules.md
Last active June 13, 2023 10:44
AWS CLI command to list ELB listener rule priorities

Get load balancer ARN

arn=$(aws elbv2 describe-load-balancers --names <value> --query 'LoadBalancers[].[LoadBalancerArn]' --output text)

Get listeners

aws elbv2 describe-listeners --load-balancer-arn "$arn" --query 'Listeners[].{ListenerArn:ListenerArn,Protocol:Protocol,Port:Port}'

[
@tfentonz
tfentonz / fix-pem.sh
Last active September 14, 2017 03:10
Fix Private Key
#!/bin/bash
#
# Replace spaces with @'s
# Replace @'s in BEGIN with spaces
# Replace @'s in END with spaces
# Replace @'s with newlines
sed -i '' -e 's/ /@/g
s/-----BEGIN@RSA@PRIVATE@KEY-----/-----BEGIN RSA PRIVATE KEY-----/
s/-----END@RSA@PRIVATE@KEY-----/-----END RSA PRIVATE KEY-----/
s/@/\'$'\n/g' $1
@tfentonz
tfentonz / aws-lightsail.md
Last active September 4, 2017 23:14
AWS Lightsail CLI

AWS Lightsail

aws lightsail get-blueprints --query 'blueprints[?group==`nginx`]'
[
    {
        "blueprintId": "nginx_1_12_0_2",
        "name": "Nginx",
        "group": "nginx",
 "type": "app",
@tfentonz
tfentonz / docker-exited.sh
Last active September 3, 2017 21:33
Docker exited containers state
docker inspect $(docker ps -q --filter status=exited) |
jq '.[].State | { Status: .Status, ExitCode: .ExitCode, FinishedAt: .FinishedAt }'
ln -nfs /usr/local/Cellar/postgis/2.3.2/share/postgresql/extension/postgis.control /usr/local/Cellar/[email protected]/9.5.6/share/[email protected]/extension/postgis.control
ln -nfs /usr/local/Cellar/postgis/2.3.2/share/postgresql/extension/postgis--2.3.2.sql /usr/local/Cellar/[email protected]/9.5.6/share/[email protected]/extension/postgis--2.3.2.sql
@tfentonz
tfentonz / readonly_user.sql
Last active July 7, 2017 00:00
PostgreSQL read only user
psql <database>
CREATE USER <user> WITH PASSWORD '<password>' VALID UNTIL 'infinity';
GRANT CONNECT ON DATABASE <database> TO <user>;
GRANT USAGE ON SCHEMA public TO <user>;
GRANT SELECT ON ALL SEQUENCES IN SCHEMA public TO <user>;
GRANT SELECT ON ALL TABLES IN SCHEMA public to <user>;
ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT SELECT ON TABLES TO <user>;
#!/bin/bash
# Requires an S3 bucket with website redirect for zone apx
# e.g. example.com -> www.example.com
# See http://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region
# for alias target hosted zone ID.
hosted_zone_id="ZABCDEFGHIJ1K"
alias_target_hosted_zone_id="Z1WCIGYICN2BYD"
aws route53 change-resource-record-sets \
@tfentonz
tfentonz / aws_postgres_db_instances.sh
Last active December 6, 2016 00:58
Ouput array of DB instances with PostgreSQL engine
#!/bin/bash
aws rds describe-db-instances --query 'DBInstances[].{DBName:DBName,Engine:Engine,EngineVersion:EngineVersion}' |
jq '[.[] | select(.Engine == "postgres") | {db_name:.DBName,engine:.Engine,engine_version:.EngineVersion}]'
exit 0
@tfentonz
tfentonz / elasticsearch_rest_api.md
Last active November 24, 2016 04:01
Elasticsearch REST API
@tfentonz
tfentonz / aws_cli.md
Last active December 1, 2016 05:04
Amazon CLI Commands

Amazon CLI Commands

EC2

Get instance public hostname

Substitute <NAME> for instance name.

$ aws ec2 describe-instances --query 'Reservations[].Instances[].PublicDnsName' --filters Name=tag:Name,Values= --output text