-
Notifications
You must be signed in to change notification settings - Fork 7
Home
VMEmperor is supposed to be installed as a group of microservices using Docker Compose. Install Docker Compose prior to deployment process.
The main configuration file is located in configs/config.ini
. These are the important fields that are required to be changed:
Name | Description |
---|---|
debug |
False in production environments |
username |
Your XenServer username (usually root ). Administrator account is required |
password |
XenServer password |
vmemperor_host |
Hostname of the host used by VMEmperor or an IP that is accessible from the VMs (for auto installation scenarios) |
authenticator |
One of the authenticator classes. This setting represent a file name in backend/auth directory |
ansible_pubkey |
Container path to a pubkey used for executing Ansible |
ansible_networks |
A list of UUIDs of networks that represent physical networks accessed by your VMEmperor installation. This is used for determining an IP of a VM when ansible-playbook (always installed alongside VMEmperor) is executing a playbook |
logging |
Python loglevel for logger |
On a target machine, install Docker Compose and run from a project directory:
docker-compose up -d
This command sets up the infrastructure, binds port 80 to a web interface and port vmemperor_port
to a VMEmperor backend.
After updating the git repository, run docker-compose build
to rebuild the services and docker-compose restart
to restart.
Consult Docker Compose documentation for details.
See Quick Start
We use Python 3 - Tornado for backend, RethinkDB for caching data and providing real-time data updates.
It is available in /backend
We use REST for authentication API and GraphQL for other means.
We use WebSockets to provide VNC via RFB and Ansible output updates.
We use TypeScript with React.js for frontend.
It is available in /frontend
Frontend expects backend to be running on localhost:8889
.
We use InfluxDB for storing host usage data.
The data is imported from XenAPI via a client written in Java available in /xenservertoinflux
.
The data then presented via Grafana scripted dashboards available in /configs/grafana
.