Jump to: navigation, search


< Graffiti
Revision as of 22:45, 21 April 2014 by Travis Tripp (talk | contribs) (What is a Capability Type)

Capability Types

Graffiti embraces the idea that cloud resources may be described using capabilities and requirements, a concept influenced by some parts of OpenStack today as well as by industry specifications like OASIS TOSCA (Please note, Graffiti is NOT an orchestration engine, it only assists in describing and locating existing resources in the cloud.).

A Capability Type is the following:

  • A metadata container that describes a type of capability a cloud resource may provide
    • e.g. “Java” may be a type of capability
  • Defines the structure of observable properties in JSON Schema draft 04 format
    • The names, data types and allowed values of properties.
      • e.g. Java has a version, architecture, and install dir
  • Hierarchical
    • Can inherit properties from parent Capability Types
    • e.g. All software has a version
  • Referenced by requirements
    • e.g. My Jetty container requires a version of Java
  • Scoped by a namespace
    • Uniquely named within a namespace
      • e.g. My project sets extra properties, like Java security policies.
    • RBAC is done on the namespace, not on individual types
    • Capability Types may derive from Types in other namespaces