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

Make the software more "DevOps-like" #10

Open
cosmosquark opened this issue Jul 3, 2021 · 1 comment
Open

Make the software more "DevOps-like" #10

cosmosquark opened this issue Jul 3, 2021 · 1 comment

Comments

@cosmosquark
Copy link
Collaborator

Think the main change I would like to consider

  1. use YAML for the config rather than JSON
  2. update the command syntax

With 1) YAML is becoming more commonly used in devops. With the right configuration and with some upgrades to Python recently (type checking by default). I think we can do some cool things with that. But also YAML is commonly used these days in DevOps (e.g kubenetes, terraform

with 2). I currently our command syntax is

alphagsm action

When from my experience with devops (e.g kubenetes and docker). Something like

Kubectl: alphagsm action resource [options]
Docker: alphagsm action [options]

In which case the is the thing you would be acting on. Analogous AlphaGSM commands in that format would be

alphagsm get server minecraft_vanilla
alphagsm run server minecraft_vanilla

or

alphagsm get minecraft_vanilla
alphagsm run minecraft_vanilla

Thoughts?

In theory, it would be nice to be able to set something up from a YAML template.

e.g

alphagsm install config <mytemplate_location.file>
alphagsm run server <my_newly_installed_server

Which is making me lean more towards the kubectl like setuip

@staircase27
Copy link
Member

  1. The files you are referring to shouldn't be considered user editable so what language they are in is irrelevant to the user. I could make them binary if needed. All changes are performed using alphagsm's interfaces.
  2. The available commands depends on the server type as such you need to have parsed the server's name and loaded it (which may involve changing users) before you can attempt to parse the rest of the command line. That is why the order is as it is.

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

2 participants