cloud_controller_ng icon indicating copy to clipboard operation
cloud_controller_ng copied to clipboard

Codespaces

Open FloThinksPi opened this issue 3 years ago • 1 comments

Thanks for contributing to cloud_controller_ng. To speed up the process of reviewing your pull request please provide us with:

  • A short explanation of the proposed change:

With this change one can use githubs codespaces feature that will create a development environment on a vm. A click in the Github UI will create an instance. Its free for all(single instance) except cooperations.

image
  • An explanation of the use cases your change solves

With a simple click on now ends up with a fully functional development environment. This includes:

  • UAA Instance
  • Minio S3 Blobstore
  • Nginx Reverse Proxy for package uploads
  • Mariadb and Postgresdb
  • Run Configurations for VSCode and Intellij/Rubymine to start right away
  • Tunneling SSH from the container to localhost to be able to connect with Intellij/Rubymines new remote ssh feature

At startup the DBs are set up, migrated and seeded and also all bundle packages get installed. The setup of a codespaces takes rughly 5 minutes. Once a codespace is stopped it wont get recreated at startup so startup times are nearly instant. Also changes to the environment are persisted between restarts. Only if one choses to throw away a codespace and recreate it, thats when the build times come on top of starting times and any temporary change to the environment is gone.

We will use this as our main development environment for CC. In case it gets unmaintained its a simple delete of a folder that is just used by the github codespaces functionality.

Also this enables super simple start on developing in CC for most endpoints (excluding diego and loggregator functionality for now).

  • [x] I have reviewed the contributing guide

  • [x] I have viewed, signed, and submitted the Contributor License Agreement

  • [ ] I have made this pull request to the main branch

  • [ ] I have run all the unit tests using bundle exec rake

  • [ ] I have run CF Acceptance Tests

FloThinksPi avatar Jul 25 '22 08:07 FloThinksPi

@FloThinksPi - Rebasing to the current main branch fixes mysql:8.0 tests.

philippthun avatar Jul 28 '22 15:07 philippthun