Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Heroku integration #187

Closed
nirs opened this issue Oct 19, 2017 · 3 comments
Closed

Heroku integration #187

nirs opened this issue Oct 19, 2017 · 3 comments

Comments

@nirs
Copy link
Member

nirs commented Oct 19, 2017

Beni suggests in #175 that it will be easier to integrate with Heroku:
https://devcenter.heroku.com/articles/heroku-button

The goal of this integration is allow anyone to deploy the rose-server on Heroku with few clicks.

The expected flow:

  1. User clicks a deploy-on-heroku button in the project README
  2. System open Heroku deploy page, with most parameters already filled up
  3. User enter only the details that cannot be automated, such as application name (e.g. my-rose-server)
  4. User confirm the deployment on Heroku
  5. Application is deployed on Heruku, ready to accept connections from rose-client(s) on my-rose-server.herokuapp.com:8888, and showing the game UI at http://my-rose-server.herokuapp.com:8880/

Deployment details:

  • Install the rose/common and rose/server packages
    • rose/client is not needed, but it is ok to install it for simplicity
  • install the rose-server script
  • When the application starts, rose-server should run
  • When the application stops, rose-server process should terminate
  • The Heroku instance should allow incoming traffic to ports 8888 (client port) and 8880 (web port)

Testing the deployment:

  1. Open http://my-rose-server.herokuapp.com:8880/ - should show an empty game
  2. Create driver.py module with the server address:
$ cat driver.py
from rose.common import obstacles, actions

server_address = "my-rose-server.herokuapp.com"
driver_name = "My Driver"

def drive(world):
    return actions.NONE
  1. Connect client to server:
./rose-client driver.py
  1. Start the game in the web UI

The game should run, showing the connected client.

I'm not sure all this is possible, will needs some research.

@mayukh18
Copy link

Taking this up.

@nirs
Copy link
Member Author

nirs commented Oct 19, 2017

Thanks @mayukh18!

@shiramax
Copy link
Collaborator

I'm Closing this issue because it's open too long and we don't have the need or the capacity to work on it.
please feel free to re-open in if you feel otherwise.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants