Fast and efficient operative system management.
(Presuming that you aready have Golang >= 1.12 installed in your system)
The project uses Go modules to manage dependencies. Each package provides its own go.mod
file and running go build
will download all the required dependencies.
The configuration for both the tls
and the admin
services needs to be provided. The [admin-tls].json
file will have the following format:
{
"_SERVICE": {
"listener": "127.0.0.1",
"port": "_TLS_PORT",
"host": "_TLS_HOST",
"auth": "none",
"logging": "stdout"
}
}
The backend configuration file, db.json
, will look like this:
"db": {
"host": "_DB_HOST",
"port": "_DB_PORT",
"name": "_DB_NAME",
"username": "_DB_USERNAME",
"password": "_DB_PASSWORD"
}
The provision.sh
script will configure all necessary files for osctrl
to function properly.
You can use docker to run osctrl
and each service has a separate Dockerfile
to run independently. Also there is a docker-compose.yml
with the description of all services of a functional deployment.
Use the files Dockerfile-[tls,admin,nginx]
to bring up each service, after being built. For example to build the container use:
docker -t osctrl-tls -f Dockerfile-tls .
And after the build is successful, you can run the container as follows:
docker run osctrl-tls
Likewise you can build and bring up all services at once, using docker-compose build
and docker-compose up
.
Ultimately you can just execute make docker_all
and it will automagically build and run osctrl
locally in docker.
Vagrant machines can be used for osctrl
local development. Execute vagrant up
to create a local virtual machine running Ubuntu 18.04. Once it has finished deploying, osctrl
will be ready to be used and you can access it following the instructions in the terminal.
The documentation about osctrl
is here.
osctrl
is released under the GPL 3 license.