Uploaded image for project: 'Service Binding'
  1. Service Binding
  2. APPSVC-1271

Define the ServiceClaim API

XMLWordPrintable

    • Icon: Story Story
    • Resolution: Done
    • Icon: Undefined Undefined
    • Primaza 0.1
    • Primaza 0.1
    • Service Binding
    • 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

              bmuthuka Baiju Muthukadan
              dperaza@redhat.com David Peraza
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Created:
                Updated:
                Resolved: