Skip to content

Instantly share code, notes, and snippets.

View karl-cardenas-coding's full-sized avatar

Karl Cardenas karl-cardenas-coding

View GitHub Profile
@karl-cardenas-coding
karl-cardenas-coding / remove.sh
Last active October 11, 2023 15:45
Remove all ECR repositories and images. Be aware that this removes ALL ECR repositories, depending on the choice of public | private | both.
#!/bin/bash
export AWS_PAGER=""
delete_repo() {
local ecr_type=$1
local repo=$2
echo "Deleting images in $ecr_type repository: $repo"
images=$(aws $ecr_type describe-images --repository-name $repo --query 'imageDetails[*].[imageDigest]' --output text)
@karl-cardenas-coding
karl-cardenas-coding / ec2_stop.py
Created November 6, 2021 19:21
A simple script for stopping EC2
import boto3
def lambda_handler(event, context):
client = boto3.client('ec2')
# ec2_regions = [region['RegionName'] for region in client.describe_regions()['Regions']]
ec2_regions = ["us-east-1", "us-east-2", "us-west-1", "us-west-2"]
for region in ec2_regions:
ec2 = boto3.resource('ec2',region_name=region)
instances = ec2.instances.filter(Filters=[{'Name': 'instance-state-name', 'Values': ['running']}])
RunningInstances = [instance.id for instance in instances]
for i in RunningInstances:
@karl-cardenas-coding
karl-cardenas-coding / k8s-labels.yaml
Created September 17, 2021 17:49
k8s label-matching
apiVersion: apps/v1
kind: Deployment
metadata:
name: deployment-hello-world
spec:
selector:
matchLabels: &pod-label
run: pod-hello-world
template:
metadata:
################################################
# Lambda Resources Option 3 - Multiple Lambdas
################################################
#In this scenario the Lambda is zipped and upload outside of the terraform execution
resource "aws_lambda_function" "test_lambda" {
s3_bucket = var.code-bucket
s3_key = local.signedSourceList[index(local.trimPrefix, "lambda")]
# ^ Returns "signed/lambda-3ed11736-6655-4448-935d-659cd0428b90.zip"
....
....
@karl-cardenas-coding
karl-cardenas-coding / option-3.tf
Created December 5, 2020 19:26
An example of using AWS Code Signing with a Lambda
#######################################
# Lambda Resources Option 3
#######################################
#In this scenario the Lambda is zipped and upload outside of the terraform execution
resource "aws_lambda_function" "test_lambda" {
s3_bucket = var.code-bucket
# s3_key = aws_signer_signing_job.build_signing_job.signed_object[0]["s3"][0]["key"]
s3_key = local.lambdaSource
function_name = var.lambda-name
handler = "lambda_function.lambda_handler"
@karl-cardenas-coding
karl-cardenas-coding / option2.tf
Last active December 5, 2020 19:11
Example of AWS Lambda with code signing - option 2
######################################
# Lambda Resources Option 2
######################################
resource "aws_lambda_function" "test_lambda" {
s3_bucket = var.code-bucket
s3_key = aws_signer_signing_job.build_signing_job.signed_object[0]["s3"][0]["key"]
function_name = var.lambda-name
handler = "lambda_function.lambda_handler"
memory_size = 128
runtime = "python3.8"
#####################################
Lambda Resources Option 1
#####################################
resource "aws_lambda_function" "test_lambda" {
s3_bucket = var.code-bucket
s3_key = aws_signer_signing_job.build_signing_job.signed_object[0]["s3"][0]["key"]
.....
.....
code_signing_config_arn = aws_lambda_code_signing_config.abc-signer-profile-config.arn
@karl-cardenas-coding
karl-cardenas-coding / Lambda-option-one.tf
Last active December 5, 2020 18:42
Option 1 Code Signing Lambda
######################################
Lambda Resources Option 1
######################################
resource "aws_lambda_function" "test_lambda" {
s3_bucket = var.code-bucket
s3_key = aws_signer_signing_job.build_signing_job.signed_object[0]["s3"][0]["key"]
function_name = var.lambda-name
handler = "lambda_function.lambda_handler"
memory_size = 128
runtime = "python3.8"
@karl-cardenas-coding
karl-cardenas-coding / lambda.tf
Created December 5, 2020 18:27
An example of a Lambda using code signing
resource "aws_lambda_function" "test_lambda" {
s3_bucket = var.code-bucket
.....
.....
code_signing_config_arn = aws_lambda_code_signing_config.abc-signer-profile-config.arn
}
@karl-cardenas-coding
karl-cardenas-coding / signer.tf
Last active December 5, 2020 18:22
Enabling AWS Code Signing
##############################################
# Code Signing Resources Option 1 & Option 2
#############################################
resource "aws_signer_signing_profile" "abc-signer-profile" {
name_prefix = "abc_"
platform_id = "AWSLambda-SHA384-ECDSA"
tags = var.tags
}