-
-
Save shaunfink/02eec8f37778fbc412dae1d2fbb9ead9 to your computer and use it in GitHub Desktop.
PCF Jumpbox install script (mostly blatantly stolen from @RamXX. It's cool, we're friends.)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
# Blatantly stolen from @RamXX. It's cool, we're friends. | |
# Script will install a plethora of tools for working with | |
# PCF deployments and a variety of IaaS's | |
# Tweaked for Ubuntu 16.04 | |
###### | |
## Setup | |
###### | |
# Add other repos | |
sudo add-apt-repository -y ppa:ubuntu-lxc/lxc-stable | |
###### | |
## Basic Tools | |
###### | |
# Basic OS | |
sudo apt-get update | |
# Basic Tools and languages | |
OS_TOOLS=(\ | |
apt-transport-https \ | |
build-essential \ | |
curl \ | |
dnsutils \ | |
git \ | |
hping3 \ | |
iperf \ | |
iputils-ping \ | |
jq \ | |
less \ | |
libdap-bin \ | |
libroot-bindings-ruby-dev \ | |
mongodb-clients \ | |
mysql-client \ | |
netcat \ | |
nmap \ | |
nodejs \ | |
npm \ | |
postgresql-client-9.5 \ | |
python \ | |
python-dev \ | |
python-pip \ | |
python-setuptools \ | |
redis-tools \ | |
ruby \ | |
s3cmd \ | |
s3curl \ | |
screen \ | |
software-properties-common \ | |
tcpdump \ | |
tmate \ | |
tmux \ | |
traceroute \ | |
unzip \ | |
vim \ | |
wget \ | |
) | |
sudo apt-get install -y "${OS_TOOLS[@]}" | |
###### | |
## IaaS Tools | |
###### | |
# GCP cli | |
export CLOUD_SDK_REPO="cloud-sdk-$(lsb_release -c -s)" | |
echo "deb http://packages.cloud.google.com/apt $CLOUD_SDK_REPO main" | sudo tee -a /etc/apt/sources.list.d/google-cloud-sdk.list | |
curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add - | |
sudo apt-get update && sudo apt-get install -y google-cloud-sdk | |
# # AWS cli | |
python -m pip install --upgrade pip | |
python -m pip install --upgrade awscli --user | |
# AZURE cli | |
export AZ_REPO=$(lsb_release -c -s) | |
echo "deb [arch=amd64] https://packages.microsoft.com/repos/azure-cli/ $AZ_REPO main" | sudo tee /etc/apt/sources.list.d/azure-cli.list | |
sudo apt-key adv --keyserver packages.microsoft.com --recv-keys 52E16F86FEE04B979B07E28DB02C46DF417A0893 | |
curl -L https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add - | |
sudo apt-get update && sudo apt-get install -y azure-cli | |
# Photon | |
# Thanks to Merlin Glynn (@virtmerlin) for this part! | |
cd /usr/local/bin && sudo wget -O photon \ | |
"$(curl -s https://api.github.com/repos/vmware/photon-controller/releases/latest \ | |
| jq --raw-output '.assets[] | .browser_download_url' | grep linux | grep -v sum)" && sudo chmod +x photon | |
# Terraform | |
cd /usr/local/bin && sudo wget -O terraform \ | |
"$(curl -s https://www.terraform.io/downloads.html | grep -o \".*linux_amd64.*zip.*\" | jq -r '.')" && | |
sudo unzip -o terraform && sudo chmod +x terraform | |
# cliaas | |
cd /usr/local/bin && sudo wget -O cliaas \ | |
"$(curl -s https://api.github.com/repos/pivotal-cf/cliaas/releases/latest \ | |
| jq --raw-output '.assets[] | .browser_download_url' | grep linux)" && sudo chmod +x cliaas | |
###### | |
## BOSH Tools | |
###### | |
# bosh | |
cd /usr/local/bin && sudo wget -O bosh \ | |
"$(curl -s https://bosh.io/docs/cli-v2/#install | grep -o \".*linux-amd64\" | jq -r '.')" && | |
sudo chmod +x bosh | |
# certstrap | |
cd /usr/local/bin && sudo wget -O certstrap \ | |
"$(curl -s https://api.github.com/repos/square/certstrap/releases/latest \ | |
| jq --raw-output '.assets[] | .browser_download_url' | grep linux | grep -v zip)" && sudo chmod +x certstrap | |
# spiff | |
cd /usr/local/bin && sudo wget -O spiff \ | |
"$(curl -s https://api.github.com/repos/cloudfoundry-incubator/spiff/releases/latest \ | |
| jq --raw-output '.assets[] | .browser_download_url' | grep linux)" && sudo unzip -o spiff && sudo sudo chmod +x spiff | |
# spruce | |
cd /usr/local/bin && sudo wget -O spruce \ | |
"$(curl -s https://api.github.com/repos/geofffranks/spruce/releases/latest \ | |
| jq --raw-output '.assets[] | .browser_download_url' | grep linux | grep -v zip)" && sudo chmod +x spruce | |
# om | |
echo "deb http://apt.starkandwayne.com stable main" | sudo tee /etc/apt/sources.list.d/starkandwayne.list | |
curl https://raw.githubusercontent.com/starkandwayne/homebrew-cf/master/public.key | sudo apt-key add - | |
sudo apt-get update && sudo apt-get install -y om | |
###### | |
## CloudFoundry Tools | |
###### | |
# cf cli | |
echo "deb https://packages.cloudfoundry.org/debian stable main" | sudo tee /etc/apt/sources.list.d/cloudfoundry-cli.list | |
curl https://packages.cloudfoundry.org/debian/cli.cloudfoundry.org.key | sudo apt-key add - | |
sudo apt-get update && sudo apt-get install -y cf-cli | |
# https://plugins.cloudfoundry.org/? | |
# uaac cli | |
sudo gem install cf-uaac --no-rdoc --no-ri | |
# bbr | |
cd /usr/local/bin && sudo wget -O bbr \ | |
"$(curl -s https://api.github.com/repos/cloudfoundry-incubator/bosh-backup-and-restore/releases/latest \ | |
| jq --raw-output '.assets[] | .browser_download_url')" && sudo tar xf bbr releases/bbr --strip-components 1 \ | |
&& sudo chmod +x bbr | |
# asg creator | |
cd /usr/local/bin && sudo wget -O asg-creator \ | |
"$(curl -s https://api.github.com/repos/cloudfoundry-incubator/asg-creator/releases/latest \ | |
| jq --raw-output '.assets[] | .browser_download_url' | grep linux)" && sudo chmod +x asg-creator | |
# cf-mgmt | |
cd /usr/local/bin && sudo wget -O cf-mgmt \ | |
"$(curl -s https://api.github.com/repos/pivotalservices/cf-mgmt/releases/latest \ | |
| jq --raw-output '.assets[] | .browser_download_url' | grep linux | grep -v config)" && sudo chmod +x cf-mgmt | |
cd /usr/local/bin && sudo wget -O cf-mgmt-config \ | |
"$(curl -s https://api.github.com/repos/pivotalservices/cf-mgmt/releases/latest \ | |
| jq --raw-output '.assets[] | .browser_download_url' | grep linux | grep config)" && sudo chmod +x cf-mgmt-config | |
# pivnet cli | |
cd /usr/local/bin && sudo wget -O pivnet \ | |
"$(curl -s https://api.github.com/repos/pivotal-cf/pivnet-cli/releases/latest \ | |
| jq --raw-output '.assets[] | .browser_download_url' | grep linux)" && sudo chmod +x pivnet | |
###### | |
## Other Tools | |
###### | |
# vault | |
cd /usr/local/bin && sudo wget -O vault \ | |
"$(curl -s https://www.vaultproject.io/downloads.html | grep -o \".*linux_amd64.*zip.*\" | jq -r '.')" && | |
sudo unzip -o vault && sudo chmod +x vault | |
# credhub | |
cd /usr/local/bin && sudo wget -O credhub \ | |
"$(curl -s https://api.github.com/repos/cloudfoundry-incubator/credhub-cli/releases/latest \ | |
| jq --raw-output '.assets[] | .browser_download_url' | grep linux)" && sudo tar xzf credhub \ | |
&& sudo chmod +x credhub | |
# fly cli | |
cd /usr/local/bin && sudo wget -O fly \ | |
"$(curl -s https://api.github.com/repos/concourse/fly/releases/latest \ | |
| jq --raw-output '.assets[] | .browser_download_url' | grep linux)" && sudo chmod +x fly | |
# safe | |
cd /usr/local/bin && sudo wget -O safe \ | |
"$(curl -s https://api.github.com/repos/starkandwayne/safe/releases/latest \ | |
| jq --raw-output '.assets[] | .browser_download_url' | grep linux)" && sudo chmod +x safe |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment