You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 7 Next »

Draft API

Base path: /api/{version}/

PathActionProject AdminSite AdminNotes
/servicesList, add site-wide servicesGETPUT 
/services/{service-id}Get, update, delete site-wide servicesGETPUT, DELETE 
/storageResourcesList, add site-wide storage resourcesGETPUT 
/storageResources/{resource-id}Get, update, delete site-wide storageGETPUT, DELETE 
/projectsList, add projects GET, PUT 
/projects/{project-id}Get, update, delete projectGET, PUTDELETE 
/projects/{project-id}/serviceInstancesList, add project servicesGET, PUT  
/projects/{project-id}/serviceInstances/{instance-id}Get, update, delete project serviceGET, PUT, DELETE  
/projects/{project-id}/serviceInstances/{instance-id}/statusGet, update, delete project services statusGET, PUT, DELETE  
/projects/{project-id}/volumesList, add project volumesGET, PUT  
/projects/{project-id}/volumes/{volume-id}Get, update, delete project volumesGET, PUT, DELETE  
     

 

Design

  • Use Swagger editor to define API (running on some dev VM)
  • Use Swagger codegen to generate JAX-RS server bindings and ? client bindings 
  • API server will run under Jetty (default)

Components

The NDSLabs API consists of one or more CLI applications, and API server (initially running under Jetty), using etcd for storage. 

Kubernetes provides some client libraries.  http://kubernetes.io/v1.1/docs/devel/client-libraries.html

 

ndslabs-api-server-v1

  • No labels