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 < 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 +