updated readme
This commit is contained in:
parent
1f64806538
commit
a702d4b776
114
README.md
114
README.md
@ -1,59 +1,111 @@
|
||||
# Server Manager Kubernetes Operator
|
||||
|
||||
Implements Server Manager capabilities (including web-ui/auth) in kubernetes
|
||||
This is the code for the back-end used in [ServerManager](https://games.acooldomain.co).
|
||||
|
||||
## Config Example
|
||||
The server-manager is designed with modularity in mind and is built from a few major parts.
|
||||
|
||||
1. Users
|
||||
2. Servers Metadata
|
||||
3. Servers Authorization Data
|
||||
4. Instance Manager
|
||||
|
||||
The backend interfaces with these parts separately however it will share connections where possible to reduce duplicate connections.
|
||||
|
||||
# Modules
|
||||
|
||||
## User Management
|
||||
|
||||
The User management module has several responsibilities and should be split into modules in the future.
|
||||
|
||||
* Fetch and save data about existing users
|
||||
* Global Permissions
|
||||
* Nickname
|
||||
* Contact Email
|
||||
|
||||
* Authenticate a user
|
||||
|
||||
Currently the User Management is only implemented with MongoDB as the underlying database
|
||||
|
||||
## Servers Metadata
|
||||
|
||||
The Servers Metadata holds data about existing servers such as:
|
||||
|
||||
* Default command to run when ran without arguments
|
||||
* Default ports to open in case no ports are opened
|
||||
* Server nickname
|
||||
* Data on the image the server uses
|
||||
|
||||
Currently only implemented with MongoDB
|
||||
|
||||
## Servers Authorization
|
||||
|
||||
The Servers Authorization Module is responsible for server-specific permissions.
|
||||
|
||||
Currently only implemented with MongoDB
|
||||
|
||||
## Instance Manager
|
||||
|
||||
The Instance Manager is responsible for running the servers, and supplying interactive shell to the console of the server.
|
||||
|
||||
Currently implemented in Docker, and Kubernetes (using the [ServerManager Operator](https://git.acooldomain.co/server-manager/kubernetes-operator))
|
||||
|
||||
## Configuration Example
|
||||
|
||||
### Yaml Config format
|
||||
|
||||
```yaml
|
||||
email:
|
||||
from_email: ""
|
||||
username: ""
|
||||
password: ""
|
||||
server: ""
|
||||
|
||||
domain: ""
|
||||
domain: "games.acooldomain.co"
|
||||
|
||||
signing:
|
||||
key: ""
|
||||
algorithm: "HS512"
|
||||
|
||||
email:
|
||||
from_email: "no-reply@acooldomain.co"
|
||||
username: "no-reply@acooldomain.co"
|
||||
password: ""
|
||||
server: "mail.acooldomain.co"
|
||||
|
||||
authentication:
|
||||
type: "OIDC" # OIDC or UserPass
|
||||
oidc:
|
||||
type: "UserPass"
|
||||
oidc: # can be omitted
|
||||
issuer_url: ""
|
||||
client_id: ""
|
||||
client_secret: ""
|
||||
user_pass:
|
||||
type: "mongo"
|
||||
initial_user:
|
||||
email: "acoolname@acooldomain.co"
|
||||
mongo:
|
||||
url: ""
|
||||
url: "mongodb://server-manager-mongo:27017"
|
||||
username: ""
|
||||
password: ""
|
||||
database: ""
|
||||
collection: ""
|
||||
database: "users_db"
|
||||
collection: "user_data"
|
||||
invite_token_database:
|
||||
type: "mongo"
|
||||
mongo:
|
||||
url: ""
|
||||
url: "mongodb://server-manager-mongo:27017"
|
||||
username: ""
|
||||
password: ""
|
||||
database: ""
|
||||
collection: ""
|
||||
database: "users_db"
|
||||
collection: "invite_tokens"
|
||||
|
||||
instancemanager:
|
||||
type: "docker" # or kubernetes
|
||||
docker:
|
||||
games_domain: ""
|
||||
browsers_domain: ""
|
||||
certificate_resolver: ""
|
||||
type: "kubernetes"
|
||||
kubernetes:
|
||||
namespace: server-manager
|
||||
docker: # can be omitted
|
||||
file_browser:
|
||||
image:
|
||||
registry: ""
|
||||
tag: ""
|
||||
registry: "filebrowser/filebrowser"
|
||||
tag: "latest"
|
||||
command: ""
|
||||
network: ""
|
||||
network: "exposed"
|
||||
reverse_proxy:
|
||||
middlewares:
|
||||
- backend-auth@docker
|
||||
entrypoint: "web"
|
||||
|
||||
users:
|
||||
default_max_owned_servers: 10
|
||||
@ -61,18 +113,18 @@ users:
|
||||
servers_database:
|
||||
type: "mongo"
|
||||
mongo:
|
||||
url: ""
|
||||
url: "mongodb://server-manager-mongo:27017"
|
||||
username: ""
|
||||
password: ""
|
||||
database: ""
|
||||
collection: ""
|
||||
database: "server_db"
|
||||
collection: "servers"
|
||||
|
||||
servers_authorization_database:
|
||||
type: "mongo"
|
||||
mongo:
|
||||
url: ""
|
||||
url: "mongodb://server-manager-mongo:27017"
|
||||
username: ""
|
||||
password: ""
|
||||
database: ""
|
||||
collection: ""
|
||||
database: "server_db"
|
||||
collection: "auth_data"
|
||||
```
|
||||
|
Loading…
x
Reference in New Issue
Block a user