RedHatQE / uplift

Other
0 stars 1 forks source link

uplift

A Clojure library to help deploy and provision virtual machines

What is uplift for?

Currently uplift is just a pile of libraries to help provision a system for testing subscription manager and candlepin. It is focused on developer/ad-hoc testing so that tests can become semi- automated.

Roadmap

Other possibilities

Design

There are essentially 2 parts to uplift:

  1. A bootstrapping part where a VM is provisioned with the bare minimum
  2. Starting a service agent on the test machine

Currently, uplift really is in a very very early stage, and can only barely do the first part. The second (and more interesting part) is still to be done. However, some of the functionality in the various namespaces are working, however it is not yet hooked into a messaging system.

The goal here is to have uplift contain the low-level libraries which can be called by various services. The two services conceived of so far are a REST based API as well as a simple message bus using TLS sockets with a binary data transfer (using fressian most likely)

![Image of Message Flow] (https://github.com/RedHatQE/uplift/blob/dev/doc/MessageFlow.png)

Since uplift can send events of interest, the client/server system should be asynchronous. For example, with a log monitor, the client should be notified of an event when some text or pattern is detected from the logs.

Usage

TODO:

The most important thing for now is to create a user.edn file somewhere on your system and note the location in the uplift/resources/properties.edn file. This is where sensitive information such as passwords or URL's for files can be specified.

License

Copyright © 2015 FIXME

Distributed under the Apache2 Public License