An intent is a capability that the application has that needs to be
fulfilled by the platform in order to take effect. For example, an
application that has a mysql driver probably expects to have credentials
for a mysql database bound.
This PR only exposes the intent, it does nothing to either provision an
appropriate service, or bind a provisioned service to the application.
Other tools or aspects of the platform will need to provide those
capabilities.
This change also flips Opinion from a struct to an interface to allow
for different types of opinions. The previous Opinion struct is now a
BasicOpinion. The new SpringBootServiceIntent is an Opinion that looks
for drivers for the service and exposes the intent as a label in a
consistent way.
An intent is a capability that the application has that needs to be fulfilled by the platform in order to take effect. For example, an application that has a mysql driver probably expects to have credentials for a mysql database bound.
This PR only exposes the intent, it does nothing to either provision an appropriate service, or bind a provisioned service to the application. Other tools or aspects of the platform will need to provide those capabilities.
This change also flips Opinion from a struct to an interface to allow for different types of opinions. The previous Opinion struct is now a BasicOpinion. The new SpringBootServiceIntent is an Opinion that looks for drivers for the service and exposes the intent as a label in a consistent way.