-
-
Notifications
You must be signed in to change notification settings - Fork 32
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
[Request] Docker/Kubernetes API #186
Comments
Just some notes while I continue investigating this, but I may bump this to 1.7.X or 1.8.0. https://www.npmjs.com/package/node-docker-api Include some config options, such as Do we need our own Docker image for CS? Maybe research to find one that has a simple CS:GO server with Sourcemod/MM, get5, SteamWorks, and G5WS installed. Flow should maybe go something like this:
Just some comments for now while I work through this. |
maybe extending the watchdog of this project? https://github.com/kinsi55/docker_SRCDockS I used this with get5 and g5stack to run four servers taking the space of one. |
Hmmm that's interesting - but does it allow container orchestration/expose additional API calls to setup and tear down servers at will? The main thing I was looking for when writing this ticket was an external system (such as K8s, or docker swarm) that could listen to an end point and spin up a server and provide back an IP/port once it's been initialized. Thanks! |
I assume the watchdog script can be extended to provide info about the spun-up containers. Currently, it only provides the A2S_INFO endpoint for the server health check. |
Is your feature request related to a problem? Please describe.
Right now there is a hard requirement that a user should have their own servers set up in order to use the application. Instead, we should try and attempt to make the API as encompassing as possible, and one way of doing that is to create Game Servers on the fly. There's a few ways that this can be done (through options like DatHost), but I think having an app create local images may be better for tournament organizers, especially if we're running from a LAN.
Describe the solution you'd like
Either an implementation of Docker or Kubernets API calls that will allow us to create images/pods of CS:GO servers with Get5 and G5WS integrated. Once a user submits a match with its given values, it will check if the Docker/Kubernetes server will be available and spins up a server on the fly (maybe for public use have a
docker
flag on the user to see if they have permissions to create images), and once the match is complete it will check to see the database value (gameservers should have this flag as well) to see if it's a Docker server, and shut it down as necessary to avoid excess resource usage (barring if it's uploading demos or not).Describe alternatives you've considered
A good stop-gap would be to implement DatHost API calls as well, since it's a service that's already up and running, and it would require the owner of a webpanel to have funding available.
The text was updated successfully, but these errors were encountered: