Skip to content

Instantly share code, notes, and snippets.

View ruanbekker's full-sized avatar
🇿🇦

Ruan Bekker ruanbekker

🇿🇦
View GitHub Profile
@ruanbekker
ruanbekker / install_geth_ropsten_fast.sh
Last active March 15, 2022 04:57
Boostrap Geth Ropsten Installation
#!/usr/bin/env bash
export GOVERSION="1.17.2"
export GETHVERSION="1.10.9"
apt update
apt install wget tar locales-all -y
touch /var/lib/cloud/instance/locale-check.skip
mkdir -p /blockchain/ethereum/data
mkdir -p /usr/local/geth/${GETHVERSION}/bin
@ruanbekker
ruanbekker / aws_sns_sms_python.md
Created October 6, 2021 13:38
Send SMS with AWS SNS using Python

Sending SMS's with AWS SNS:

import boto3
sms_number='+27000000000'

sns = boto3.Session(profile_name='default', region_name='eu-west-1').client('sns')

response = sns.publish(
 PhoneNumber=sms_number, 
@ruanbekker
ruanbekker / python_datetime_gmtplus2.md
Last active October 1, 2021 07:51
Python use Datetime to get time in SAST or custom timezone

Install pytz:

pip install pytz

Python example to get time in GMT+2 or Africa/Johannesburg:

>>> import pytz
@ruanbekker
ruanbekker / Dockerfile
Created July 9, 2021 09:42
Liquibase Migrations in CI/CD CodeBuild Pipeline with Docker
FROM maven:3.6.1-amazoncorretto-11 as builder
ARG DB_USER
ARG DB_PASSWORD
ARG DB_URL
ENV DB_USER=${DB_USER}
ENV DB_PASSWORD=${DB_PASSWORD}
ENV DB_URL=${DB_URL}
RUN curl -LJO https://github.com/liquibase/liquibase/releases/download/v4.2.0/liquibase-4.2.0.tar.gz && \
@ruanbekker
ruanbekker / install_bitcoin_core_testnet.sh
Created June 23, 2021 14:10
Install Bitcoin Core Testnet on Linux Script
#!/usr/bin/env bash
# Note:
# I use this script to bootstrap testnet nodes, if you are using the mainnet,
# I STRONGLY recommend to set rpcallowip to localhost
# environment variables
export ARCH=x86_64
export BITCOIN_VERSION=0.21.1
export BITCOIN_URL=https://bitcoincore.org/bin/bitcoin-core-${BITCOIN_VERSION}/bitcoin-${BITCOIN_VERSION}-${ARCH}-linux-gnu.tar.gz
@ruanbekker
ruanbekker / awscli_v2_ubuntu.md
Created February 23, 2021 12:29
Install AWS CLI Version 2 on Ubuntu 20
$ apt update
$ apt search awscli
$ apt install curl wget unzip -y
$ curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
$ unzip awscliv2.zip
$ ./aws/install
$ aws --version
aws-cli/2.1.28 Python/3.8.8 Linux/4.19.121-linuxkit exe/x86_64.ubuntu.20 prompt/off
@ruanbekker
ruanbekker / lambda_zip_package_python.md
Created February 22, 2021 16:24
Update AWS Lambda Function with Dependencies in Python using a Deployment Package

Change into our working directory:

$ mkdir -p myworkdir/src 
$ cd myworkdir

Create a virtual env:

@ruanbekker
ruanbekker / terraform_aws_buildspec.yml
Created February 19, 2021 04:45
Install Terraform on AWS CodeBuild
version: 0.2
env:
variables:
TERRAFORM_VERSION: "0.14.7"
phases:
install:
commands:
- curl -o "terraform.zip" https://releases.hashicorp.com/terraform/"$TERRAFORM_VERSION"/terraform_"$TERRAFORM_VERSION"_linux_amd64.zip
@ruanbekker
ruanbekker / initd_script.sh
Last active February 10, 2021 16:03
Amazon Linux Startup Script Template
#!/usr/bin/env bash
# inspired by:
# https://unix.stackexchange.com/a/193568
# source function library
. /etc/init.d/functions
# application name
APP="node_exporter"
DESC="Node Exporter"
@ruanbekker
ruanbekker / terraform_output_aws_vpc.md
Created February 9, 2021 14:11
Output values with Terraform

provider.tf:

$ cat provider.tf
provider "aws" {
  version = "~> 2.0"
  region  = "eu-west-1"
  profile = "dev"
  shared_credentials_file = "~/.aws/credentials"
}