-
Story
-
Resolution: Done
-
Undefined
-
Primaza 0.1
-
5
-
False
-
None
-
False
-
-
-
AppSvc Sprint 230, AppSvc Sprint 231, AppSvc Sprint 232, AppSvc Sprint 233
Owner: Architect:
David Peraza
Story (Required)
As an OpenShift developer I will like to claim services in the service catalog so that my application can bind to SED.
Background (Required)
We need to implement the ServiceClaim API as define in the Primaza architecture document. See Epic for link
Glossary
NA
Out of scope
Claims in Application clusters
ServiceBinding API, we will use SBO for now
No ApplicationContext, only EnvironmentTag
No Application Name, only Label Selector
No TTL
No ServiceEndpointDefinitionKeys validation
No ClaimID
In Scope
Claims in Primaza namespace only
Approach(Required)
The ServiceClaim controller will determine the target clusters and namespaces by searching all the RegisteredCluster resources that contain the specified EnvironmentTag. It will match the claim with a RegisteredService. The match is made if the ServiceClaim SCIKeys and SEDKeys are subsets of the RegisteredService SCI and SED correspondingly. Once the match is made the SCI and SED data are extracted and a secret resource created. A ServiceBinding Resource is also created. The ServiceBinding resource for this story comes from SBO. In the ServiceBinding resource the service will point to the secret while the workload will point to the application defined in the claim. Both the secret and the ServiceBinding resource will be pushed to the namespaces identified in the target clusters.
Demo requirements(Required)
A great demo will show an application with one or more compute resources (shopping cart sample app can be used here). The application will make claims for dependent services using label selector. Show how the claims result in the projection of SED data in the application compute resources.
Dependencies
NA
Edge Case
NA
Acceptance Criteria
- Development
ServiceClaim CRD is defined
Claim controller is developed with defined scope.
- QE
There a simple test making sure ServiceClaim resources can be created.
No Testing required for ServiceClaim resources in application cluster.
No Testing required for ApplicationContext
No Testing required for Application Name
There are test cases for ServiceClaims using label selector and EnvironmentTag.
There are test cases showing claims that match services and claims that do not match services.
- Docs
There is a page in our docs dedicated to explaining what a ServiceClaim is including the different states it could be in and the error conditions. Explain the different ways application cluster and namespace are targeted as well as the different ways RegisteredServices are matches.
Update architecture document with any changes while implementing
There is a link in our main readme to the ServiceClaim page
INVEST Checklist
Dependencies identified
Blockers noted and expected delivery timelines set
Design is implementable
Acceptance criteria agreed upon
Story estimated
v
Legend
Unknown
Verified
Unsatisfied
- is blocked by
-
APPSVC-1273 Create Primaza common entities
-
- Closed
-
- is depended on by
-
APPSVC-1298 Claim for specific cluster
-
- Closed
-
-
APPSVC-1301 Create Primaza's Service Binding
-
- Closed
-
-
APPSVC-1297 Claim for an application
-
- Closed
-
- is related to
-
APPSVC-1293 Application Agent's Service Binding controller
-
- Closed
-