Commit c3f2fb4a authored by lukasburgey's avatar lukasburgey
Browse files

Merge branch 'dev'

Closes #11
parents 8a22345e c4446df3
Pipeline #88100 passed with stages
in 1 minute and 24 seconds
FEUDAL Client
====
The feudalClient connects to the feudalBackend, in order to receive user deployments.
In order to do so, it needs to be registered at the respective backend instance.
The client is configured using a single config file.
Feudal clients execute the deployment and removal of feudal users to and from custom services.
Multiple feudal clients connect to one feudal backend. The clients are meant to be run in proximity of the service, e.g. on the same VM / cluster.
Building
----
This project is built using go. We make use of go modules which were introduced in go1.11. You can check your go version with ```go version```. We recommend using the latest stable version.
- Have a go version newer than 1.12 installed: ```go version```
- Clone the repository somewhere: ```git clone https://git.scc.kit.edu/feudal/feudalClient.git```
- Switch to the cloned directory and run ```make build``` (or ```make build-static``` for a statically linked build)
Setup
----
- Inspect the client:```feudalClient --version``` and ```feudalClient --help```
- Create a configuration file using yaml (preferred) or json format, see [examples](./example-config).
- The client needs to be registerred using username and password at a [feudalBackend](https://git.scc.kit.edu/feudal/feudalBackend).
- Put the configuration into ```/etc/feudal``` or ```$HOME/.config/feudal```.
- Run the client: ```feudalClient```
- To use a specific config use: ```feudalClient --config <config>```
- You need to have a GOPATH setup (see ```go help gopath```). As a start you need the GOPATH enviroment variable set to a directory.
- Clone the repository outside of $GOPATH: ```git clone https://git.scc.kit.edu/feudal/feudalClient.git```
Provide a service
-----
- Switch to the cloned directory and run ```go get```. This fetches dependencies and builds the project. The binary will be located at $GOPATH/bin/feudalClient.
The feudalClient executes custom scripts to deploy / remove users from your service.
You'll probably need to write your own script. See [feudalScripts](https://git.scc.kit.edu/feudal/feudalScripts) for instructions and examples how to do that.
After writing your script, hook it up into your client configuration and restart your client. This will automatically register your service(s) at the feudal backend.
Installation
----
Copy the binary and a config file to the target VM.
See example-config for an example configuration.
- Additional info: ```feudalClient --help```
- Run the client: ```feudalClient --config ./config/file/path```
Stop providing a service
-----
In case you want to stop providing a service follow these steps:
- Make sure that no user is still deployed and _no_ feudal user data remains at your service
- Execute the client once using: ```feudalClient deregister```
- This will remove all your services from the backend, so they won't be shown to users anymore
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment