Jump to: navigation, search

Difference between revisions of "OpenStack-SDK-Ruby"

(Design Decisions)
(Resources)
 
(10 intermediate revisions by one other user not shown)
Line 2: Line 2:
  
 
== Summary ==
 
== Summary ==
This project is not an official OpenStack project, nor are there plans to do so in the near term. This is an effort to clearly communicate the appropriate way to interact/interoperate with OpenStack via a ruby language binding and Software Development Ket (SDK). We hope this will improve the experience of OpenStack end-users who are using the Ruby programming language by providing them with everything they need to develop applications against OpenStack.
+
This project is not an official OpenStack project, nor are there plans to do so in the near term. This wiki entry is an effort to clearly communicate the recommended way to interact/interoperate with OpenStack via a ruby language binding/Software Development Kit (SDK). We hope this will improve the experience of OpenStack end-users who are using the Ruby programming language by providing them with everything they need to develop applications against OpenStack.
  
 
'''What's in an SDK?:'''
 
'''What's in an SDK?:'''
Line 10: Line 10:
 
* Clear examples of usage, including functioning, executable examples.
 
* Clear examples of usage, including functioning, executable examples.
  
Note that much effort is currently being invested in the Fog project in general and the OpenStack provider in particular around this topic.
+
 
 +
OpenStack has endorsed fog as the 'official' ruby binding for interacting with OpenStack public/hybrid/private clouds:
 +
[http://api.openstack.org Open source SDKs for OpenStack application development]
 +
 
 +
Much effort is currently being invested in the fog project in general and the OpenStack provider in particular. We are currently rewriting the fog OpenStack provider with the goal of maximum reuse for OpenStack provider clouds.
  
 
== Audience ==
 
== Audience ==
Line 19: Line 23:
 
# Support multiple API versions for each service (e.g., Nova API v1 and v2).
 
# Support multiple API versions for each service (e.g., Nova API v1 and v2).
 
# Provide a method for vendor extensions. Numerous vendors have extensions. There needs to be a method to support these to aid the end developer.
 
# Provide a method for vendor extensions. Numerous vendors have extensions. There needs to be a method to support these to aid the end developer.
 
== Todo ==
 
  
 
== Resources ==
 
== Resources ==
 +
{| border="1" cellpadding="2" cellspacing="0"
 +
|  Source code (fog)  || https://github.com/fog/fog
 +
|-
 +
|  Source code (fog OpenStack provider)  || https://github.com/fog/fog-openstack
 +
|-
 +
|  Source code (fog OpenStack provider core)  || https://github.com/fog/fog-openstack-core
 +
|-
 +
|  Bug tracker  || https://github.com/fog/fog-openstack-core/issues
 +
|}
  
 
== IRC ==
 
== IRC ==
 
The developers use IRC in #openstack-sdks on freenode for development discussion.
 
The developers use IRC in #openstack-sdks on freenode for development discussion.

Latest revision as of 09:17, 26 February 2016

Summary

This project is not an official OpenStack project, nor are there plans to do so in the near term. This wiki entry is an effort to clearly communicate the recommended way to interact/interoperate with OpenStack via a ruby language binding/Software Development Kit (SDK). We hope this will improve the experience of OpenStack end-users who are using the Ruby programming language by providing them with everything they need to develop applications against OpenStack.

What's in an SDK?: An SDK is more than just a set of APIs provided to you. A complete SDK provides a consumer focused API for interacting with the system, and it additionally includes:

  • Documentation aimed at users consuming the SDK and system.
  • Clear examples of usage, including functioning, executable examples.


OpenStack has endorsed fog as the 'official' ruby binding for interacting with OpenStack public/hybrid/private clouds: Open source SDKs for OpenStack application development

Much effort is currently being invested in the fog project in general and the OpenStack provider in particular. We are currently rewriting the fog OpenStack provider with the goal of maximum reuse for OpenStack provider clouds.

Audience

The primary target for this package is application developers who develop against OpenStack. This does not include those who develop OpenStack itself or operate it. These are developers looking to consume a feature-rich OpenStack Cloud with its many services. These Developers require a consistent, single namespace API ("Application Programming Interface") that allows them to build and deploy their application with minimal dependencies.

Requirements

  1. Feel native to developers working in Ruby.
  2. Support multiple API versions for each service (e.g., Nova API v1 and v2).
  3. Provide a method for vendor extensions. Numerous vendors have extensions. There needs to be a method to support these to aid the end developer.

Resources

Source code (fog) https://github.com/fog/fog
Source code (fog OpenStack provider) https://github.com/fog/fog-openstack
Source code (fog OpenStack provider core) https://github.com/fog/fog-openstack-core
Bug tracker https://github.com/fog/fog-openstack-core/issues

IRC

The developers use IRC in #openstack-sdks on freenode for development discussion.