-
-
Notifications
You must be signed in to change notification settings - Fork 216
Create a basic CLI for deployment #699
Description
We need to create a CLI that can be executed in Windows, Mac, and Linux terminals to deploy various PyGrid components to various cloud providers. Your CLI should almost certainly be developed using Click. In total, our initial support should cover:
- Deployment of Node to AWS
- Deployment of Node to GCP
- Deployment of Node to Azure
- Deployment of Network to AWS
- Deployment of Network to GCP
- Deployment of Network to Azure
Workers will only be deployed once a Node is deployed successfully, so we don't need to worry about supporting this in the CLI. The CLI should run like such:
pygrid deploy node --provider aws
pygrid deploy network --provider azure
etc.
Upon running these commands, you should be prompted for more information, including (but not limited to):
- Deployment keys (id and secret)
- Will you need to support Websockets?
- If yes and provider is AWS, then ask "Do you want to deploy serverless?"
- If yes and provider isn't AWS then it's a serverfull deployment
- If no, then ask "Do you want to deploy serverless?"
In future versions of the CLI, this should also deploy PyGrid Admin to static file hosting (AWS S3, or equivalent) and then open that web application up in the browser automatically. This will invite the user to set up their Node or Network with a root admin user, etc.