-
Story
-
Resolution: Done
-
Critical
-
None
-
None
-
8
-
False
-
None
-
False
-
-
-
AppSvc Sprint 235, AppSvc Sprint 236
Owner: Architect:
Francesco Ilario
Story (Required)
As a Developer, I would like to create claim directly from my namespace so that I can bind an application in my namespace
Background (Required)
We need to implement the ServiceClaim API as define in the Primaza architecture document.
As of now, Service Claims can only be created on Primaza's cluster.
We want to give the developer the ability to create a Service Claim on an Worker cluster, in a specific namespace and have Primaza push the Service Binding into the worker cluster.
Refer to the arch document's section How > Architecture > Architecture Diagrams > Agent-based architecture > Claiming a Service > Claiming from Application Cluster.
See epic for arch document link.
Glossary
See glossary in architecture document
Out of scope
- Binding logic
- Service Catalog check
- Service Claim update
In Scope
In Application Agent
- Service Claim validation
- Service Claim tampering and forward to Primaza
Approach(Required)
Application Agents should manage Service Claims, hence agents will run a controller that reconciles Service Claims.
When a Service Claim is created in an agent's namespace, the agent will validate and tamper the provided Service Claim and then push the tampered version to Primaza.
The validation will consist in the following checks:
- EnvironmentTag is not defined
- ApplicationClusterContext is not defined
The tampering will consist in the following changes:
- ApplicationClusterContext is configured:
- ClusterEnvironmentName: can be retrieved from agent's labels
- Namespace: is the current namespace
When a Service Binding for the ServiceClaim is created in the namespace, Service Claim status should be updated to Resolved.
When a ServiceClaim is updated or deleted, Primaza must be informed.
The binding logic is yet implemented in Primaza, and should not be implemented here.
Demo requirements(Required)
NA
Dependencies
Edge Case
NA
BDD Tests
You can find BDD Test specification for this story in the "Testing Instruction" Field Tab or in the GitHub Issue linked to this story.
Click here for all BDD Tests Issues.
Acceptance Criteria
- Development
Application Agent's Service Claim controller validates Service Claims
Application Agent's Service Claim controller tampers and forward Service Claims
Application Agent's Service Claim controller forwards Service Claims changes to Primaza
Application Agent's Service Claim controller forwards Service Claims deletion to Primaza
Application Agent's Service Binding controller should update Service Claim status on Service Binding create
- QE
There are test cases for Service Claim's validation
There are test cases for Service Claim's creation
There are test cases for Service Claim's deletion
- Docs
There is a section in the Application Agent docs dedicated to explaining how the Service Claim from a specific namespace is performed
Update architecture document with any changes while implementing
INVEST Checklist
Dependencies identified
Blockers noted and expected delivery timelines set
Design is implementable
Acceptance criteria agreed upon
Story estimated
Legend
Unknown
Verified
Unsatisfied
- is related to
-
APPSVC-1298 Claim for specific cluster
- Closed