Skip to content

Instantly share code, notes, and snippets.

View shollingsworth's full-sized avatar

Steven Hollingsworth shollingsworth

View GitHub Profile
@shollingsworth
shollingsworth / cloudformation_stack_output.sh
Created April 28, 2023 20:06
get the cloudformation stack output by outputkey
#!/usr/bin/env bash
set -euo pipefail
IFS=$'\n\t'
key="ServiceEndpointWebsocket"
stack_name="sh-ws-demo-backend-dev"
aws cloudformation describe-stacks --stack-name "${stack_name}" \
--query "Stacks[0].Outputs[?OutputKey=='${key}'].OutputValue" \
--output text
@shollingsworth
shollingsworth / taillogs.sh
Created April 27, 2023 17:07
bash script to dynamically tail multiple AWS log groups based on prefix
#!/usr/bin/env bash
set -euo pipefail
IFS=$'\n\t'
trap "exit" INT TERM ERR
trap "kill 0" EXIT
aws logs describe-log-groups \
--log-group-name-prefix "/aws/lambda/sh-ws-demo-backend" \
--query 'logGroups[].logGroupName' \
@shollingsworth
shollingsworth / generic_issue_template.yml
Created April 13, 2023 02:25
generic github issue template goes in .github/ISSUE_TEMPLATE directory
name: Generic Issue
description: Organized way of making actionable tasks for PMs, data scientists, leads, etc.
title: "[Generic]: "
labels:
body:
- type: checkboxes
id: Terms
attributes:
label: Guidelines
description: By submitting this issue, you agree to follow our [Contributing Guidelines](https://www.contributor-covenant.org/version/2/1/code_of_conduct/).
@shollingsworth
shollingsworth / iam_githubactions.tf
Created April 5, 2023 21:07
terraform starter file to configure AWS with github actions
resource "aws_iam_openid_connect_provider" "github_actions" {
client_id_list = ["sts.amazonaws.com"]
thumbprint_list = ["6938fd4d98bab03faadb97b34396831e3780aea1"]
url = "https://token.actions.githubusercontent.com"
}
data "aws_iam_policy_document" "github_actions_assume_role_policy" {
statement {
actions = ["sts:AssumeRole"]
@shollingsworth
shollingsworth / demo.tf
Created March 31, 2023 20:58
Starter main.tf for terraform state files only in AWS using s3 bucket and dynamoDB
provider "aws" {
region = "us-east-2"
default_tags {
tags = {
tag1 = "value1"
tag2 = "value2"
}
}
}
@shollingsworth
shollingsworth / git-modified-files.py
Created October 27, 2022 13:40
List git modified files for use in something like vim.
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""List git modified files for use in something like vim."""
import subprocess
def main():
"""Run main function."""
edit_keys = {
"A",
@shollingsworth
shollingsworth / convert_jq_key_value_to_aws_tags_array.sh
Last active September 14, 2022 00:17
AWS tags - convert a json key value {"foo": "bar", "baz": "qux"} to [{ "Key": "foo", "Value": "bar"}, {"Key": "baz", "qux"}]
#!/usr/bin/env bash
set -euo pipefail
IFS=$'\n\t'
TAGS_JSON=$(
cat <<EOF
{
"foo": "bar",
"baz": "qux"
}
@shollingsworth
shollingsworth / rewrite.py
Created August 15, 2022 19:50
threaded aws s3 bulk object modify and move
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""bulk object modify and move."""
import concurrent.futures as cf
import json
import boto3
from mypy_boto3_s3.service_resource import Bucket, ObjectSummary
BUCKET_NAME = "some-bucket"
@shollingsworth
shollingsworth / .00README.md
Last active August 10, 2022 23:45
Scaffold for serverless directory with layer, log retention, and http wildcard http api gateway

Scaffold for serverless directory with layer, log retention, and http wildcard http api gateway

Deploy

  • Run yarn
  • Edit ./config.yaml as needed
  • Edit ./serverless.yml as needed
  • Run make build
  • Run make deploy

Delete

@shollingsworth
shollingsworth / .00_README.md
Last active August 6, 2022 05:54
Get a Reverse Shell with Only egress tcp/443 (i.e. AWS Training Environments)

Prep

  • Download the zip ^ in this gist and unzip into a project directory.
  • On your home internet gateway, port forward 443 to your internal ip port 2222

Instructions


  • Remote