Skip to content

Instantly share code, notes, and snippets.

View kitos9112's full-sized avatar
💭
#AutomateEveything

Marcos Soutullo Rodriguez kitos9112

💭
#AutomateEveything
  • Reading, UK
View GitHub Profile
@kitos9112
kitos9112 / bootstrap-k8s.ps1
Created September 23, 2023 10:03
Bootstraps a Kubernetes cluster using multipass and HyperV
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
@kitos9112
kitos9112 / grantPermissionsToMSI.ps1
Last active June 20, 2023 08:36
Idempotently Manages MS Graph Permissions for a Managed-Service Identity in Azure using Powershell
#------------------------------------------------------------
# DO NOT EDIT THIS SECTION
#------------------------------------------------------------
$GraphAppId = "00000003-0000-0000-c000-000000000000" # Don't change this.
$oGraphSpn = Get-AzADServicePrincipal -Filter "appId eq '$GraphAppId'"
#------------------------------------------------------------
#------------------------------------------------------------
# EDIT THIS SECTION
@kitos9112
kitos9112 / cf-ddns.sh
Created September 14, 2020 21:47 — forked from larrybolt/cf-ddns.sh
Automatically update your CloudFlare DNS record to the IP, Dynamic DNS for Cloudflare
#!/usr/bin/env bash
set -o errexit
set -o nounset
set -o pipefail
# Automatically update your CloudFlare DNS record to the IP, Dynamic DNS
# Can retrieve cloudflare Domain id and list zone's, because, lazy
# Place at:
# /usr/local/bin/cf-ddns.sh
@kitos9112
kitos9112 / get-terragrunt.sh
Last active March 26, 2024 14:41
Bash script that automatically updates to latest version of Terragrunt
#!/bin/bash
###########################################################################
# Fetch and install the latest Terragrunt version
# curl -Ls https://gist.githubusercontent.com/kitos9112/67c1ab959680492197e9bfe973297f2f/raw/2331cb5fb08d3c307a6ae8e84fc4685314151571/get-terragrunt.sh| bash
##########################################################################
set -e
set -x
function get_latest_github_release {
curl -s https://api.github.com/repos/$1/$2/releases/latest | grep -oP '"tag_name": "[v]\K(.*)(?=")'
#!/usr/bin/env bash
# You should have your cloudflare ini-like file in the following location
CLOUDFLARE_INI="/etc/letsencrypt-cloudflare/cf.ini"
if [ "$#" -ne 2 ]
then
echo "Usage: $0 <command> (e.g. certonly, renew) $1 <domain> (e.g. my-domain.example.com)"
exit 1
fi
COMMAND=$1 # certonly
#!/bin/bash
###########################################################################
# Fetch and install the latest Packer version
# curl -Ls https://gist.githubusercontent.com/kitos9112/2252c54fff5bde6638b340fcade9076b/raw/777667f390965c6ad79e8b4e2a0c1a1ad70e2801/get-packer.sh | bash
##########################################################################
function get_latest_github_release {
curl -s https://api.github.com/repos/$1/$2/releases/latest | grep -oP '"tag_name": "[v]\K(.*)(?=")'
}
@kitos9112
kitos9112 / get-kops.sh
Last active June 2, 2020 17:49
Fetches and installs the latest Kops Liux AMD64 version released on GitHub artifacts
#!/bin/bash
###########################################################################
# Fetch and install the latest Kops release from the official GitHub repository
# curl -Ls https://gist.githubusercontent.com/kitos9112/4265c492442865ef0fe54ade671d9f4a/raw/50d70d9044a77ade7e7e05aabc34f66155b11b5e/get-kops.sh | bash
##########################################################################
function get_latest_github_release {
curl -s https://api.github.com/repos/$1/$2/releases/latest | grep -oP '"tag_name": "[v]\K(.*)(?=")'
}
@kitos9112
kitos9112 / get-terraform.sh
Last active March 26, 2024 14:41 — forked from josh-padnick/get-latest-terraform.sh
Bash script that automatically updates to latest version of Terraform and TFlint
#!/bin/bash
###########################################################################
# Fetch and install the latest Terraform and tflint version
# curl -Ls https://gist.github.com/kitos9112/70faa4b7e53a84f72cf21256f2aa86a8/raw/get-terraform.sh | bash
##########################################################################
function get_latest_github_release {
curl -s https://api.github.com/repos/$1/$2/releases/latest | grep -oP '"tag_name": "[v]\K(.*)(?=")'
}
@kitos9112
kitos9112 / get-minikube.sh
Last active June 2, 2020 16:29
Fetches the latest minikube release (x86_64 systems only) and installs it to /usr/local/bin
#!/bin/bash
##################################################################
# This script downloads and install the latest version of minikube
# for x86_64 architectures
# curl -Ls https://gist.githubusercontent.com/kitos9112/32a67139325d3e4a2fc3d7a41b392b3a/raw/d16157f301b95659997e732df29a982088fa9eae/get-minikube.sh | bash
##################################################################
# Retrieve the latest version of minikube
if [[ $(uname -m) == "x86_64" ]]; then
curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
sudo install minikube-linux-amd64 /usr/local/bin/minikube
@kitos9112
kitos9112 / get-tmux
Last active June 20, 2020 09:21 — forked from suhlig/install-tmux
Install from source TMUX VERSION 3.1 on rhel/centos/fedora/amazonLinux2 7 -- This gist also takes care of installing developer dependencies for the compilation phase
#!/bin/bash
TMUX_VERSION=3.1b
# Install tmux version 3.1 on rhel/centos 7
# Single command:
###$> curl -Ls https://gist.githubusercontent.com/kitos9112/8907c420435ce1e1fc6e99de0e994131/raw/d5c4965b541e6348c882c9546bcfb08f74788784/get-tmux | bash
# install deps
sudo -E yum install gcc kernel-devel make ncurses-devel -y
# DOWNLOAD SOURCES FOR LIBEVENT, CONFIGURE, MAKE, AND INSTALL
curl -o /tmp/libevent-2.1.11-stable.tar.gz -L https://github.com/libevent/libevent/releases/download/release-2.1.11-stable/libevent-2.1.11-stable.tar.gz