Getting Started with UForge Platform

UForge provides an image building service allowing users to create and maintain image templates for virtualization and cloud infrastructures. The UForge platform offers access to this service. Each API represents a facet of UForge and allows developers to expose this image building service in new ways to extend their own cloud services.

UForge API

The UForge API enables developers to access all of the UForge functionalities including operating systems, project catalogs, appliances and user information. If you want to automate the creation of appliances or images templates, or to provide a new image building service via your portal, then UForge provides all the core functionalities. The UForge API also allows you to integrate with other services including maven, jenkins and your IaaS platform, allowing end-to-end image creation to provisioning services. Using UForge API, you can create an image template from scratch, add software, generate to any virtualization format and publish directly to your favorite cloud using just a few RESTful API calls.

To make the UForge API even easier to use, UShareSoft has created a UForge Java Reference API. You can create the API for other languages. UShareSoft will be providing other language support soon.

UForge API is a RESTful resource

The UForge API follows the design principles of Representational State Transfer (REST). UForge platform provides a set of resources (the API), each of which is referenced with a global identifier (URI). In order to manipulate these resources, clients communicate via the standard HTTP(S) protocol and exchange representations of these resources in a specific format. The documentation notes which formats are available for each method. The API presently supports XML and JSON. To get the results in the format of your choice, the "Accept-Type" header attribute is used in the request.

The API is entirely HTTP(S)-based

Communication with UForge is done via HTTP(S). For security reasons it is recommended to use HTTPS, however you may submit HTTP requests for debugging purposes.

  • GET requests retrieve data
  • POST requests create data
  • PUT requests modify existing data
  • DELETE request destroy existing data

API methods that require a particular HTTP method will return an error if you do not make your request with the correct one. All HTTP methods return codified response codes.

Authentication

The UForge REST API uses a public and secret API key pair for authenticating each request. The public key is inserted as a query in the request URI. The secret key is then used to encode the entire URI to create a signature using HMAC_SHA1. This signature is then added to the end of the request URI.

Note that you can use Basic Authentication by adding an extra HTTP header "Authorization:Basic username:password". However, this is less secure. We recommend this only be used on local area networks for instance.