An open API service indexing awesome lists of open source software.

https://github.com/fiware/ops.validator

This is a mirror repo. Please fork from https://github.com/ging/fiware-validator
https://github.com/fiware/ops.validator

Last synced: about 1 month ago
JSON representation

This is a mirror repo. Please fork from https://github.com/ging/fiware-validator

Awesome Lists containing this project

README

          

FIWARE Validator
======================

[![License](http://img.shields.io/:license-apache-blue.svg?style=flat-square)](http://www.apache.org/licenses/LICENSE-2.0.html)
[![Documentation badge](https://img.shields.io/badge/docs-stable-brightgreen.svg?style=flat)](doc/source/adminmanual.rst)
[![StackOverflow](https://img.shields.io/badge/support-sof-yellowgreen.svg)](https://stackoverflow.com/questions/tagged/fiware-validator)

**Table of Contents**

- [Description](#description)
- [Features Implemented](#features-implemented)
- [Installation Manual](#installation-manual)
- [Installation Verification](#installation-verification)
- [User Manual](#user-manual)
- [API Documentation](#api-documentation)
- [License](#license)
- [Getting Started](#getting-started)
- [Installing Dependencies](#installing-dependencies)
- [Executing the listener API](#executing-the-listener-api)
- [External Dependencies](#external-dependencies)
- [Validation Process](#validation-process)
- [Example Client](#example-client)
- [Image generation](#image-generation)

Description
-----------
This project is part of [FIWARE] (http://fiware.org).

A FIWARE validator for testing deployment artifacts implemented as a Web UI/Restful API pair.

Features Implemented
--------------------
A RESTful API for deployment artifacts validation
A backbone.js based WebUI for FIWARE Lab user interaction.

Installation Manual
-------------------
The installation manual is provided in rst format in the [Installation and Administration manual](doc/source/adminmanual.rst)

Installation Verification
-------------------------
The sanity check procedures are detailed in the [Installation and Administration manual](doc/source/adminmanual.rst)

User Manual
-----------
The user manual is provided in rst format in the [User and Programmers manual](doc/source/usermanual.rst)

API Documentation
-----------------

The API definition can be found at

License
-------

Apache License Version 2.0

Getting Started
---------------

To run the code you can clone the git repo with:

git clone git@github.com:ging/fiware-validator.git

Installing Dependencies
-----------------------

To install package dependencies you must run:

pip install -r requirements.txt

Executing the listener API
--------------------------

The listener api can be manually launched with the following command:

validator_api/manage.py <>

Executing the WebUi Interface
--------------------------

The listener api can be manually launched with the following command:

validator_webui/manage.py <>

External Dependencies
---------------------

The system deployment depends on several external services for
successful completion. The dependency list reads as follows:

- **FIWARE Identity Manager**: Used for issuing user tokens for several OpenStack services
- **Docker Server**: Used for managing the chef server image

Validation Process
------------------

The validation process consists on the following steps:
1. The User interacts with the **WEB UI**, indicating:
- Authentication credentials.
- Github Reposity to get a new deployment artifact.
- Deployment artifact placed in current server user Git repository.
- Desired Operating System against which to validate.

2. The **WEB UI** sends a POST request to the service API, containing all the pertaining data.

3. The **API** receives the request and takes the following steps:
- Checks the user permissions to take the next steps by validating against the IdM
- Downloads the needed *dependencies*
- Deploys the selected *container* image
- Instructs the **Deployment Server** to deploy the *artifact* in the given *container*
- Responds to the **Client** request informing of the status of the validation process

4. The User can also choose to upload the validated artifact to the official Github project repository.

Image generation
---------------------
All available dockerfile-based images can be generated by calling the RESTful command

http://<>:<>/images/refresh