diff --git a/.gitignore b/.gitignore
index 2471f12..904a7ea 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,5 +1 @@
-.idea/
launchagent-daily-install.log
-Brewfile-core.lock.json
-Brewfile-extra.lock.json
-Brewfile-osx.lock.json
diff --git a/.idea/vcs.xml b/.idea/vcs.xml
deleted file mode 100644
index 94a25f7..0000000
--- a/.idea/vcs.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.inputrc b/.inputrc
new file mode 100644
index 0000000..b74fea9
--- /dev/null
+++ b/.inputrc
@@ -0,0 +1,2 @@
+"\e[A": history-search-backward
+"\e[B": history-search-forward
\ No newline at end of file
diff --git a/.ruby-version b/.ruby-version
deleted file mode 100644
index 0cadbc1..0000000
--- a/.ruby-version
+++ /dev/null
@@ -1 +0,0 @@
-2.5.5
diff --git a/Brewfile-core b/Brewfile-core
deleted file mode 100644
index 24c6988..0000000
--- a/Brewfile-core
+++ /dev/null
@@ -1,38 +0,0 @@
-tap 'cloudfoundry/tap'
-tap 'k14s/tap'
-tap 'pivotal/tap'
-tap 'buildpacks/tap'
-
-# Core utilities
-brew 'git'
-brew 'wget'
-brew 'coreutils'
-brew 'direnv'
-
-# Core services
-brew 'docker', overwrite: true, link: true
-
-# Kubernetes binaries
-brew 'kubernetes-cli'
-
-# CloudFoundry binaries
-brew 'bbr'
-brew 'cloudfoundry/tap/bbl'
-brew 'cloudfoundry/tap/bosh-cli'
-brew 'cloudfoundry/tap/credhub-cli'
-brew 'ytt'
-brew 'vendir'
-brew 'kapp'
-brew 'kbld'
-brew 'buildpacks/tap/pack'
-
-# Fun CLI gizmos
-brew 'gti'
-
-# Language support
-brew 'go'
-brew 'python', link: true, overwrite: true
-brew 'shellcheck'
-brew 'java'
-
-cask 'docker'
diff --git a/Brewfile-extra b/Brewfile-extra
deleted file mode 100644
index 1e1ec36..0000000
--- a/Brewfile-extra
+++ /dev/null
@@ -1,48 +0,0 @@
-tap 'businesscritical/tap'
-tap 'derailed/k9s'
-tap 'homebrew/cask-fonts'
-
-brew 'ack'
-brew 'adr-tools'
-brew 'aria2'
-brew 'bash'
-brew 'bash-completion'
-brew 'bat'
-brew 'bbr'
-brew 'cloudfoundry/tap/bbl'
-brew 'cloudfoundry/tap/bosh-cli'
-brew 'cloudfoundry/tap/credhub-cli'
-brew 'coreutils'
-brew 'derailed/k9s/k9s'
-brew 'dishy'
-brew 'fasd'
-brew 'git-secrets'
-brew 'helm'
-brew 'httpie'
-brew 'ipcalc'
-brew 'jq'
-brew 'minikube'
-brew 'proxychains-ng'
-brew 'pstree'
-brew 'python-yq'
-brew 's3cmd'
-brew 'ssh-copy-id'
-brew 'tig'
-brew 'tldr'
-brew 'tmux'
-brew 'tree'
-brew 'watch'
-
-cask 'tuple'
-cask 'flycut'
-cask 'homebrew/cask-fonts/font-hack-nerd-font'
-cask 'goland'
-cask 'google-cloud-sdk'
-cask 'iterm2'
-cask 'rubymine'
-cask 'sequel-pro'
-cask 'spectacle'
-cask 'visual-studio-code'
-# slack cask intentionally removed for bad behavior - hijacking slack links, memory bloat.
-
-cask 'zoom'
diff --git a/Brewfile-osx b/Brewfile-osx
deleted file mode 100644
index 41dd491..0000000
--- a/Brewfile-osx
+++ /dev/null
@@ -1,22 +0,0 @@
-#TODO: move the following to be extra-only install?
-tap 'universal-ctags/universal-ctags'
-brew 'ripgrep'
-brew 'fd'
-brew 'git-author'
-brew 'lastpass-cli'
-brew 'yarn'
-brew 'node'
-brew 'awscli'
-brew 'chruby'
-
-brew 'vault'
-
-brew 'mysql'
-brew 'docker', overwrite: true, link: true
-brew 'postgresql@9.6', restart_service: true, link: true
-brew 'autojump'
-
-
-brew 'ruby-install'
-
-brew 'universal-ctags/universal-ctags/universal-ctags', args: ['HEAD']
diff --git a/Gemfile b/Gemfile
deleted file mode 100644
index f840684..0000000
--- a/Gemfile
+++ /dev/null
@@ -1,5 +0,0 @@
-source 'https://rubygems.org'
-
-gem 'plist'
-gem 'rainbow'
-gem 'thor'
diff --git a/Gemfile.lock b/Gemfile.lock
deleted file mode 100644
index d033e97..0000000
--- a/Gemfile.lock
+++ /dev/null
@@ -1,17 +0,0 @@
-GEM
- remote: https://rubygems.org/
- specs:
- plist (3.4.0)
- rainbow (3.0.0)
- thor (0.20.3)
-
-PLATFORMS
- ruby
-
-DEPENDENCIES
- plist
- rainbow
- thor
-
-BUNDLED WITH
- 2.1.4
diff --git a/README.md b/README.md
index a35ee71..50269c6 100644
--- a/README.md
+++ b/README.md
@@ -5,7 +5,6 @@ Hello there! This repo is intended to provide light-weight setup to developing o
![capi](https://im-01.gifer.com/9Y0s.gif)
## Dependencies
-* Mac OSX Sierra
* pip
## Installation
@@ -15,54 +14,28 @@ Hello there! This repo is intended to provide light-weight setup to developing o
git clone git@github.com:cloudfoundry/capi-workspace.git && cd capi-workspace
```
-You can now either install via `./install.sh` or `./install-core.sh`.
+You can now set up by doing the following:
+1. create gcp machine `gcloud compute instances create capi-ws- --zone 'us-central1-a' --source-machine-image 'capi-ws-image-latest' --project 'cf-capi-arya'`
+1. ssh onto said machine `gcloud compute ssh --zone "us-central1-a" "pivotal@capi-ws-" --project "cf-capi-arya" --ssh-flag="-A"`
+1. when you're done delete you gcp machine `gcloud compute instances delete capi-ws- --zone "us-central1-a" --project "cf-capi-arya" -q`
-Or curl the bootstrap script, which will create the `workspace` directory and clone this repo for you.
-This is primarily intended for quickly setting up virtual workstations.
-
-```
-bash <(curl -s https://raw.githubusercontent.com/cloudfoundry/capi-workspace/main/bootstrap.sh)
-```
**Make sure you ssh in as the "pivotal" user**
-## Manual steps (to be automated later)
-* Open System Preferences / Users & Groups / / Login Items
- * Add `flycut` from Applications
- * Add `spectacle` from Applications
-* Log out/Log in
- * This will cause Flycut and Spectacle to run and ask for permissions
-* Open up Rubymine manually and select `License Server` and copy in the the rubymine license from the labs license server (http://omaha.pivotallabs.com:8080/licenseServer in the SF office)
- - If you are not on a Pivotal Network, you need to VPN into one in order to access this server.
-* Install the `mine` cli shortcut (RubyMine -> Tools -> Create Command-line Launcher...)
-* If you are using Goland do the same two previous steps for Goland
-* If you have access to the private CAPI backlog, add a secure note called `tracker_api_token` to LastPass with your Pivotal Tracker API token. This token will be used in scripts such as `claim_bosh_lite` to pull story titles currently in flight.
-
-## Contributing to this repo
-
-* kindly consider when a change is worth making to `install-core.sh` versus `install.sh`.
-* [bash-it](https://github.com/Bash-it/bash-it) We use bash-it to organize and streamline our bash settings. This includes stuff like color schemes, aliases, shell settings, and the shell prompt formatting. Adding "plugins" to `custom-bash-it-plugins` will cause them to be installed in every new shell.
-
-## What this installation does
+## Adding nvim plugins
+We use vimPlug to manage our plugins. Add the plugin to init.vim. Declare your plugin in the top section between plug#begin and plug#end. Add configuration for your plugin in the lua section between lua <
-
-
-
- MakeLarger
-
- YnBsaXN0MDDUAQIDBAUGGRpYJHZlcnNpb25YJG9iamVjdHNZJGFyY2hpdmVyVCR0b3AS
- AAGGoKQHCBESVSRudWxs1AkKCwwNDg8QWW1vZGlmaWVyc1RuYW1lV2tleUNvZGVWJGNs
- YXNzERoAgAIQfIADWk1ha2VMYXJnZXLSExQVFlokY2xhc3NuYW1lWCRjbGFzc2VzXxAR
- U3BlY3RhY2xlU2hvcnRjdXSiFxhfEBFTcGVjdGFjbGVTaG9ydGN1dFhOU09iamVjdF8Q
- D05TS2V5ZWRBcmNoaXZlctEbHFRyb290gAEIERojLTI3PEJLVVpiaWxucHJ9go2Wqq3B
- ytzf5AAAAAAAAAEBAAAAAAAAAB0AAAAAAAAAAAAAAAAAAADm
-
- MakeSmaller
-
- YnBsaXN0MDDUAQIDBAUGGRpYJHZlcnNpb25YJG9iamVjdHNZJGFyY2hpdmVyVCR0b3AS
- AAGGoKQHCBESVSRudWxs1AkKCwwNDg8QWW1vZGlmaWVyc1RuYW1lV2tleUNvZGVWJGNs
- YXNzERoAgAIQe4ADW01ha2VTbWFsbGVy0hMUFRZaJGNsYXNzbmFtZVgkY2xhc3Nlc18Q
- EVNwZWN0YWNsZVNob3J0Y3V0ohcYXxARU3BlY3RhY2xlU2hvcnRjdXRYTlNPYmplY3Rf
- EA9OU0tleWVkQXJjaGl2ZXLRGxxUcm9vdIABCBEaIy0yNzxCS1VaYmlsbnByfoOOl6uu
- wsvd4OUAAAAAAAABAQAAAAAAAAAdAAAAAAAAAAAAAAAAAAAA5w==
-
- MoveToBottomHalf
-
- YnBsaXN0MDDUAQIDBAUGGRpYJHZlcnNpb25YJG9iamVjdHNZJGFyY2hpdmVyVCR0b3AS
- AAGGoKQHCBESVSRudWxs1AkKCwwNDg8QWW1vZGlmaWVyc1RuYW1lV2tleUNvZGVWJGNs
- YXNzERkAgAIQfYADXxAQTW92ZVRvQm90dG9tSGFsZtITFBUWWiRjbGFzc25hbWVYJGNs
- YXNzZXNfEBFTcGVjdGFjbGVTaG9ydGN1dKIXGF8QEVNwZWN0YWNsZVNob3J0Y3V0WE5T
- T2JqZWN0XxAPTlNLZXllZEFyY2hpdmVy0RscVHJvb3SAAQgRGiMtMjc8QktVWmJpbG5w
- coWKlZ6ytcnS5OfsAAAAAAAAAQEAAAAAAAAAHQAAAAAAAAAAAAAAAAAAAO4=
-
- MoveToCenter
-
- YnBsaXN0MDDUAQIDBAUGGRpYJHZlcnNpb25YJG9iamVjdHNZJGFyY2hpdmVyVCR0b3AS
- AAGGoKQHCBESVSRudWxs1AkKCwwNDg8QWW1vZGlmaWVyc1RuYW1lV2tleUNvZGVWJGNs
- YXNzEQkAgAIQCIADXE1vdmVUb0NlbnRlctITFBUWWiRjbGFzc25hbWVYJGNsYXNzZXNf
- EBFTcGVjdGFjbGVTaG9ydGN1dKIXGF8QEVNwZWN0YWNsZVNob3J0Y3V0WE5TT2JqZWN0
- XxAPTlNLZXllZEFyY2hpdmVy0RscVHJvb3SAAQgRGiMtMjc8QktVWmJpbG5wcn+Ej5is
- r8PM3uHmAAAAAAAAAQEAAAAAAAAAHQAAAAAAAAAAAAAAAAAAAOg=
-
- MoveToFullscreen
-
- YnBsaXN0MDDUAQIDBAUGGRpYJHZlcnNpb25YJG9iamVjdHNZJGFyY2hpdmVyVCR0b3AS
- AAGGoKQHCBESVSRudWxs1AkKCwwNDg8QWW1vZGlmaWVyc1RuYW1lV2tleUNvZGVWJGNs
- YXNzERkAgAIQLoADXxAQTW92ZVRvRnVsbHNjcmVlbtITFBUWWiRjbGFzc25hbWVYJGNs
- YXNzZXNfEBFTcGVjdGFjbGVTaG9ydGN1dKIXGF8QEVNwZWN0YWNsZVNob3J0Y3V0WE5T
- T2JqZWN0XxAPTlNLZXllZEFyY2hpdmVy0RscVHJvb3SAAQgRGiMtMjc8QktVWmJpbG5w
- coWKlZ6ytcnS5OfsAAAAAAAAAQEAAAAAAAAAHQAAAAAAAAAAAAAAAAAAAO4=
-
- MoveToLeftHalf
-
- YnBsaXN0MDDUAQIDBAUGGRpYJHZlcnNpb25YJG9iamVjdHNZJGFyY2hpdmVyVCR0b3AS
- AAGGoKQHCBESVSRudWxs1AkKCwwNDg8QWW1vZGlmaWVyc1RuYW1lV2tleUNvZGVWJGNs
- YXNzERkAgAIQe4ADXk1vdmVUb0xlZnRIYWxm0hMUFRZaJGNsYXNzbmFtZVgkY2xhc3Nl
- c18QEVNwZWN0YWNsZVNob3J0Y3V0ohcYXxARU3BlY3RhY2xlU2hvcnRjdXRYTlNPYmpl
- Y3RfEA9OU0tleWVkQXJjaGl2ZXLRGxxUcm9vdIABCBEaIy0yNzxCS1VaYmlsbnBygYaR
- mq6xxc7g4+gAAAAAAAABAQAAAAAAAAAdAAAAAAAAAAAAAAAAAAAA6g==
-
- MoveToLowerLeft
-
- YnBsaXN0MDDUAQIDBAUGGRpYJHZlcnNpb25YJG9iamVjdHNZJGFyY2hpdmVyVCR0b3AS
- AAGGoKQHCBESVSRudWxs1AkKCwwNDg8QWW1vZGlmaWVyc1RuYW1lV2tleUNvZGVWJGNs
- YXNzERMAgAIQe4ADXxAPTW92ZVRvTG93ZXJMZWZ00hMUFRZaJGNsYXNzbmFtZVgkY2xh
- c3Nlc18QEVNwZWN0YWNsZVNob3J0Y3V0ohcYXxARU3BlY3RhY2xlU2hvcnRjdXRYTlNP
- YmplY3RfEA9OU0tleWVkQXJjaGl2ZXLRGxxUcm9vdIABCBEaIy0yNzxCS1VaYmlsbnBy
- hImUnbG0yNHj5usAAAAAAAABAQAAAAAAAAAdAAAAAAAAAAAAAAAAAAAA7Q==
-
- MoveToLowerRight
-
- YnBsaXN0MDDUAQIDBAUGGRpYJHZlcnNpb25YJG9iamVjdHNZJGFyY2hpdmVyVCR0b3AS
- AAGGoKQHCBESVSRudWxs1AkKCwwNDg8QWW1vZGlmaWVyc1RuYW1lV2tleUNvZGVWJGNs
- YXNzERMAgAIQfIADXxAQTW92ZVRvTG93ZXJSaWdodNITFBUWWiRjbGFzc25hbWVYJGNs
- YXNzZXNfEBFTcGVjdGFjbGVTaG9ydGN1dKIXGF8QEVNwZWN0YWNsZVNob3J0Y3V0WE5T
- T2JqZWN0XxAPTlNLZXllZEFyY2hpdmVy0RscVHJvb3SAAQgRGiMtMjc8QktVWmJpbG5w
- coWKlZ6ytcnS5OfsAAAAAAAAAQEAAAAAAAAAHQAAAAAAAAAAAAAAAAAAAO4=
-
- MoveToNextDisplay
-
- YnBsaXN0MDDUAQIDBAUGGBlYJHZlcnNpb25YJG9iamVjdHNZJGFyY2hpdmVyVCR0b3AS
- AAGGoKQHCBARVSRudWxs1AkKCwwNDg0PWW1vZGlmaWVyc1RuYW1lV2tleUNvZGVWJGNs
- YXNzEACAAoADXxARTW92ZVRvTmV4dERpc3BsYXnSEhMUFVokY2xhc3NuYW1lWCRjbGFz
- c2VzXxARU3BlY3RhY2xlU2hvcnRjdXSiFhdfEBFTcGVjdGFjbGVTaG9ydGN1dFhOU09i
- amVjdF8QD05TS2V5ZWRBcmNoaXZlctEaG1Ryb290gAEIERojLTI3PEJLVVpiaWttb4OI
- k5yws8fQ4uXqAAAAAAAAAQEAAAAAAAAAHAAAAAAAAAAAAAAAAAAAAOw=
-
- MoveToNextThird
-
- YnBsaXN0MDDUAQIDBAUGGRpYJHZlcnNpb25YJG9iamVjdHNZJGFyY2hpdmVyVCR0b3AS
- AAGGoKQHCBESVSRudWxs1AkKCwwNDg8QWW1vZGlmaWVyc1RuYW1lV2tleUNvZGVWJGNs
- YXNzERgAgAIQfIADXxAPTW92ZVRvTmV4dFRoaXJk0hMUFRZaJGNsYXNzbmFtZVgkY2xh
- c3Nlc18QEVNwZWN0YWNsZVNob3J0Y3V0ohcYXxARU3BlY3RhY2xlU2hvcnRjdXRYTlNP
- YmplY3RfEA9OU0tleWVkQXJjaGl2ZXLRGxxUcm9vdIABCBEaIy0yNzxCS1VaYmlsbnBy
- hImUnbG0yNHj5usAAAAAAAABAQAAAAAAAAAdAAAAAAAAAAAAAAAAAAAA7Q==
-
- MoveToPreviousDisplay
-
- YnBsaXN0MDDUAQIDBAUGGBlYJHZlcnNpb25YJG9iamVjdHNZJGFyY2hpdmVyVCR0b3AS
- AAGGoKQHCBARVSRudWxs1AkKCwwNDg0PWW1vZGlmaWVyc1RuYW1lV2tleUNvZGVWJGNs
- YXNzEACAAoADXxAVTW92ZVRvUHJldmlvdXNEaXNwbGF50hITFBVaJGNsYXNzbmFtZVgk
- Y2xhc3Nlc18QEVNwZWN0YWNsZVNob3J0Y3V0ohYXXxARU3BlY3RhY2xlU2hvcnRjdXRY
- TlNPYmplY3RfEA9OU0tleWVkQXJjaGl2ZXLRGhtUcm9vdIABCBEaIy0yNzxCS1VaYmlr
- bW+HjJegtLfL1Obp7gAAAAAAAAEBAAAAAAAAABwAAAAAAAAAAAAAAAAAAADw
-
- MoveToPreviousThird
-
- YnBsaXN0MDDUAQIDBAUGGRpYJHZlcnNpb25YJG9iamVjdHNZJGFyY2hpdmVyVCR0b3AS
- AAGGoKQHCBESVSRudWxs1AkKCwwNDg8QWW1vZGlmaWVyc1RuYW1lV2tleUNvZGVWJGNs
- YXNzERgAgAIQe4ADXxATTW92ZVRvUHJldmlvdXNUaGlyZNITFBUWWiRjbGFzc25hbWVY
- JGNsYXNzZXNfEBFTcGVjdGFjbGVTaG9ydGN1dKIXGF8QEVNwZWN0YWNsZVNob3J0Y3V0
- WE5TT2JqZWN0XxAPTlNLZXllZEFyY2hpdmVy0RscVHJvb3SAAQgRGiMtMjc8QktVWmJp
- bG5wcoiNmKG1uMzV5+rvAAAAAAAAAQEAAAAAAAAAHQAAAAAAAAAAAAAAAAAAAPE=
-
- MoveToRightHalf
-
- YnBsaXN0MDDUAQIDBAUGGRpYJHZlcnNpb25YJG9iamVjdHNZJGFyY2hpdmVyVCR0b3AS
- AAGGoKQHCBESVSRudWxs1AkKCwwNDg8QWW1vZGlmaWVyc1RuYW1lV2tleUNvZGVWJGNs
- YXNzERkAgAIQfIADXxAPTW92ZVRvUmlnaHRIYWxm0hMUFRZaJGNsYXNzbmFtZVgkY2xh
- c3Nlc18QEVNwZWN0YWNsZVNob3J0Y3V0ohcYXxARU3BlY3RhY2xlU2hvcnRjdXRYTlNP
- YmplY3RfEA9OU0tleWVkQXJjaGl2ZXLRGxxUcm9vdIABCBEaIy0yNzxCS1VaYmlsbnBy
- hImUnbG0yNHj5usAAAAAAAABAQAAAAAAAAAdAAAAAAAAAAAAAAAAAAAA7Q==
-
- MoveToTopHalf
-
- YnBsaXN0MDDUAQIDBAUGGRpYJHZlcnNpb25YJG9iamVjdHNZJGFyY2hpdmVyVCR0b3AS
- AAGGoKQHCBESVSRudWxs1AkKCwwNDg8QWW1vZGlmaWVyc1RuYW1lV2tleUNvZGVWJGNs
- YXNzERkAgAIQfoADXU1vdmVUb1RvcEhhbGbSExQVFlokY2xhc3NuYW1lWCRjbGFzc2Vz
- XxARU3BlY3RhY2xlU2hvcnRjdXSiFxhfEBFTcGVjdGFjbGVTaG9ydGN1dFhOU09iamVj
- dF8QD05TS2V5ZWRBcmNoaXZlctEbHFRyb290gAEIERojLTI3PEJLVVpiaWxucHKAhZCZ
- rbDEzd/i5wAAAAAAAAEBAAAAAAAAAB0AAAAAAAAAAAAAAAAAAADp
-
- MoveToUpperLeft
-
- YnBsaXN0MDDUAQIDBAUGGRpYJHZlcnNpb25YJG9iamVjdHNZJGFyY2hpdmVyVCR0b3AS
- AAGGoKQHCBESVSRudWxs1AkKCwwNDg8QWW1vZGlmaWVyc1RuYW1lV2tleUNvZGVWJGNs
- YXNzEREAgAIQe4ADXxAPTW92ZVRvVXBwZXJMZWZ00hMUFRZaJGNsYXNzbmFtZVgkY2xh
- c3Nlc18QEVNwZWN0YWNsZVNob3J0Y3V0ohcYXxARU3BlY3RhY2xlU2hvcnRjdXRYTlNP
- YmplY3RfEA9OU0tleWVkQXJjaGl2ZXLRGxxUcm9vdIABCBEaIy0yNzxCS1VaYmlsbnBy
- hImUnbG0yNHj5usAAAAAAAABAQAAAAAAAAAdAAAAAAAAAAAAAAAAAAAA7Q==
-
- MoveToUpperRight
-
- YnBsaXN0MDDUAQIDBAUGGRpYJHZlcnNpb25YJG9iamVjdHNZJGFyY2hpdmVyVCR0b3AS
- AAGGoKQHCBESVSRudWxs1AkKCwwNDg8QWW1vZGlmaWVyc1RuYW1lV2tleUNvZGVWJGNs
- YXNzEREAgAIQfIADXxAQTW92ZVRvVXBwZXJSaWdodNITFBUWWiRjbGFzc25hbWVYJGNs
- YXNzZXNfEBFTcGVjdGFjbGVTaG9ydGN1dKIXGF8QEVNwZWN0YWNsZVNob3J0Y3V0WE5T
- T2JqZWN0XxAPTlNLZXllZEFyY2hpdmVy0RscVHJvb3SAAQgRGiMtMjc8QktVWmJpbG5w
- coWKlZ6ytcnS5OfsAAAAAAAAAQEAAAAAAAAAHQAAAAAAAAAAAAAAAAAAAO4=
-
- RedoLastMove
-
- YnBsaXN0MDDUAQIDBAUGGRpYJHZlcnNpb25YJG9iamVjdHNZJGFyY2hpdmVyVCR0b3AS
- AAGGoKQHCBESVSRudWxs1AkKCwwNDg8QWW1vZGlmaWVyc1RuYW1lV2tleUNvZGVWJGNs
- YXNzEQsAgAIQBoADXFJlZG9MYXN0TW92ZdITFBUWWiRjbGFzc25hbWVYJGNsYXNzZXNf
- EBFTcGVjdGFjbGVTaG9ydGN1dKIXGF8QEVNwZWN0YWNsZVNob3J0Y3V0WE5TT2JqZWN0
- XxAPTlNLZXllZEFyY2hpdmVy0RscVHJvb3SAAQgRGiMtMjc8QktVWmJpbG5wcn+Ej5is
- r8PM3uHmAAAAAAAAAQEAAAAAAAAAHQAAAAAAAAAAAAAAAAAAAOg=
-
- SUEnableAutomaticChecks
-
- SUHasLaunchedBefore
-
- SULastCheckTime
- 2018-10-03T18:29:33Z
- UndoLastMove
-
- YnBsaXN0MDDUAQIDBAUGGRpYJHZlcnNpb25YJG9iamVjdHNZJGFyY2hpdmVyVCR0b3AS
- AAGGoKQHCBESVSRudWxs1AkKCwwNDg8QWW1vZGlmaWVyc1RuYW1lV2tleUNvZGVWJGNs
- YXNzEQkAgAIQBoADXFVuZG9MYXN0TW92ZdITFBUWWiRjbGFzc25hbWVYJGNsYXNzZXNf
- EBFTcGVjdGFjbGVTaG9ydGN1dKIXGF8QEVNwZWN0YWNsZVNob3J0Y3V0WE5TT2JqZWN0
- XxAPTlNLZXllZEFyY2hpdmVy0RscVHJvb3SAAQgRGiMtMjc8QktVWmJpbG5wcn+Ej5is
- r8PM3uHmAAAAAAAAAQEAAAAAAAAAHQAAAAAAAAAAAAAAAAAAAOg=
-
-
-
diff --git a/assets/com.googlecode.iterm2.plist b/assets/com.googlecode.iterm2.plist
deleted file mode 100644
index 498170f..0000000
--- a/assets/com.googlecode.iterm2.plist
+++ /dev/null
@@ -1,1199 +0,0 @@
-
-
-
-
- AppleAntiAliasingThreshold
- 1
- AppleScrollAnimationEnabled
- 0
- AppleSmoothFixedFontsSizeThreshold
- 1
- AppleWindowTabbingMode
- manual
- CheckTestRelease
-
- Custom Color Presets
-
- Calamity
-
- Ansi 0 Color
-
- Alpha Component
- 1
- Blue Component
- 0.20000000298023224
- Color Space
- sRGB
- Green Component
- 0.15686275064945221
- Red Component
- 0.18431372940540314
-
- Ansi 1 Color
-
- Alpha Component
- 1
- Blue Component
- 0.30196079611778259
- Color Space
- sRGB
- Green Component
- 0.39215686917304993
- Red Component
- 0.98823529481887817
-
- Ansi 10 Color
-
- Alpha Component
- 1
- Blue Component
- 0.61176472902297974
- Color Space
- sRGB
- Green Component
- 0.96470588445663452
- Red Component
- 0.64705884456634521
-
- Ansi 11 Color
-
- Alpha Component
- 1
- Blue Component
- 0.64705884456634521
- Color Space
- sRGB
- Green Component
- 0.84313726425170898
- Red Component
- 0.91372549533843994
-
- Ansi 12 Color
-
- Alpha Component
- 1
- Blue Component
- 0.78039216995239258
- Color Space
- sRGB
- Green Component
- 0.47450980544090271
- Red Component
- 0.23137255012989044
-
- Ansi 13 Color
-
- Alpha Component
- 1
- Blue Component
- 0.44705882668495178
- Color Space
- sRGB
- Green Component
- 0.14901961386203766
- Red Component
- 0.97647058963775635
-
- Ansi 14 Color
-
- Alpha Component
- 1
- Blue Component
- 0.87058824300765991
- Color Space
- sRGB
- Green Component
- 0.82745099067687988
- Red Component
- 0.45490196347236633
-
- Ansi 15 Color
-
- Alpha Component
- 1
- Blue Component
- 1
- Color Space
- sRGB
- Green Component
- 1
- Red Component
- 1
-
- Ansi 2 Color
-
- Alpha Component
- 1
- Blue Component
- 0.61176472902297974
- Color Space
- sRGB
- Green Component
- 0.96470588445663452
- Red Component
- 0.64705884456634521
-
- Ansi 3 Color
-
- Alpha Component
- 1
- Blue Component
- 0.64705884456634521
- Color Space
- sRGB
- Green Component
- 0.84313726425170898
- Red Component
- 0.91372549533843994
-
- Ansi 4 Color
-
- Alpha Component
- 1
- Blue Component
- 0.78039216995239258
- Color Space
- sRGB
- Green Component
- 0.47450980544090271
- Red Component
- 0.23137255012989044
-
- Ansi 5 Color
-
- Alpha Component
- 1
- Blue Component
- 0.44705882668495178
- Color Space
- sRGB
- Green Component
- 0.14901961386203766
- Red Component
- 0.97647058963775635
-
- Ansi 6 Color
-
- Alpha Component
- 1
- Blue Component
- 0.87058824300765991
- Color Space
- sRGB
- Green Component
- 0.82745099067687988
- Red Component
- 0.45490196347236633
-
- Ansi 7 Color
-
- Alpha Component
- 1
- Blue Component
- 0.85098040103912354
- Color Space
- sRGB
- Green Component
- 0.80784314870834351
- Red Component
- 0.83529412746429443
-
- Ansi 8 Color
-
- Alpha Component
- 1
- Blue Component
- 0.53333336114883423
- Color Space
- sRGB
- Green Component
- 0.42352941632270813
- Red Component
- 0.49411764740943909
-
- Ansi 9 Color
-
- Alpha Component
- 1
- Blue Component
- 0.30196079611778259
- Color Space
- sRGB
- Green Component
- 0.39215686917304993
- Red Component
- 0.98823529481887817
-
- Background Color
-
- Alpha Component
- 1
- Blue Component
- 0.20000000298023224
- Color Space
- sRGB
- Green Component
- 0.15686275064945221
- Red Component
- 0.18431372940540314
-
- Badge Color
-
- Alpha Component
- 1
- Blue Component
- 0.23529411852359772
- Color Space
- sRGB
- Green Component
- 0.18431372940540314
- Red Component
- 0.21568627655506134
-
- Bold Color
-
- Alpha Component
- 1
- Blue Component
- 0.85098040103912354
- Color Space
- sRGB
- Green Component
- 0.80784314870834351
- Red Component
- 0.83529412746429443
-
- Cursor Color
-
- Alpha Component
- 1
- Blue Component
- 0.85098040103912354
- Color Space
- sRGB
- Green Component
- 0.80784314870834351
- Red Component
- 0.83529412746429443
-
- Cursor Guide Color
-
- Alpha Component
- 1
- Blue Component
- 0.23529411852359772
- Color Space
- sRGB
- Green Component
- 0.18431372940540314
- Red Component
- 0.21568627655506134
-
- Cursor Text Color
-
- Alpha Component
- 1
- Blue Component
- 0.20000000298023224
- Color Space
- sRGB
- Green Component
- 0.15686275064945221
- Red Component
- 0.18431372940540314
-
- Foreground Color
-
- Alpha Component
- 1
- Blue Component
- 0.85098040103912354
- Color Space
- sRGB
- Green Component
- 0.80784314870834351
- Red Component
- 0.83529412746429443
-
- Link Color
-
- Alpha Component
- 1
- Blue Component
- 0.78039216995239258
- Color Space
- sRGB
- Green Component
- 0.47450980544090271
- Red Component
- 0.23137255012989044
-
- Selected Text Color
-
- Alpha Component
- 1
- Blue Component
- 0.85098040103912354
- Color Space
- sRGB
- Green Component
- 0.80784314870834351
- Red Component
- 0.83529412746429443
-
- Selection Color
-
- Alpha Component
- 1
- Blue Component
- 0.53333336114883423
- Color Space
- sRGB
- Green Component
- 0.42352941632270813
- Red Component
- 0.49411764740943909
-
-
-
- Default Bookmark Guid
- 0D6FD5A1-C66A-44A3-908C-45C018D3CB76
- HotkeyMigratedFromSingleToMulti
-
- LoadPrefsFromCustomFolder
-
- NSNavLastRootDirectory
- ~/workspace/capi-workspace/assets
- NSNavPanelExpandedSizeForOpenMode
- {712, 448}
- NSQuotedKeystrokeBinding
-
- NSRepeatCountBinding
-
- NSScrollAnimationEnabled
-
- NSScrollViewShouldScrollUnderTitlebar
-
- NSTableView Columns v2 KeyBingingTable
-
- YnBsaXN0MDDUAQIDBAUGNjdYJHZlcnNpb25YJG9iamVjdHNZJGFyY2hpdmVyVCR0b3AS
- AAGGoK4HCA8aGxwdHh8gJjAxMlUkbnVsbNIJCgsOWk5TLm9iamVjdHNWJGNsYXNzogwN
- gAKACoAN0xAJChEVGVdOUy5rZXlzoxITFIADgASABaMWFxiABoAHgAiACVpJZGVudGlm
- aWVyVVdpZHRoVkhpZGRlblEwI0BowAAAAAAACNIhIiMkWiRjbGFzc25hbWVYJGNsYXNz
- ZXNcTlNEaWN0aW9uYXJ5oiMlWE5TT2JqZWN00xAJCicrGaMSExSAA4AEgAWjLC0YgAuA
- DIAIgAlRMSNAdKGdsi0OVtIhIjM0Xk5TTXV0YWJsZUFycmF5ozM1JVdOU0FycmF5XxAP
- TlNLZXllZEFyY2hpdmVy0Tg5VUFycmF5gAEACAARABoAIwAtADIANwBGAEwAUQBcAGMA
- ZgBoAGoAbABzAHsAfwCBAIMAhQCJAIsAjQCPAJEAnACiAKkAqwC0ALUAugDFAM4A2wDe
- AOcA7gDyAPQA9gD4APwA/gEAAQIBBAEGAQ8BFAEjAScBLwFBAUQBSgAAAAAAAAIBAAAA
- AAAAADoAAAAAAAAAAAAAAAAAAAFM
-
- NSTableView Sort Ordering v2 KeyBingingTable
-
- YnBsaXN0MDDUAQIDBAUGFBVYJHZlcnNpb25YJG9iamVjdHNZJGFyY2hpdmVyVCR0b3AS
- AAGGoKMHCA1VJG51bGzSCQoLDFpOUy5vYmplY3RzViRjbGFzc6CAAtIODxARWiRjbGFz
- c25hbWVYJGNsYXNzZXNeTlNNdXRhYmxlQXJyYXmjEBITV05TQXJyYXlYTlNPYmplY3Rf
- EA9OU0tleWVkQXJjaGl2ZXLRFhdVQXJyYXmAAQgRGiMtMjc7QUZRWFlbYGt0g4ePmKqt
- swAAAAAAAAEBAAAAAAAAABgAAAAAAAAAAAAAAAAAAAC1
-
- NSTableView Supports v2 KeyBingingTable
-
- NSWindow Frame NSFontPanel
- 1726 355 445 103 0 0 2560 1418
- NSWindow Frame SessionsPreferences
- 269 126 606 469 0 0 2560 1418
- NSWindow Frame SharedPreferences
- 1397 767 796 486 0 0 2560 1418
- NSWindow Frame UKCrashReporter
- 230 834 592 584 0 0 2560 1418
- NSWindow Frame iTerm Window 0
- 671 56 1273 1354 0 0 2560 1417
- NSWindow Frame iTerm Window 1
- 1 965 665 452 0 0 2560 1417
- New Bookmarks
-
-
- ASCII Anti Aliased
-
- Ambiguous Double Width
-
- Ansi 0 Color
-
- Alpha Component
- 1
- Blue Component
- 0.20000000298023224
- Color Space
- sRGB
- Green Component
- 0.15686275064945221
- Red Component
- 0.18431372940540314
-
- Ansi 1 Color
-
- Alpha Component
- 1
- Blue Component
- 0.30196079611778259
- Color Space
- sRGB
- Green Component
- 0.39215686917304993
- Red Component
- 0.98823529481887817
-
- Ansi 10 Color
-
- Alpha Component
- 1
- Blue Component
- 0.61176472902297974
- Color Space
- sRGB
- Green Component
- 0.96470588445663452
- Red Component
- 0.64705884456634521
-
- Ansi 11 Color
-
- Alpha Component
- 1
- Blue Component
- 0.64705884456634521
- Color Space
- sRGB
- Green Component
- 0.84313726425170898
- Red Component
- 0.91372549533843994
-
- Ansi 12 Color
-
- Alpha Component
- 1
- Blue Component
- 0.78039216995239258
- Color Space
- sRGB
- Green Component
- 0.47450980544090271
- Red Component
- 0.23137255012989044
-
- Ansi 13 Color
-
- Alpha Component
- 1
- Blue Component
- 0.44705882668495178
- Color Space
- sRGB
- Green Component
- 0.14901961386203766
- Red Component
- 0.97647058963775635
-
- Ansi 14 Color
-
- Alpha Component
- 1
- Blue Component
- 0.87058824300765991
- Color Space
- sRGB
- Green Component
- 0.82745099067687988
- Red Component
- 0.45490196347236633
-
- Ansi 15 Color
-
- Alpha Component
- 1
- Blue Component
- 1
- Color Space
- sRGB
- Green Component
- 1
- Red Component
- 1
-
- Ansi 2 Color
-
- Alpha Component
- 1
- Blue Component
- 0.61176472902297974
- Color Space
- sRGB
- Green Component
- 0.96470588445663452
- Red Component
- 0.64705884456634521
-
- Ansi 3 Color
-
- Alpha Component
- 1
- Blue Component
- 0.64705884456634521
- Color Space
- sRGB
- Green Component
- 0.84313726425170898
- Red Component
- 0.91372549533843994
-
- Ansi 4 Color
-
- Alpha Component
- 1
- Blue Component
- 0.78039216995239258
- Color Space
- sRGB
- Green Component
- 0.47450980544090271
- Red Component
- 0.23137255012989044
-
- Ansi 5 Color
-
- Alpha Component
- 1
- Blue Component
- 0.44705882668495178
- Color Space
- sRGB
- Green Component
- 0.14901961386203766
- Red Component
- 0.97647058963775635
-
- Ansi 6 Color
-
- Alpha Component
- 1
- Blue Component
- 0.87058824300765991
- Color Space
- sRGB
- Green Component
- 0.82745099067687988
- Red Component
- 0.45490196347236633
-
- Ansi 7 Color
-
- Alpha Component
- 1
- Blue Component
- 0.85098040103912354
- Color Space
- sRGB
- Green Component
- 0.80784314870834351
- Red Component
- 0.83529412746429443
-
- Ansi 8 Color
-
- Alpha Component
- 1
- Blue Component
- 0.53333336114883423
- Color Space
- sRGB
- Green Component
- 0.42352941632270813
- Red Component
- 0.49411764740943909
-
- Ansi 9 Color
-
- Alpha Component
- 1
- Blue Component
- 0.30196079611778259
- Color Space
- sRGB
- Green Component
- 0.39215686917304993
- Red Component
- 0.98823529481887817
-
- BM Growl
-
- Background Color
-
- Alpha Component
- 1
- Blue Component
- 0.20000000298023224
- Color Space
- sRGB
- Green Component
- 0.15686275064945221
- Red Component
- 0.18431372940540314
-
- Background Image Location
-
- Badge Color
-
- Alpha Component
- 1
- Blue Component
- 0.23529411852359772
- Color Space
- sRGB
- Green Component
- 0.18431372940540314
- Red Component
- 0.21568627655506134
-
- Blinking Cursor
-
- Blur
-
- Bold Color
-
- Alpha Component
- 1
- Blue Component
- 0.85098040103912354
- Color Space
- sRGB
- Green Component
- 0.80784314870834351
- Red Component
- 0.83529412746429443
-
- Character Encoding
- 4
- Close Sessions On End
-
- Columns
- 80
- Command
-
- Cursor Color
-
- Alpha Component
- 1
- Blue Component
- 0.85098040103912354
- Color Space
- sRGB
- Green Component
- 0.80784314870834351
- Red Component
- 0.83529412746429443
-
- Cursor Guide Color
-
- Alpha Component
- 1
- Blue Component
- 0.23529411852359772
- Color Space
- sRGB
- Green Component
- 0.18431372940540314
- Red Component
- 0.21568627655506134
-
- Cursor Text Color
-
- Alpha Component
- 1
- Blue Component
- 0.20000000298023224
- Color Space
- sRGB
- Green Component
- 0.15686275064945221
- Red Component
- 0.18431372940540314
-
- Custom Command
- No
- Custom Directory
- Recycle
- Default Bookmark
- No
- Description
- Default
- Disable Window Resizing
-
- Flashing Bell
-
- Foreground Color
-
- Alpha Component
- 1
- Blue Component
- 0.85098040103912354
- Color Space
- sRGB
- Green Component
- 0.80784314870834351
- Red Component
- 0.83529412746429443
-
- Guid
- 0D6FD5A1-C66A-44A3-908C-45C018D3CB76
- Horizontal Spacing
- 1
- Idle Code
- 0
- Jobs to Ignore
-
- rlogin
- ssh
- slogin
- telnet
-
- Keyboard Map
-
- 0x2d-0x40000
-
- Action
- 11
- Text
- 0x1f
-
- 0x32-0x40000
-
- Action
- 11
- Text
- 0x00
-
- 0x33-0x40000
-
- Action
- 11
- Text
- 0x1b
-
- 0x34-0x40000
-
- Action
- 11
- Text
- 0x1c
-
- 0x35-0x40000
-
- Action
- 11
- Text
- 0x1d
-
- 0x36-0x40000
-
- Action
- 11
- Text
- 0x1e
-
- 0x37-0x40000
-
- Action
- 11
- Text
- 0x1f
-
- 0x38-0x40000
-
- Action
- 11
- Text
- 0x7f
-
- 0xf700-0x220000
-
- Action
- 10
- Text
- [1;2A
-
- 0xf700-0x240000
-
- Action
- 10
- Text
- [1;5A
-
- 0xf700-0x260000
-
- Action
- 10
- Text
- [1;6A
-
- 0xf700-0x280000
-
- Action
- 11
- Text
- 0x1b 0x1b 0x5b 0x41
-
- 0xf701-0x220000
-
- Action
- 10
- Text
- [1;2B
-
- 0xf701-0x240000
-
- Action
- 10
- Text
- [1;5B
-
- 0xf701-0x260000
-
- Action
- 10
- Text
- [1;6B
-
- 0xf701-0x280000
-
- Action
- 11
- Text
- 0x1b 0x1b 0x5b 0x42
-
- 0xf702-0x220000
-
- Action
- 10
- Text
- [1;2D
-
- 0xf702-0x240000
-
- Action
- 10
- Text
- [1;5D
-
- 0xf702-0x260000
-
- Action
- 10
- Text
- [1;6D
-
- 0xf702-0x280000
-
- Action
- 10
- Text
- b
-
- 0xf703-0x220000
-
- Action
- 10
- Text
- [1;2C
-
- 0xf703-0x240000
-
- Action
- 10
- Text
- [1;5C
-
- 0xf703-0x260000
-
- Action
- 10
- Text
- [1;6C
-
- 0xf703-0x280000
-
- Action
- 10
- Text
- f
-
- 0xf704-0x20000
-
- Action
- 10
- Text
- [1;2P
-
- 0xf705-0x20000
-
- Action
- 10
- Text
- [1;2Q
-
- 0xf706-0x20000
-
- Action
- 10
- Text
- [1;2R
-
- 0xf707-0x20000
-
- Action
- 10
- Text
- [1;2S
-
- 0xf708-0x20000
-
- Action
- 10
- Text
- [15;2~
-
- 0xf709-0x20000
-
- Action
- 10
- Text
- [17;2~
-
- 0xf70a-0x20000
-
- Action
- 10
- Text
- [18;2~
-
- 0xf70b-0x20000
-
- Action
- 10
- Text
- [19;2~
-
- 0xf70c-0x20000
-
- Action
- 10
- Text
- [20;2~
-
- 0xf70d-0x20000
-
- Action
- 10
- Text
- [21;2~
-
- 0xf70e-0x20000
-
- Action
- 10
- Text
- [23;2~
-
- 0xf70f-0x20000
-
- Action
- 10
- Text
- [24;2~
-
- 0xf729-0x20000
-
- Action
- 10
- Text
- [1;2H
-
- 0xf729-0x40000
-
- Action
- 10
- Text
- [1;5H
-
- 0xf72b-0x20000
-
- Action
- 10
- Text
- [1;2F
-
- 0xf72b-0x40000
-
- Action
- 10
- Text
- [1;5F
-
-
- Link Color
-
- Alpha Component
- 1
- Blue Component
- 0.78039216995239258
- Color Space
- sRGB
- Green Component
- 0.47450980544090271
- Red Component
- 0.23137255012989044
-
- Mouse Reporting
-
- Name
- Default
- Non Ascii Font
- Monaco 12
- Non-ASCII Anti Aliased
-
- Normal Font
- HackNerdFontComplete-Regular 12
- Option Key Sends
- 0
- Prompt Before Closing 2
-
- Right Option Key Sends
- 0
- Rows
- 25
- Screen
- -1
- Scrollback Lines
- 0
- Selected Text Color
-
- Alpha Component
- 1
- Blue Component
- 0.85098040103912354
- Color Space
- sRGB
- Green Component
- 0.80784314870834351
- Red Component
- 0.83529412746429443
-
- Selection Color
-
- Alpha Component
- 1
- Blue Component
- 0.53333336114883423
- Color Space
- sRGB
- Green Component
- 0.42352941632270813
- Red Component
- 0.49411764740943909
-
- Send Code When Idle
-
- Shortcut
-
- Silence Bell
-
- Sync Title
-
- Tags
-
- Terminal Type
- xterm-256color
- Transparency
- 0.0
- Unlimited Scrollback
-
- Use Bold Font
-
- Use Bright Bold
-
- Use Italic Font
-
- Use Non-ASCII Font
-
- Vertical Spacing
- 1
- Visual Bell
-
- Window Type
- 0
- Working Directory
- /Users/pivotal
-
-
- NoSyncHaveWarnedAboutPasteConfirmationChange
-
- NoSyncInstallationId
- 6E329242-3B8B-42CB-A3BF-524A60A498F5
- NoSyncPermissionToShowTip
-
- NoSyncTimeOfFirstLaunchOfVersionWithTip
- 541129983.80371904
- PointerActions
-
- Button,1,1,,
-
- Action
- kContextMenuPointerAction
-
- Button,2,1,,
-
- Action
- kPasteFromClipboardPointerAction
-
- Gesture,ThreeFingerSwipeDown,,
-
- Action
- kPrevWindowPointerAction
-
- Gesture,ThreeFingerSwipeLeft,,
-
- Action
- kPrevTabPointerAction
-
- Gesture,ThreeFingerSwipeRight,,
-
- Action
- kNextTabPointerAction
-
- Gesture,ThreeFingerSwipeUp,,
-
- Action
- kNextWindowPointerAction
-
-
- PrefsCustomFolder
- /Users/pivotal/workspace/capi-workspace/assets
- SUEnableAutomaticChecks
-
- SUFeedAlternateAppNameKey
- iTerm
- SUFeedURL
- https://iterm2.com/appcasts/testing.xml?shard=15
- SUHasLaunchedBefore
-
- SUSendProfileInfo
-
- UKCrashReporterLastCrashReportDate
- 1538100096
- WordCharacters
- /-+\~_.
- findMode_iTerm
- 0
- iTerm Version
- 3.2.1beta6
-
-
diff --git a/assets/cron.txt b/assets/cron.txt
deleted file mode 100644
index 46f8758..0000000
--- a/assets/cron.txt
+++ /dev/null
@@ -1 +0,0 @@
-0 23 * * * (trap 'open http://dn.ht/picklecat/' ERR; cd ~/workspace/capi-workspace && ./install.sh) &> /tmp/capi-workspace.log
diff --git a/assets/git-authors b/assets/git-authors
index 756497a..3cccf49 100644
--- a/assets/git-authors
+++ b/assets/git-authors
@@ -1,33 +1,13 @@
-[git-together]
- domain = pivotal.io
-[git-together "authors"]
- ar = "Alex Rocha; alexr1@vmware.com"
- bl = "Belinda Liu; bliu"
- cl = "Carson Long; lcarson@vmware.com"
- cs = "Chris Selzo; cselzo"
- cy = "Caitlyn Yu; caitlyny@vmware.com"
- es = "Elena Sharma; elenasharma"
- gc = "Greg Cobb; gcobb"
- gh = "Galen Hammond; galenh@vmware.com"
- jg = "Jenna Goldstrich; jgoldstrich"
- jp = "Jaskanwal Pawar; jpawar"
- mp = "Marc Paquette; mpaquette@vmware.com"
- mdl = "Merric de Launey; mdelauney"
- mk = "Matthew Kocher; mkocher"
- mo = "Michael Oleske; moleske"
- mm = "Mona Mohebbi; mmohebbi"
- mr = "Matt Royal; mroyal@vmware.com"
- pb = "Piyali Banerjee; pbanerjee"
- rc = "Renee Chu; rchu"
- sb = "Seth Boyles; sboyles"
- sj = "Sannidhi Jalukar; sjalukar"
- sw = "Sarah Weinstein; sweinstein"
- td = "Tim Downey; tdowney@vmware.com"
- tp = "Travis Patterson; travisp@vmware.com"
- ts = "Teal Stannard; tstannard"
- tv = "Tom Viehman; tviehman"
- wf = "Weyman Fung; weymanf@vmware.com"
- zr = "Zach Robinson; zrobinson"
- bp = "Brandon Potts; bpotts@vmware.com"
- da = "David Alvarado; alvaradoda@vmware.com"
- bot = "CAPI CI; cf-capi-eng+ci"
+authors:
+ sb: Seth Boyles; seth.boyles
+ mo: Michael Oleske; michael.oleske
+ da: David Alvarado; david.alvarado
+ ar: Alex Rocha; alex.rocha
+ ef: Evan Farrar; evan.farrar
+ sg: Shwetha Gururaj; shwetha.gururaj
+ dfo: Daniel Felipe Ochoa; daniel.ochoa
+ mp: Marc Paquette; marc.paquette
+ ad: Amelia Downs; amelia.downs
+ td: Tim Downey; tim.downey
+email:
+ domain: broadcom.com
diff --git a/bootstrap.sh b/bootstrap.sh
deleted file mode 100755
index 1dcd68f..0000000
--- a/bootstrap.sh
+++ /dev/null
@@ -1,16 +0,0 @@
-#!/bin/bash
-# run this script on newly provisions VMs to create remote workstations
-# bash <(curl -s https://raw.githubusercontent.com/cloudfoundry/capi-workspace/main/bootstrap.sh)
-
-mkdir -p ~/workspace
-cd ~/workspace
-echo "Cloning the capi-workspace repo"
-git clone https://github.com/cloudfoundry/capi-workspace.git
-
-cd capi-workspace
-echo "Installing required packages and tools, you may be prompted for your sudo password."
-./install.sh
-cd ~
-
-echo "All done! Disconnect and log back in to ensure you have everything."
-
diff --git a/capi-workspace-docker/Dockerfile b/capi-workspace-docker/Dockerfile
deleted file mode 100644
index 7c2bc1d..0000000
--- a/capi-workspace-docker/Dockerfile
+++ /dev/null
@@ -1,91 +0,0 @@
-FROM ruby:2.7-buster
-
-
-RUN apt-get update
-
-RUN DEBIAN_FRONTEND="noninteractive" apt-get -y install tzdata
-
-RUN apt-get install -y \
- git \
- wget \
- curl \
- apt-utils \
- tmux \
- ruby \
- default-mysql-server \
- ruby-dev \
- postgresql-contrib \
- postgresql \
- libpq5 \
- libpq-dev \
- ripgrep \
- fd-find \
- nodejs \
- npm \
- sudo \
- neovim \
- lastpass-cli \
- software-properties-common \
- apt-transport-https \
- openssh-server
-
-
-#Luan's nvim deps
-RUN apt-get install -y \
- golang
-
-RUN gem install bundler
-RUN service mysql start && \
- echo 'mysql-server mysql-server/root_password password password' | debconf-set-selections && \
- echo 'mysql-server mysql-server/root_password_again password password' | debconf-set-selections
-
-#Install Credhub CLI
-RUN mkdir /tmp/credhub -p && \
- cd /tmp/credhub && \
- wget https://github.com/cloudfoundry-incubator/credhub-cli/releases/download/2.9.0/credhub-linux-2.9.0.tgz && \
- tar xf credhub*tgz && \
- chmod +x credhub && \
- mv credhub /usr/bin && \
- cd / && \
- rm -rf /tmp/credhub
-
-RUN service ssh restart
-
-#Install Bosh CLI
-RUN wget https://github.com/cloudfoundry/bosh-cli/releases/download/v6.4.1/bosh-cli-6.4.1-linux-amd64 && \
- mv bosh-cli-6.4.1-linux-amd64 /usr/bin/bosh && \
- chmod +x /usr/bin/bosh
-
-# Capi user section
-RUN echo '%sudo ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers
-
-RUN useradd -rm -d /home/capi -s /bin/bash -g root -G sudo -u 1001 capi -p capi
-USER capi
-WORKDIR /home/capi
-
-RUN mkdir /home/capi/tmp
-ENV TMUX_TMPDIR=/home/capi/tmp
-
-RUN git clone https://github.com/luan/nvim ~/.config/nvim
-
-RUN nvim +UpdateRemotePlugins +qall && \
- nvim +GoInstallBinaries +qall
-
-# The command to update plugins keeps exiting 0 on docker build, even though it still installs the plugins, swallowing error for now
-RUN nvim +'PlugInstall --sync' +qa; exit 0
-
-RUN set -ex && \
- bundle config path ~/.gem/ruby && \
- mkdir ~/workspace && \
- cd workspace && \
- git clone https://github.com/cloudfoundry/capi-release.git && \
- cd capi-release && \
- ./scripts/update
-
-RUN cd ~/workspace/capi-release/src/cloud_controller_ng && \
- bundle install
-
-# Allow tmux to create a tmux session when attaching
-RUN echo 'new-session -n $HOST' > ~/.tmux.conf
-
-CMD sleep infinity
diff --git a/init.vim b/init.vim
new file mode 100644
index 0000000..5bdd801
--- /dev/null
+++ b/init.vim
@@ -0,0 +1,203 @@
+autocmd VimEnter * if len(filter(values(g:plugs), '!isdirectory(v:val.dir)'))
+ \| PlugInstall --sync | source $MYVIMRC
+\| endif
+call plug#begin()
+
+" treesitter syntax highlighting
+Plug 'nvim-treesitter/nvim-treesitter'
+Plug 'neovim/nvim-lspconfig'
+" completion plugins
+Plug 'hrsh7th/cmp-nvim-lsp'
+Plug 'hrsh7th/cmp-buffer'
+Plug 'hrsh7th/cmp-path'
+Plug 'hrsh7th/cmp-cmdline'
+Plug 'hrsh7th/nvim-cmp'
+" For vsnip users.
+Plug 'hrsh7th/cmp-vsnip'
+Plug 'hrsh7th/vim-vsnip'
+" commenting
+Plug 'preservim/nerdcommenter'
+" fuzzy searching
+Plug 'nvim-lua/plenary.nvim'
+Plug 'nvim-telescope/telescope.nvim', { 'branch': '0.1.x' }
+" running test from vim
+" 'nvim-treesitter/nvim-treesitter' explicitly brought in
+" 'nvim-lua/plenary.nvim' brought in for fuzzy search
+Plug 'antoinemadec/FixCursorHold.nvim'
+Plug 'nvim-neotest/neotest'
+Plug 'olimorris/neotest-rspec'
+Plug 'nvim-neotest/neotest-go'
+"common quality of life improvements"
+Plug 'tpope/vim-rake'
+
+" for linting
+Plug 'dense-analysis/ale'
+
+call plug#end()
+
+" Standard Vim Config
+
+" enable commenting - see https://github.com/preservim/nerdcommenter for
+" keybindings
+filetype plugin on
+
+" set numbers on
+set nu
+
+set expandtab
+" set folding by syntax
+set foldmethod=syntax
+
+lua <e', vim.diagnostic.open_float, opts)
+vim.keymap.set('n', '[d', vim.diagnostic.goto_prev, opts)
+vim.keymap.set('n', ']d', vim.diagnostic.goto_next, opts)
+vim.keymap.set('n', 'q', vim.diagnostic.setloclist, opts)
+
+-- Use an on_attach function to only map the following keys
+-- after the language server attaches to the current buffer
+local on_attach = function(client, bufnr)
+ -- Enable completion triggered by
+ vim.api.nvim_buf_set_option(bufnr, 'omnifunc', 'v:lua.vim.lsp.omnifunc')
+
+ -- Mappings.
+ -- See `:help vim.lsp.*` for documentation on any of the below functions
+ local bufopts = { noremap=true, silent=true, buffer=bufnr }
+ vim.keymap.set('n', 'gD', vim.lsp.buf.declaration, bufopts)
+ vim.keymap.set('n', 'gd', vim.lsp.buf.definition, bufopts)
+ vim.keymap.set('n', 'K', vim.lsp.buf.hover, bufopts)
+ vim.keymap.set('n', 'gi', vim.lsp.buf.implementation, bufopts)
+ vim.keymap.set('n', '', vim.lsp.buf.signature_help, bufopts)
+ vim.keymap.set('n', 'wa', vim.lsp.buf.add_workspace_folder, bufopts)
+ vim.keymap.set('n', 'wr', vim.lsp.buf.remove_workspace_folder, bufopts)
+ vim.keymap.set('n', 'wl', function()
+ print(vim.inspect(vim.lsp.buf.list_workspace_folders()))
+ end, bufopts)
+ vim.keymap.set('n', 'D', vim.lsp.buf.type_definition, bufopts)
+ vim.keymap.set('n', 'rn', vim.lsp.buf.rename, bufopts)
+ vim.keymap.set('n', 'ca', vim.lsp.buf.code_action, bufopts)
+ vim.keymap.set('n', 'gr', vim.lsp.buf.references, bufopts)
+ vim.keymap.set('n', 'f', function() vim.lsp.buf.format { async = true } end, bufopts)
+end
+
+-- Set up nvim-cmp. - taken from https://github.com/hrsh7th/nvim-cmp
+ local cmp = require'cmp'
+
+ cmp.setup({
+ snippet = {
+ -- REQUIRED - you must specify a snippet engine
+ expand = function(args)
+ vim.fn["vsnip#anonymous"](args.body) -- For `vsnip`le users.
+ -- require('luasnip').lsp_expand(args.body) -- For `luasnip` users.
+ -- require('snippy').expand_snippet(args.body) -- For `snippy` users.
+ -- vim.fn["UltiSnips#Anon"](args.body) -- For `ultisnips` users.
+ end,
+ },
+ window = {
+ -- completion = cmp.config.window.bordered(),
+ -- documentation = cmp.config.window.bordered(),
+ },
+ mapping = cmp.mapping.preset.insert({
+ [''] = cmp.mapping.scroll_docs(-4),
+ [''] = cmp.mapping.scroll_docs(4),
+ [''] = cmp.mapping.complete(),
+ [''] = cmp.mapping.abort(),
+ [''] = cmp.mapping.confirm({ select = true }), -- Accept currently selected item. Set `select` to `false` to only confirm explicitly selected items.
+ }),
+ sources = cmp.config.sources({
+ { name = 'nvim_lsp' },
+ { name = 'vsnip' }, -- For vsnip users.
+ -- { name = 'luasnip' }, -- For luasnip users.
+ -- { name = 'ultisnips' }, -- For ultisnips users.
+ -- { name = 'snippy' }, -- For snippy users.
+ }, {
+ { name = 'buffer' },
+ })
+ })
+
+ -- Set configuration for specific filetype.
+ cmp.setup.filetype('gitcommit', {
+ sources = cmp.config.sources({
+ { name = 'cmp_git' }, -- You can specify the `cmp_git` source if you were installed it.
+ }, {
+ { name = 'buffer' },
+ })
+ })
+
+ -- Use buffer source for `/` and `?` (if you enabled `native_menu`, this won't work anymore).
+ cmp.setup.cmdline({ '/', '?' }, {
+ mapping = cmp.mapping.preset.cmdline(),
+ sources = {
+ { name = 'buffer' }
+ }
+ })
+
+ -- Use cmdline & path source for ':' (if you enabled `native_menu`, this won't work anymore).
+ cmp.setup.cmdline(':', {
+ mapping = cmp.mapping.preset.cmdline(),
+ sources = cmp.config.sources({
+ { name = 'path' }
+ }, {
+ { name = 'cmdline' }
+ })
+ })
+
+ -- Set up lspconfig.
+ local capabilities = require('cmp_nvim_lsp').default_capabilities()
+ -- Replace with each lsp server you've enabled.
+ --require('lspconfig')[''].setup {
+ -- capabilities = capabilities
+ --}
+require'lspconfig'.solargraph.setup{
+ on_attach = on_attach,
+ capabilities = capabilities
+}
+require'lspconfig'.gopls.setup{
+ on_attach = on_attach,
+ capabilities = capabilities
+}
+
+-- fuzzy search config from https://github.com/nvim-telescope/telescope.nvim
+local builtin = require('telescope.builtin')
+vim.keymap.set('n', 'ff', builtin.find_files, {})
+vim.keymap.set('n', 'fg', builtin.live_grep, {})
+vim.keymap.set('n', 'fb', builtin.buffers, {})
+vim.keymap.set('n', 'fh', builtin.help_tags, {})
+
+-- neotest (copied from https://github.com/nvim-neotest/neotest)
+require("neotest").setup({
+ adapters = {
+ require("neotest-rspec")({
+ rspec_cmd = function()
+ return vim.tbl_flatten({
+ "bundle",
+ "exec",
+ "rspec",
+ })
+ end
+ }),
+ require("neotest-go")
+ }
+})
+vim.keymap.set('n', 'tt', function()
+ require("neotest").output_panel.open()
+ require("neotest").run.run()
+end,{})
+vim.keymap.set('n', 'ts', require("neotest").summary.toggle, {})
+vim.keymap.set('n', 'to', require("neotest").output_panel.toggle, {})
+
+EOF
diff --git a/install-core.sh b/install-core.sh
deleted file mode 100755
index 03b6a7c..0000000
--- a/install-core.sh
+++ /dev/null
@@ -1,47 +0,0 @@
-#!/usr/bin/env bash
-
-##################################
-# Core CAPI workspace installation
-#
-# The current goals listed in README.md are stale. This script aims
-# to represent the most minimal, objective representation of what it
-# means to develop on CAPI projects.
-#
-# Ultimately, this means stripping away a lot of excess configuration
-# and utilities.
-##################################
-
-: "${FULL_CAPI_INSTALL:=false}"
-
-if [ "$(uname)" = "Darwin" ]; then
- IS_OSX=true
-else
- IS_OSX=false
- ./install-scripts/ubuntu.sh
-fi
-
-# install brew and its packages
-source ./install-scripts/brew.sh
-if [ "$IS_OSX" = true ]; then
- source ./install-scripts/xcode.sh
-else
- echo "Skipping Xcode installation for non OSX install"
-fi
-source ./install-scripts/brew-bundle.sh
-# ruby setup
-echo "Installing ruby"
-source ./install-scripts/ruby.sh
-source ./install-scripts/bundler.sh
-echo "Installing databases"
-# daemons to launch databases at startup
-source ./install-scripts/mysql.sh
-source ./install-scripts/postgres.sh
-
-# Golang setup
-source ./install-scripts/go.sh
-
-# Depends on existence of GOPATH, created earlier on
-source ./install-scripts/clone-repos.sh
-
-# Concourse "fly"
-source ./install-scripts/fly.sh
diff --git a/install-extras.sh b/install-extras.sh
deleted file mode 100755
index f32e421..0000000
--- a/install-extras.sh
+++ /dev/null
@@ -1,29 +0,0 @@
-#!/bin/bash
-
-set -e
-# bash-it / terminal
-source ./install-scripts/bash.sh
-source ./install-scripts/bash-it.sh
-source ./install-scripts/vim.sh
-source ./install-scripts/tmux.sh
-
-# git setup
-source ./install-scripts/git-config.sh
-source ./install-scripts/git-hooks.sh
-source ./install-scripts/git-author.sh
-
-# update cred-alert-cli
-source ./install-scripts/update-cred-alert.sh
-
-if [ "$(uname)" = "Darwin" ]; then
- echo "Installing OSX only scripts"
- source ./install-scripts/ide-prefs.sh
- source ./install-scripts/iterm2.sh
- source ./install-scripts/keyboard.sh
- source ./install-scripts/dock.sh
- source ./install-scripts/spectacle.sh
-else
- source ./install-scripts/git-author-linux.sh
-fi
-
-source ./install-scripts/misc.sh
diff --git a/install-scripts/brew-bundle.sh b/install-scripts/brew-bundle.sh
deleted file mode 100755
index bba0821..0000000
--- a/install-scripts/brew-bundle.sh
+++ /dev/null
@@ -1,32 +0,0 @@
-#!/bin/bash
-
-set -e
-
-
-core_capi_brewfile="${PWD}/Brewfile-core"
-extra_capi_brewfile="${PWD}/Brewfile-extra"
-
-osx_capi_brewfile="${PWD}/Brewfile-osx"
-
-echo "Installing from the Brewfile..."
-brew update || echo "brew update failed, but continuing"
-brew tap Homebrew/bundle
-if ! brew bundle check --file "$core_capi_brewfile"; then
- brew bundle --file "$core_capi_brewfile"
-fi
-
-if [ "$(uname)" = "Darwin" ]; then
- echo "Trying to install OSX forumalas"
-
- if ! brew bundle check --file "$osx_capi_brewfile"; then
- echo "Installing OSX specific Brew formulas"
- brew bundle --file "$osx_capi_brewfile"
- fi
-fi
-
-if [ "$FULL_CAPI_INSTALL" = true ]; then
- if ! brew bundle check --file "$extra_capi_brewfile"; then
- brew bundle --file "$extra_capi_brewfile"
- fi
-fi
-
diff --git a/install-scripts/brew.sh b/install-scripts/brew.sh
deleted file mode 100755
index 44eabe9..0000000
--- a/install-scripts/brew.sh
+++ /dev/null
@@ -1,23 +0,0 @@
-#!/bin/bash
-
-set -e
-
-# Install brew
-function install_brew {
- if ! which brew > /dev/null ; then
- echo "Installing Homebrew"
- /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" \
- > /home/pivotal/.profile
- eval $(/home/linuxbrew/.linuxbrew/bin/brew shellenv)
- fi
- fi
-}
-
-install_brew
diff --git a/install-scripts/bundler.sh b/install-scripts/bundler.sh
deleted file mode 100755
index f19a396..0000000
--- a/install-scripts/bundler.sh
+++ /dev/null
@@ -1,6 +0,0 @@
-#/bin/bash
-
-if [[ ! $(which bundle) ]] || [[ "$(bundle -v)" != "Bundler version 2.1.4" ]]; then
- echo "Installing bundler"
- gem install bundler -v 2.1.4
-fi
diff --git a/install-scripts/clone-repos.sh b/install-scripts/clone-repos.sh
index 55dd15f..39a107c 100755
--- a/install-scripts/clone-repos.sh
+++ b/install-scripts/clone-repos.sh
@@ -38,18 +38,31 @@ pushd ~/workspace > /dev/null
clone git@github.com:cloudfoundry/capi-dockerfiles.git ~/workspace/capi-dockerfiles
clone git@github.com:cloudfoundry/capi-ci-private.git ~/workspace/capi-ci-private
clone git@github.com:cloudfoundry/cf-deployment.git ~/workspace/cf-deployment
- clone git@github.com:cloudfoundry/cf-for-k8s.git ~/workspace/cf-for-k8s
clone git@github.com:cloudfoundry/cf-acceptance-tests.git ~/go/src/github.com/cloudfoundry/cf-acceptance-tests
clone git@github.com:cloudfoundry/sync-integration-tests.git ~/go/src/code.cloudfoundry.org/sync-integration-tests
clone git@github.com:cloudfoundry/capi-bara-tests.git ~/go/src/github.com/cloudfoundry/capi-bara-tests
+ clone git@github.com:pivotal-cf/lts-capi-release.git ~/workspace/lts-capi-release
+
clone git@github.com:cloudfoundry/cli.git ~/go/src/code.cloudfoundry.org/cli
+
+ clone git@github.com:pivotal-cf/devex-performance-suite.git ~/workspace/devex-performance-suite
+
+ clone git@github.com:pivotal-cf/pcf-scheduler-release.git ~/workspace/pcf-scheduler-release
+ clone git@github.com:pivotal-cf/p-scheduler.git ~/workspace/p-scheduler
+ clone git@github.com:pivotal-cf/scheduler-ci.git ~/workspace/scheduler-ci.git
disable_cred_hook ~/workspace/capi-env-pool
disable_cred_hook ~/workspace/capi-ci-private
+ clone git@github.com:pivotal-cf/notifications-ci.git ~/workspace/notifications-ci
+ clone git@github.com:pivotal-cf/notifications-ui.git ~/go/src/github.com/pivotal-cf/notifications-ui
+ clone git@github.com:cloudfoundry/notifications.git ~/go/src/github.com/cloudfoundry/notifications
+
# clone golang repos and symlink them into the GOPATH
ln -sf $HOME/go/src/github.com/cloudfoundry/cf-acceptance-tests ~/workspace/cf-acceptance-tests
ln -sfn $HOME/go/src/code.cloudfoundry.org/sync-integration-tests ~/workspace/sync-integration-tests
ln -sf $HOME/go/src/github.com/cloudfoundry/capi-bara-tests ~/workspace/capi-bara-tests
+ ln -sf $HOME/go/src/github.com/pivotal-cf/notifications-ui ~/workspace/notifications-ui
+ ln -sf $HOME/go/src/github.com/cloudfoundry/notifications ~/workspace/notifications
ln -sf $HOME/go/src/code.cloudfoundry.org/cli/ ~/workspace/cli
popd > /dev/null
diff --git a/install-scripts/dock.sh b/install-scripts/dock.sh
deleted file mode 100755
index 20d1f93..0000000
--- a/install-scripts/dock.sh
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/bash
-
-set +e
-defaults delete com.apple.dock persistent-apps >/dev/null 2>&1 || true
-killall Dock
-set -e
diff --git a/install-scripts/go.sh b/install-scripts/go.sh
deleted file mode 100755
index f892203..0000000
--- a/install-scripts/go.sh
+++ /dev/null
@@ -1,36 +0,0 @@
-#!/bin/bash
-set -e
-
-echo "Creating go/src and workspace..."
-go_src=${HOME}/go/src
-if [ ! -e ${go_src} ]; then
- mkdir -pv ${HOME}/go/src
-fi
-
-if [ -L ${go_src} ]; then
- echo "${go_src} exists, but is a symbolic link"
-fi
-
-GO_UTILS=(
- github.com/rakyll/hey
- github.com/maxbrunsfeld/counterfeiter
- github.com/onsi/ginkgo/ginkgo
- github.com/onsi/gomega
- github.com/XenoPhex/i18n4go/i18n4go
- github.com/sgreben/yeetgif/cmd/gif
-)
-
-echo "Running $(go version)"
-for gopkg in "${GO_UTILS[@]}"; do
- echo "Getting/Updating $gopkg"
- GOPATH=$HOME/go go get -u $gopkg
-done
-
-if [ "$(uname)" = "Linux" ]; then
- go env -w CC=gcc
-fi
-
-if ! which golangci-lint 2>&1 > /dev/null ; then
- curl -sfL https://install.goreleaser.com/github.com/golangci/golangci-lint.sh |
- sh -s -- -b $(go env GOPATH)/bin
-fi
diff --git a/install-scripts/ide-prefs.sh b/install-scripts/ide-prefs.sh
deleted file mode 100755
index af3cc2e..0000000
--- a/install-scripts/ide-prefs.sh
+++ /dev/null
@@ -1,12 +0,0 @@
-#!/bin/bash
-
-set -e
-
-if [ ! -d ~/workspace/pivotal_ide_prefs ]; then
- git clone https://github.com/pivotal/pivotal_ide_prefs.git ~/workspace/pivotal_ide_prefs
-fi
-
-pushd ~/workspace/pivotal_ide_prefs > /dev/null
- ./cli/bin/ide_prefs install --ide=rubymine
- ./cli/bin/ide_prefs install --ide=goland
-popd > /dev/null
diff --git a/install-scripts/install-smith.sh b/install-scripts/install-smith.sh
new file mode 100755
index 0000000..b8a7a46
--- /dev/null
+++ b/install-scripts/install-smith.sh
@@ -0,0 +1,17 @@
+#!/bin/bash
+set -ex
+
+echo "setting up toolsmiths creds..."
+pushd ~
+
+printf '%s\n' '#!/bin/bash' 'lpass show --password "Toolsmiths GCP Env Pool Creds"'> .smith-token-hook.sh
+chmod 777 .smith-token-hook.sh
+
+echo "installing smith cli..."
+cd workspace
+[ ! -e "smith" ] && git clone git@github.com:pivotal/smith.git
+cd smith && git pull
+go install
+popd
+
+
diff --git a/install-scripts/iterm2.sh b/install-scripts/iterm2.sh
deleted file mode 100755
index 1d7505a..0000000
--- a/install-scripts/iterm2.sh
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/bin/bash
-set -e
-
-current_directory=$PWD
-preferences_path="/Users/$(whoami)/Library/Preferences/com.googlecode.iterm2.plist"
-
-cp -f "${current_directory}/assets/com.googlecode.iterm2.plist" "${preferences_path}"
diff --git a/install-scripts/keyboard.sh b/install-scripts/keyboard.sh
deleted file mode 100755
index b583d0b..0000000
--- a/install-scripts/keyboard.sh
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/bash
-
-set -e
-
-defaults write -g KeyRepeat -int 2
-defaults write -g InitialKeyRepeat -int 15
diff --git a/install-scripts/misc.sh b/install-scripts/misc.sh
deleted file mode 100755
index 826f46f..0000000
--- a/install-scripts/misc.sh
+++ /dev/null
@@ -1,11 +0,0 @@
-#!/bin/bash
-
-set -e
-
-# Misc things can go here
-TARGET=/usr/local/bin
-SOURCE=$HOME/workspace/capi-release/scripts # notice this NOT capi-workspace, if you are adding content to this file (REFACTOR!)
-
-if [ ! -h $TARGET/fixcommitter ] && [ ! -f $TARGET/fixcommitter ]; then
- sudo ln -s $SOURCE/fixcommitter $TARGET/fixcommitter
-fi
diff --git a/install-scripts/mysql.sh b/install-scripts/mysql.sh
deleted file mode 100755
index 31d5468..0000000
--- a/install-scripts/mysql.sh
+++ /dev/null
@@ -1,45 +0,0 @@
-#!/bin/bash
-set -e
-
-MYSQL_PASSWORD="${MYSQL_PASSWORD:-password}"
-
-if [ "$(uname)" = "Darwin" ]; then
- brew services restart mysql
- # Is mysql running?
- for i in $(seq 60); do
- if mysql -uroot -p"$MYSQL_PASSWORD" -e 'show databases' > /dev/null 2>&1; then
- echo "MySQL is running"
- break
- else
- sleep 1
- fi
- done
-
- # Change the admin password
- if ! mysql -uroot -p"$MYSQL_PASSWORD" -e 'show databases' > /dev/null 2>&1; then
- echo "Setting MySQL admin password"
- mysqladmin -uroot password password
- else
- echo "MySQL admin password already set"
- fi
-else
- sudo service mysql start
- # Is mysql running?
- for i in $(seq 60); do
- if sudo service mysql status; then
- echo "MySQL is running"
- break
- else
- sleep 1
- fi
- done
-
- # Change the admin password
- if ! mysql -uroot -p"$MYSQL_PASSWORD" -e 'show databases' > /dev/null 2>&1; then
- echo "Setting MySQL admin password"
- sudo mysql -e "ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '$MYSQL_PASSWORD';"
- else
- echo "MySQL admin password already set"
- fi
-fi
-
diff --git a/install-scripts/postgres.sh b/install-scripts/postgres.sh
deleted file mode 100755
index a637ba5..0000000
--- a/install-scripts/postgres.sh
+++ /dev/null
@@ -1,32 +0,0 @@
-#!/bin/bash
-set -e
-
-if [ "$(uname)" = "Darwin" ]; then
-
- brew link postgresql@9.6 --force
- brew services start postgresql@9.6
-
- # Is postgres running?
- for i in $(seq 60); do
- if brew services list | grep postgresql | grep -q started; then
- break
- else
- sleep 1
- fi
- done
-
- # Change the admin password
- # How does this actually change the password?
- if ! psql -U postgres -c "select 1" &> /dev/null; then
- echo "Setting postgres user"
- createuser -U "$(whoami)" --superuser postgres
- else
- echo "postgres user already created"
- fi
-else
- sudo sed -i 's/peer/trust/' "$(find /etc/postgresql -name pg_hba.conf)"
- sudo sed -i 's/md5/trust/' "$(find /etc/postgresql -name pg_hba.conf)"
- sudo service postgresql restart
-fi
-
-
diff --git a/install-scripts/ruby.sh b/install-scripts/ruby.sh
deleted file mode 100755
index c5e4d39..0000000
--- a/install-scripts/ruby.sh
+++ /dev/null
@@ -1,18 +0,0 @@
-#!/bin/bash
-
-set -e
-
-source "/usr/local/share/chruby/chruby.sh"
-RUBY_VERSION="3.1.2"
-
-if [ ! -e ~/.rubies/ruby-${RUBY_VERSION} ]; then
- ruby-install --no-reinstall ruby ${RUBY_VERSION}
-fi
-
-echo "ruby-${RUBY_VERSION}" > ~/.ruby-version
-
-#seems like we need to source twice to get the new ruby?
-source "/usr/local/share/chruby/chruby.sh"
-
-chruby ${RUBY_VERSION}
-gem update --system
diff --git a/install-scripts/spectacle.sh b/install-scripts/spectacle.sh
deleted file mode 100755
index 7c75814..0000000
--- a/install-scripts/spectacle.sh
+++ /dev/null
@@ -1,9 +0,0 @@
-#!/bin/bash
-set -e
-
-desired_prefs="${HOME}/workspace/capi-workspace/assets/com.divisiblebyzero.Spectacle.plist"
-current_prefs="${HOME}/Library/Preferences/com.divisiblebyzero.Spectacle.plist"
-
-if ! diff "${desired_prefs}" "${current_prefs}"; then
- cp -f "${desired_prefs}" "${current_prefs}"
-fi
diff --git a/install-scripts/system-name.sh b/install-scripts/system-name.sh
deleted file mode 100755
index 3c988b3..0000000
--- a/install-scripts/system-name.sh
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/bin/bash
-
-echo "Setting system name to $1"
-sudo scutil --set ComputerName $1
-sudo scutil --set HostName $1
-sudo scutil --set LocalHostName $1
-sudo defaults write /Library/Preferences/SystemConfiguration/com.apple.smb.server NetBIOSName -string $1
diff --git a/install-scripts/tmux.sh b/install-scripts/tmux.sh
deleted file mode 100755
index a149531..0000000
--- a/install-scripts/tmux.sh
+++ /dev/null
@@ -1,15 +0,0 @@
-#!/bin/bash
-set -e
-
-echo "Installing (Luan's) tmux configuration"
-set +e
- test -f "${HOME}/.tmux.conf" && mv -f "${HOME}/.tmux.conf" "${HOME}/.tmux.conf.bak"
- test -d "${HOME}/.tmux" && rm -rf "${HOME}/.tmux.bak" && mv "${HOME}/.tmux" "${HOME}/.tmux.bak"
- test -d "${HOME}/.config/tmux" && rm -rf "${HOME}/.config/tmux.bak" && mv -f "${HOME}/.config/tmux" "${HOME}/.config/tmux.bak"
-set -e
-
-### luan's tmux install
-git clone https://github.com/luan/tmuxfiles.git "${HOME}/.config/tmux"
-"${HOME}/.config/tmux/install"
-### end of tmux install
-
diff --git a/install-scripts/ubuntu.sh b/install-scripts/ubuntu.sh
deleted file mode 100755
index 89b42a3..0000000
--- a/install-scripts/ubuntu.sh
+++ /dev/null
@@ -1,94 +0,0 @@
-#!/bin/bash
-
-set -ex
-
-echo "Updating apt packages"
-sudo apt update
-echo "Upgrading Linux distribution"
-sudo apt dist-upgrade -y
-
-sudo apt install -y \
- build-essential \
- docker.io \
- libmysqlclient-dev \
- libpq-dev \
- libpq5 \
- libxslt-dev \
- mysql-server \
- postgresql \
- python-pip \
- python-setuptools
-
-curl -fsSL https://deb.nodesource.com/setup_16.x | sudo -E bash - &&\
- sudo apt-get install -y nodejs nginx && sudo npm install yarn -g
-
-# fun dependencies
-sudo apt install -y \
- cowsay \
- figlet \
- sl
-
-# install linux only dependencies here
-# Install lastpass-cli from source (the Ubuntu package is broken)
-echo "Installing lastpass-cli from source"
-if [[ ! -d ~/workspace/lastpass-cli ]]; then
- pushd ~/workspace
- git clone https://github.com/lastpass/lastpass-cli.git
- popd
-fi
-
-# linuxbrew doesn't install git stuff where we expect it to
-sudo ln -sf /home/linuxbrew/.linuxbrew/share/git-core /usr/local/share/git-core
-
-pushd /tmp/
- if ! command -v nvim &> /dev/null
- then
- curl -LO https://github.com/neovim/neovim/releases/download/v0.8.0/nvim-linux64.deb
- sudo dpkg -i nvim-linux64.deb
- fi
-
- if ! command -v fd &> /dev/null
- then
- curl -LO https://github.com/sharkdp/fd/releases/download/v8.2.1/fd_8.2.1_amd64.deb
- sudo dpkg -i fd_8.2.1_amd64.deb
- fi
-
- if ! command -v ripgrep &> /dev/null
- then
- curl -LO https://github.com/BurntSushi/ripgrep/releases/download/12.1.1/ripgrep_12.1.1_amd64.deb
- sudo dpkg -i ripgrep_12.1.1_amd64.deb
- fi
-
-
- if ! command -v ruby-install &>/dev/null
- then
- wget -O ruby-install-0.8.1.tar.gz https://github.com/postmodern/ruby-install/archive/v0.8.1.tar.gz
- tar -xzvf ruby-install-0.8.1.tar.gz
- cd ruby-install-0.8.1/
- sudo make install
- fi
-
-
- wget http://es.archive.ubuntu.com/ubuntu/pool/main/libf/libffi/libffi7_3.3-4_amd64.deb
- sudo dpkg -i libffi7_3.3-4_amd64.deb
-
-
- wget -O chruby-0.3.9.tar.gz https://github.com/postmodern/chruby/archive/v0.3.9.tar.gz
- tar -xzvf chruby-0.3.9.tar.gz
- cd chruby-0.3.9/
- sudo make install
- cd ..
- rm -r chruby-0.3.9/
-popd
-
-
-sudo apt install -y openssl libcurl4-openssl-dev libxml2 libssl-dev libxml2-dev pinentry-curses xclip cmake build-essential pkg-config lastpass-cli
-
-
-
-
-# .config directory is required by lastpass-cli
-mkdir -p "${HOME}/.config"
-mkdir -p "${HOME}/.local/share/lpass"
-#sudo apt install universal-ctags
-
diff --git a/install-scripts/vim.sh b/install-scripts/vim.sh
deleted file mode 100755
index e127a96..0000000
--- a/install-scripts/vim.sh
+++ /dev/null
@@ -1,20 +0,0 @@
-#!/bin/bash
-set -e
-
-grep -q "github.com/luan/nvim" ~/.config/nvim/.git/config ||
- ((chmod -f -R +w $HOME/.vim/gopath/pkg/mod/golang.org/x || true) ; rm -rf ${HOME}/.config/nvim ${HOME}/.vim* ${HOME}/.local/share/nvim &&
- git clone https://github.com/luan/nvim ~/.config/nvim)
-
-echo "Install python-client for neovim..."
-python3 -m pip install --user --upgrade pynvim
-
-echo "Add yamllint for neomake..."
-pip3 install -q yamllint
-
-mkdir -p ~/.config/nvim/user
-pushd ~/.config/nvim/user
- ln -sf ~/workspace/capi-workspace/assets/*.vim .
-popd
-
-nvim +UpdateRemotePlugins +qall
-nvim +GoInstallBinaries +qall
diff --git a/install-scripts/xcode.sh b/install-scripts/xcode.sh
deleted file mode 100755
index aec87c2..0000000
--- a/install-scripts/xcode.sh
+++ /dev/null
@@ -1,17 +0,0 @@
-#!/bin/bash
-
-set -e
-
-# Install x-code and accept license manually
-# We basically do this solely to get git
-function install_xcode {
- if [[ ! $(xcode-select -p)=='/Library/Developer/CommandLineTools' ]]; then
- echo "Installing XCode developer tools"
- sudo xcodebuild -license
- xcode-select --install
- else
- echo "XCode detected, skipping install"
- fi
-}
-
-install_xcode
diff --git a/install.sh b/install.sh
deleted file mode 100755
index 8fb03d7..0000000
--- a/install.sh
+++ /dev/null
@@ -1,29 +0,0 @@
-#!/usr/bin/env bash
-
-set -e
-
-: "${FULL_CAPI_INSTALL:=true}"
-
-function install {
-
-cd "$(dirname "$0")"
-
-# first switch remote to https so that we can pull without keys in
-git remote set-url origin https://github.com/cloudfoundry/capi-workspace
-
-# make sure we're up to date
-git pull
-
-# restore remote to ssh
-git remote set-url origin git@github.com:cloudfoundry/capi-workspace
-
-source ./install-core.sh
-source ./install-extras.sh
-
-# Add gem dependencies for CAPI-Workspace
-bundle
-
-echo "Please set your computer name using \"./install-scripts/system-name.sh \" if you have not already. Thanks!"
-}
-
-install
diff --git a/lib/claim-bosh-lite.bash b/lib/claim-bosh-lite.bash
index ac0be7f..18908bd 100755
--- a/lib/claim-bosh-lite.bash
+++ b/lib/claim-bosh-lite.bash
@@ -1,71 +1,12 @@
env_pool="$HOME/workspace/capi-env-pool"
-readonly LASTPASS_API_KEY_LABEL='tracker_api_token'
-
-# TODO: have this script choose Tracker ID like our "story" script
-project_id=1945579;
-
-function fetch_tracker_api_token() {
- set +x
- API_TOKEN=$(lpass show "$LASTPASS_API_KEY_LABEL" --notes 2> /dev/null)
- return $?
-}
-
-function get_stories() {
- if [ -z "$API_TOKEN" ]; then
- story_json="$(curl -s -H "Content-Type: application/json" \
- "https://www.pivotaltracker.com/services/v5/projects/$project_id/stories?with_state=started" | tr '**' ' ')"
- else
- story_json="$(curl -s -H "Content-Type: application/json" -H "X-TrackerToken: $API_TOKEN" \
- "https://www.pivotaltracker.com/services/v5/projects/$project_id/stories?with_state=started" | tr '**' ' ')"
- fi
- echo "$story_json" | tr '\n' ' ' | jq -r '.[] | "#\(.id) \(.name)"'
- echo "No story"
-}
-
-function story_selector() {
- stories="$(get_stories | sed 's/#//g')"
-
- PS3="Select a story or 'q' to quit: "
- OLD_IFS=$IFS
- IFS=$'\n'
- select story in $stories; do
- echo $story
- break
- done
- IFS=$OLD_IFS
-}
function claim_bosh_lite() {
- git_authors=$(git config --get git-together.active)
+ git_authors=$(git duet)
if [ -z "$git_authors" ]; then
echo "please set your git authors before running this!"
- echo "maybe run 'story' while you're at it."
- return
- fi
-
- fetch_tracker_api_token
- if [ -z "$API_TOKEN" ]; then
- echo "Could not find tracker API token in your lastpass vault as a note under \"$LASTPASS_API_KEY_LABEL\""
- echo -e 'Attempting to pull stories without token \n'
- fi
-
- if [ -n "$1" ] ; then
- STORY=$1
- shift
- else
- echo "Please select a story for your bosh lite"
-
- STORY=$(story_selector)
- fi
-
- if [ -z "${STORY}" ]; then
- echo "Canceling bosh lite claim. Goodbye."
return
fi
- STORY=$(echo $STORY | cut -c 1-20)...
- echo Selected story \"${STORY}\"
-
env_dir=$(
set -e
diff --git a/lib/unclaim-bosh-lite.bash b/lib/unclaim-bosh-lite.bash
index ae4ba20..1a8c731 100755
--- a/lib/unclaim-bosh-lite.bash
+++ b/lib/unclaim-bosh-lite.bash
@@ -1,5 +1,5 @@
function unclaim_bosh_lite() {
- git_authors=$(git config --get git-together.active)
+ git_authors=$(git duet)
if [ -z "$git_authors" ]; then
echo "please set your git authors before running this!"
return
diff --git a/pipeline.yml b/pipeline.yml
new file mode 100644
index 0000000..bc788ac
--- /dev/null
+++ b/pipeline.yml
@@ -0,0 +1,77 @@
+resources:
+ - name: capi-workspace
+ type: git
+ source:
+ branch: new-workstations
+ uri: https://github.com/cloudfoundry/capi-workspace.git
+ - name: capi-env-pool
+ type: git
+ source:
+ branch: main
+ uri: git@github.com:pivotal-cf/capi-env-pool.git
+ private_key: ((pcf_bosh_lite_pool_deploy_key))
+ - name: weekly-sunday
+ type: time
+ source:
+ location: America/Los_Angeles
+ start: 23:00
+ stop: 23:30
+ days: [Sunday]
+
+jobs:
+ - name: create-latest-workstation
+ serial: true
+ plan:
+ - in_parallel:
+ - get: weekly-sunday
+ trigger: true
+ - get: capi-workspace
+ trigger: true
+ - get: capi-env-pool
+ - task: create-workstation-image
+ config:
+ platform: linux
+ image_resource:
+ type: registry-image
+ source:
+ repository: google/cloud-sdk
+ params:
+ GCP_SERVICE_ACCOUNT_KEY: ((arya_gcp_json_key))
+ inputs:
+ - name: capi-workspace
+ - name: capi-env-pool
+ run:
+ path: bash
+ args:
+ - -c
+ - |
+ set -e
+ gcloud auth activate-service-account --key-file=<(echo $GCP_SERVICE_ACCOUNT_KEY)
+ echo "Creating Latest VM"
+ gcloud compute instances create capi-ws-vm-latest --zone "us-central1-a" --project "cf-capi-arya" --boot-disk-size=50GB --boot-disk-type=pd-balanced --machine-type=e2-standard-8 --tags=workstations --image-family=ubuntu-2004-lts --image-project=ubuntu-os-cloud
+ echo "wait 30 for instance to be up"
+ sleep 30
+ echo "copy capi-workspace over"
+ gcloud compute ssh --zone "us-central1-a" "pivotal@capi-ws-vm-latest" --project "cf-capi-arya" -q --command 'mkdir -p ~/workspace'
+ gcloud compute scp --recurse capi-workspace/ --zone "us-central1-a" "pivotal@capi-ws-vm-latest:~/workspace" --project "cf-capi-arya" -q
+ gcloud compute scp --recurse capi-env-pool/ --zone "us-central1-a" "pivotal@capi-ws-vm-latest:~/workspace" --project "cf-capi-arya" -q
+ echo "run set-up-new-machine.sh on workstation"
+ gcloud compute ssh --zone "us-central1-a" "pivotal@capi-ws-vm-latest" --project "cf-capi-arya" -q --command '~/workspace/capi-workspace/set-up-new-machine.sh' --ssh-flag="-A"
+
+ # if we don't wait, the last written file in the set up new machine script won't be written correctly when we make the machine image
+ sleep 30
+
+ gcloud compute machine-images describe capi-ws-image-latest --project "cf-capi-arya"
+ testVal=$?
+ if [[ $testVal -eq 0 ]]; then
+ echo "Delete old capi-ws-image-latest"
+ gcloud compute machine-images delete capi-ws-image-latest --project "cf-capi-arya" -q
+ fi
+
+ echo "Create source image from vm - 'capi-ws-image-latest' "
+ gcloud compute machine-images create capi-ws-image-latest --project "cf-capi-arya" --source-instance "capi-ws-vm-latest" --source-instance-zone "us-central1-a"
+ echo "Let's delete the source vm instance - use base image to create a workstation"
+ gcloud compute instances delete capi-ws-vm-latest --zone "us-central1-a" --project "cf-capi-arya" -q
+ echo "you should probably check to see if this worked now, it probably did!"
+ echo "try creating your own workstation vm from this image with: gcloud compute instances create capi-ws-yourname --zone 'us-central1-a' --source-machine-image 'capi-ws-image-latest'"
+ echo "connect with, gcloud compute ssh --zone 'us-central1-a' 'pivotal@capi-ws-yourname' --project 'cf-capi-arya' --ssh-flag='-A'"
diff --git a/set-up-new-machine.sh b/set-up-new-machine.sh
new file mode 100755
index 0000000..1b6028b
--- /dev/null
+++ b/set-up-new-machine.sh
@@ -0,0 +1,261 @@
+#!/bin/bash
+set -xe
+
+function clone {
+ local repo=$1
+ local destination=$2
+
+ if [ ! -d $destination ]; then
+ echo "Cloning $destination"
+ git clone $repo $destination
+ else
+ echo "$destination already present, skipping"
+ fi
+}
+
+sudo ~/workspace/capi-workspace/system_install.sh
+
+mkdir -p ~/.config
+# add github.com to list of known hosts
+ssh-keyscan github.com >> ~/.ssh/known_hosts
+
+# Install kubectl
+sudo curl -L -o /usr/local/bin/kubectl "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"
+sudo chmod +x /usr/local/bin/kubectl
+
+# make workspace
+mkdir -p ~/workspace
+
+# clone things into workspace
+# Need to clone with https because we don't have a Github account with SSH key available at this point
+cd ~/workspace
+git config --global url."git@github.com:".pushInsteadOf https://github.com/
+git config --global core.editor "nvim"
+
+if [ ! -d ~/workspace/capi-release ]; then
+ git clone https://github.com/cloudfoundry/capi-release --branch develop
+fi
+
+pushd capi-release
+ ./scripts/update
+popd
+
+clone https://github.com/cloudfoundry/capi-ci ~/workspace/capi-ci
+clone https://github.com/cloudfoundry/cf-acceptance-tests ~/workspace/cf-acceptance-tests
+clone https://github.com/cloudfoundry/capi-bara-tests ~/workspace/capi-bara-tests
+clone https://github.com/cloudfoundry/sync-integration-tests ~/workspace/sync-integration-tests
+clone https://github.com/cloudfoundry/capi-dockerfiles ~/workspace/capi-dockerfiles
+clone https://github.com/cloudfoundry/stack-auditor ~/workspace/stack-auditor
+
+
+# set correct branch for capi env pools
+pushd capi-env-pool
+ git switch main
+popd
+
+# tmux setup with luan
+clone https://github.com/luan/tmuxfiles.git ~/workspace/tmuxfiles
+pushd ~/workspace/tmuxfiles
+./install
+popd
+
+cat <> $HOME/.tmux.conf.local
+unbind-key C-Space
+unbind-key Enter
+
+# TODO: if the current tab runs SSH with nested tmux, second C-Space send conrol key to the nested tmux
+bind-key C-Space run "tmux last-pane || tmux last-window || tmux display 'No last pane or window'"
+bind-key Enter run "tmux last-window || tmux last-pane || tmux display 'No last window or pane'"
+
+set -g base-index 1
+setw -g pane-base-index 1
+set -sg escape-time 10
+
+bind '"' split-window -c "#{pane_current_path}"
+bind % split-window -h -c "#{pane_current_path}"
+bind c new-window -c "#{pane_current_path}"
+
+set-environment -g 'SSH_AUTH_SOCK' ~/.ssh/ssh_auth_sock
+EOT
+
+# install nvim
+if ! command -v nvim &> /dev/null; then
+ wget https://github.com/neovim/neovim/releases/download/stable/nvim.appimage
+ chmod u+x nvim.appimage
+ ./nvim.appimage --appimage-extract
+ sudo mv squashfs-root /
+ sudo ln -s /squashfs-root/AppRun /usr/bin/nvim
+ rm nvim.appimage
+ nvim -v
+fi
+# up/down arrow search history
+if [ ! -L ~/.inputrc ]; then
+ ln -s ~/workspace/capi-workspace/.inputrc ~/.inputrc
+fi
+
+# nvim plugins
+sh -c 'curl -fLo "${XDG_DATA_HOME:-$HOME/.local/share}"/nvim/site/autoload/plug.vim --create-dirs https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim'
+mkdir -p ~/.config/nvim
+if [ ! -L ~/.config/nvim/init.vim ]; then
+ ln -s ~/workspace/capi-workspace/init.vim ~/.config/nvim/init.vim
+fi
+
+# link basic .vimrc
+if [ ! -L ~/.vimrc ]; then
+ ln -s ~/workspace/capi-workspace/vimrc ~/.vimrc
+fi
+
+
+# setup mysql
+sudo service mysql start
+sudo service mysql status # might need loop here depending how long status takes
+set +e
+mysql -u root --password=password -e "show databases;"
+MYSQL_RETURN=$?
+set -e
+if [ $MYSQL_RETURN != 0 ]; then
+ sudo mysql -e "ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';"
+fi
+
+# setup postgres
+sudo sed -i 's/peer/trust/' "$(find /etc/postgresql -name pg_hba.conf)"
+sudo sed -i 's/scram-sha-256/trust/' "$(find /etc/postgresql -name pg_hba.conf)"
+sudo sed -i 's/md5/trust/' "$(find /etc/postgresql -name pg_hba.conf)"
+sudo service postgresql restart
+
+# install golang to get latest
+wget https://go.dev/dl/go1.21.7.linux-amd64.tar.gz
+sudo tar -C /usr/local -xzf go1.21.7.linux-amd64.tar.gz
+# set go and cf cli and ~/go/bin on path
+cat >> ~/.$(basename $SHELL)rc <> ~/.$(basename $SHELL)rc < ~/.ruby-version
+
+# install bosh cli
+wget https://github.com/cloudfoundry/bosh-cli/releases/download/v7.4.0/bosh-cli-7.4.0-linux-amd64
+chmod +x bosh-cli-*-linux-amd64
+sudo mv bosh-cli-*-linux-amd64 /usr/bin/bosh
+bosh --version
+
+# install credhub cli
+mkdir -p /tmp/credhub
+cd /tmp/credhub
+wget https://github.com/cloudfoundry/credhub-cli/releases/download/2.9.21/credhub-linux-amd64-2.9.21.tgz
+tar xf credhub*tgz
+chmod +x credhub
+sudo mv credhub /usr/bin
+cd ..
+rm -rf /tmp/credhub
+credhub --version
+
+# install om cli
+wget https://github.com/pivotal-cf/om/releases/download/7.9.0/om-linux-amd64-7.9.0
+chmod +x om*
+sudo mv om* /usr/bin/om
+om --version
+
+# install bbl
+wget https://github.com/cloudfoundry/bosh-bootloader/releases/download/v9.0.12/bbl-v9.0.12_linux_amd64
+chmod +x bbl*
+sudo mv bbl* /usr/bin/bbl
+bbl --version
+
+# install git-duet
+wget https://github.com/git-duet/git-duet/releases/download/0.9.0/linux_amd64.tar.gz
+sudo tar -xvf linux_amd64.tar.gz -C /usr/local/bin/
+
+# install dir-env
+sudo apt install direnv
+
+# install fly if not already installed
+if ! which fly > /dev/null ; then
+ destination=/usr/local/bin/fly
+ sudo wget "https://ci.capi.land/api/v1/cli?arch=amd64&platform=linux" -O $destination
+ sudo chmod +x $destination
+fi
+
+# set up cf cli
+clone https://github.com/cloudfoundry/cli.git ~/workspace/cli
+cd ~/workspace/cli
+git switch v8
+PATH="$PATH:$HOME/workspace/cli/out:/usr/local/go/bin:$HOME/go/bin"
+make build
+cf --version
+
+# install gopls for nvim
+go install golang.org/x/tools/gopls@latest
+
+# add git authors file
+if [ ! -L ~/.git-authors ]; then
+ ln -s ~/workspace/capi-workspace/assets/git-authors ~/.git-authors
+fi
+
+# environment variables and helper bash functions (deploy only new capi, claim bosh lite) manually alias roundup_bosh_lites cause don't know if we want all of lib/misc.bash yet
+cat >> ~/.$(basename $SHELL)rc < in front of a line inserts blanks according to 'shiftwidth'.
+" 'tabstop' is used in other places. A will delete a 'shiftwidth' worth of
+" space at the start of the line.
+set smarttab
+" Copy indent from current line when starting a new line (typing in Insert
+" mode or when using the "o" or "O" command)
+set autoindent
+" Automatically inserts one extra level of indentation in some cases, and works
+" for C-like files
+set smartindent
+
+set ruler
+