v1 Milestones

NOTE: THIS DOC IS A WORK IN PROGRESS

This document captures concensus on the identity and content of milestones.

Legos-1

Tentative target date: Feb 1, 2017

  1. servicecatalog/v1alpha1 API complete and functional:
  2. ServiceBroker, ServiceClass, ServiceInstance, ServiceBinding
  3. Integrators should be able to program against this REST API
  4. API server serves servicecatalog/v1alpha1
  5. It should be possible to use stock kubectl for raw CRUD operations against the API server
  6. Golang client for API in (1) is auto-generated

MVP-1

Tentative target date: March 1, 2017

The MVP1 milestone is the barest skeleton of an MVP that has the right architecture.

High-level functional requirements:

  1. servicecatalog/v1alpha1 API complete and functional:
  2. ServiceBroker, ServiceClass, ServiceInstance, ServiceBinding
  3. Integrators should be able to program against this REST API
  4. Status subresources for ServiceBroker, ServiceInstance, and ServiceBinding
  5. Golang client for API in (1) is auto-generated
  6. Native-k8s-style CLI experience
  7. Formatted list
  8. Formatted describe
  9. Integration with Open Service Broker API:
  10. Add broker
  11. Provision service instance
  12. Bind to service instance
  13. Unbind from service instance
  14. Deprovision service instance
  15. Remove broker
  16. Update broker
  17. Delete broker
  18. ServiceBindings manifest as a Secret in the the k8s core; users will be expected to explicitly reference this secret in their Pod specs

High-level architectural requirements:

  1. We are moved off TPR and fully onto servicecatalog/v1alpha1 API
  2. Code generators for API are in place:
  3. Deep copy
  4. Defaults
  5. Conversions
  6. YAML parser
  7. API client
  8. Controller(s) use k8s controller infrastructure
  9. CLI interface:
  10. Vendor in kubectl guts
  11. listers and describers for servicecatalog/v1alpha1 API resources