Skip to content

Instantly share code, notes, and snippets.

View amcginlay's full-sized avatar

Alan McGinlay amcginlay

View GitHub Profile
@amcginlay
amcginlay / cilium-service-mesh.md
Last active December 5, 2023 11:18
Cilium Service Mesh
View cilium-service-mesh.md

Cilium Service Mesh

@amcginlay
amcginlay / cilium-cni.md
Last active December 5, 2023 11:19
Cilium CNI
@amcginlay
amcginlay / kind-ec2-remote-access.md
Last active November 17, 2023 10:54
KinD cluster on EC2 with Remote Access
View kind-ec2-remote-access.md

KinD cluster on AWS EC2 with Remote Access

Solution tested with MacOS client.

Build Ubuntu VM on AWS EC2

Note: The EC2 instance created by this CloudFormation template is pre-configured to provide the following:

  • 64bit (x86) Ubuntu 22.04 in us-west-2 region
  • Docker Engine
  • EC2 Instance Connect support
  • AWS Systems Manager (SSM) support
@amcginlay
amcginlay / vcert-playbooks.md
Last active December 6, 2023 11:19
Using VCert Playbooks
View vcert-playbooks.md

Using VCert Playbooks

An example based upon documentation here

This code has been tested on x86 Ubuntu

Prerequisites

View firefly-quick-start.md

Firefly Quick Start

These instructions aim to simplify those already laid out here.

The following assumes your AWS CLI has been pre-authenticated with an AWS account.

Create an Ubuntu EC2 Instance with Docker installed

stack_id=$( \
  aws cloudformation create-stack \
    --stack-name ubuntu-docker-firefly \
@amcginlay
amcginlay / prepare-pemfiles-for-acm.md
Last active August 9, 2023 13:46
Commands to prepare Digicert key material for ACM import
View prepare-pemfiles-for-acm.md

Preparing TLSPC PEM files for AWS ACM

Assuming we have cert-chain and private key files extracted from TLSPC via DigiCert (let's call them my-cert.chain and my-cert.key), how do we get them prepared for AWS ACM import.

In this case my-cert.chain is a full chain and my-cert.key is an encrypted private key.

Requirements

As such we need to cope with two requirements:

@amcginlay
amcginlay / tlspk-helper-agent-install.md
Last active August 8, 2023 08:58
Installing the TLSPK agent without jsctl
View tlspk-helper-agent-install.md

Installing the TLSPK agent without jsctl

Steps as follows

Lightweight cluster creation

Create a disposable KinD cluster as follows.

nickname=<YOUR_NICKNAME>
@amcginlay
amcginlay / list-all-running-ec2s.sh
Last active July 26, 2023 14:05
Script will list all running EC2 instances in the current AWS account
View list-all-running-ec2s.sh
echo '"region","instance-id","instance-type","tags-name","tags-auto-owner"'
for region in $(aws ec2 describe-regions --query 'Regions[*].[RegionName]' --output text); do
aws ec2 describe-instances \
--region ${region} \
--filters "Name=instance-state-name,Values=running" \
--output json | \
jq --arg region $region -r \
'.Reservations[].Instances[] | [$region, .InstanceId, .InstanceType, (.Tags[] | select(.Key=="Name") | .Value), (.Tags[] | select(.Key=="auto:owner") | .Value)] | @csv'
done
@amcginlay
amcginlay / comparing-cert-manager-csi-drivers.md
Last active August 7, 2023 13:34
Comparing cert-manager CSI drivers
View comparing-cert-manager-csi-drivers.md

Comparing cert-manager CSI drivers

You will see the following cert-manager CSI drivers side-by-side:

Lightweight cluster creation

Create a disposable KinD cluster as follows.

@amcginlay
amcginlay / python-notes.md
Last active June 7, 2023 22:28
python-notes.md
View python-notes.md

Python Notes

Virtual Environments

Python virtual environments are used to create an isolated environment for Python projects. Each virtual environment has its own set of Python packages installed, separate from the global Python installation.

This helps provide:

  • Dependency management
  • Isolation