Tool | Usage |
---|---|
docker | Building IncludeOS |
qemu-img | Converting disk |
htpasswd | Creating users. Often provided by the apache-utils package |
$ git clone [email protected]:includeos/mothership-beta.git
To clone using a specified unique ssh key:
$ ssh-agent bash -c 'ssh-add mothership_beta.key; git clone [email protected]:includeos/mothership-beta.git'
Mothership comes with basic authentication enabled by default. It is therefore necessary to create a user:
$ touch config_files/.htpasswd # Create empty .htpasswd file $ htpasswd -B config_files/.htpasswd myuser # Add the user myuser
TLS is also enabled by default. Mothership expects two files to be present in the folder config_files
:
cert.pem: | File containing your certificate |
---|---|
key.pem: | File containing your private key |
For instructions on how to generate a self-signed certificate for testing see: :ref:`self-signed-tls`
Launch Mothership with the command:
$ ./<mothership-binary> serve
To see all launch options run ./<mothership-binary> serve -h
or see :ref:`mothership-server-options`.
To run Mothership inside a Docker container see :ref:`mothership-in-docker`.
This will launch the Mothership server. Make sure there are no errors in the launch output and the following lines indicate that basic auth and TLS are properly configured:
INFO[0014] 1 registered user INFO[0014] Setting up hangar (uplink) with TLS on :9090 INFO[0014] Setting up server with TLS on :8080 ⇨ https server started on [::]:8080
There are three ways to interact with the Mothership server.
- Web GUI
- This GUI is available at: https://localhost:8080, for more information on this please see: :ref:`Mothership GUI<the-website>`
- API
- For more information on the various API endpoints, see the API documentation at https://localhost:8080/apidocs/apidocs.html
- Command-line interface
- The binary
mothership-linux-amd64
used to launch the server also works as a CLI
Using the CLI the following command will give you information about the running instances:
$ ./<mothership-binary> --username <username> --password <password> instances Instances: Alias Status ID Image Tag Launched