Skip to content

Instantly share code, notes, and snippets.

View relaxdiego's full-sized avatar

Mark Maglana relaxdiego

View GitHub Profile
javascript:(function(){try{document.documentElement.requestFullscreen();var style=document.createElement('style');style.textContent=':root {color-scheme: light !important;} @media (prefers-color-scheme: dark) {html, body, * {background-color: #fff !important; color: #000 !important;}}';document.head.appendChild(style);}catch(e){alert('Fullscreen or light mode failed: '+e.message);}})();
#!/usr/bin/env bash
#
# Usage: ./yaml-to-json.sh | jq .
#
file=$1
if ! pip show pyyaml >/dev/null; then
echo "PyYAML needs to be installed"
@relaxdiego
relaxdiego / secure-ssh-to-aws-instance.sh
Last active December 2, 2020 06:27
If you can't be bothered to implement cert-based SSH...
#!/usr/bin/env bash
ip_address=$(
aws ec2 describe-instances --instance-id $instance_id | \
jq -r ".Reservations[] | .Instances[] | select(.InstanceId==\"$instance_id\") | .PublicIpAddress"
)
if ! grep $ip_address ~/.ssh/known_hosts >/dev/null; then
# Print the SSH fingerprints for jumpbox
echo "Valid server key fingerprints:"
aws ec2 get-console-output --instance-id $instance_id | \
cd /tmp
curl -O -L http://sourceforge.net/projects/sshpass/files/sshpass/1.06/sshpass-1.06.tar.gz && tar xvzf sshpass-1.06.tar.gz
cd sshpass-1.06
./configure
sudo make install
@relaxdiego
relaxdiego / sshpass.rb
Created September 3, 2020 09:35 — forked from lalyos/sshpass.rb
brew install sshpass
require 'formula'
class Sshpass < Formula
url 'http://sourceforge.net/projects/sshpass/files/sshpass/1.05/sshpass-1.05.tar.gz'
homepage 'http://sourceforge.net/projects/sshpass'
sha256 'c3f78752a68a0c3f62efb3332cceea0c8a1f04f7cf6b46e00ec0c3000bc8483e'
def install
system "./configure", "--disable-debug", "--disable-dependency-tracking",
"--prefix=#{prefix}"
#!/bin/bash -e
bundle_name=${1:-'charmed-kubernetes'}
channel=${2:-'stable'}
architecture=${3:-'amd64'}
mkdir -p /tmp/${bundle_name}
cd /tmp/${bundle_name}
echo "Downloading ${bundle_name} metadata..."
curl "https://api.jujucharms.com/charmstore/v5/meta/bundle-metadata?id=${bundle_name}&channel=${channel}" > ${bundle_name}.json
@relaxdiego
relaxdiego / raw-k8s-spec.sh
Created July 25, 2020 11:18
Tried the raw-k8s-spec feature flag. Did not work 😿
# Set up system. There's a problem with Juju 2.8.1 and microk8s 1.18
# So we trick Juju 2.8.1 into thinking it's just connecting to a
# regular kubernetes cluster
sudo snap remove microk8s
sudo snap refresh --channel=2.8/stable juju --classic
sudo snap install --channel=1.18/stable microk8s --classic
sudo snap install --channel=1.18/stable kubectl --classic
sudo microk8s.config > ~/.kube/config
juju add-k8s k8s-1.18 --storage=hostpath
@relaxdiego
relaxdiego / k0s
Last active July 9, 2020 03:12
k0s! It's k1s minus the colors 😿
#!/bin/bash -e
resource=${1:-"pods"}; namespace=${2:-"default"}
watch -c "echo ' _ ___'; echo '| | __/ _ \ ___'; echo '| |/ / | | / __| Namespace: ${namespace}'; echo '| <| |_| \__ \ Resources: ${resource}'; echo '|_|\_\\\\\___/|___/'; echo; kubectl get -n "$namespace" "$resource" ${@:3}
$ microk8s.start
Started.
Enabling pod scheduling
node/dev-18-04-2 already uncordoned
$ microk8s.status | grep istio
istio: disabled
$ cd /tmp
$ curl -L https://istio.io/downloadIstio | sh -

Keybase proof

I hereby claim:

  • I am relaxdiego on github.
  • I am relaxdiego (https://keybase.io/relaxdiego) on keybase.
  • I have a public key whose fingerprint is 9582 71AF 8CA4 BEE9 81DB 8FF5 ABF4 51BF 3048 294B

To claim this, I am signing this object: