Skip to content

Service Quota Management in Service Fabrik

Subhankar Chattopadhyay edited this page Apr 17, 2020 · 3 revisions

As a Service Provider, if one wants to define quotas on services provisioned, It can be possible using Service Fabrik. Here is how quota management works in Service Fabrik.

  • It is possible to disable quota check, setting it in the settings file.
  ###################
  # QUOTA MANAGEMENT SETTINGS #
  ###################
  quota:
    enabled: false
  • If the quota check is turned on, then Service Fabrik does the quota check in the following way :

    • It integrates with an entitlement service which is supposed to expose additional API that returns the quota assigned to a CF org(GET /orgs/{orgId}/services/{serviceName}/plan/{versionIndependentPlanName}) or a subaccount for a given service and service plan which returns the quantity as integer assigned to the given org/subaccount for the specified service and service plan name (should be version independent). The details of the entitlement service and co-ordinates are to be added in the settings.
      ###################
      # QUOTA MANAGEMENT SETTINGS #
      ###################
      quota:
        enabled: true
        oauthDomain: https://myauth-domain.com
        serviceDomain: https://my-tenant-onboarding.com
        username: quota_user
        password: quota_password
      
      

    Service Farbik Broker calls this API when a new service instance is created.

    • Already used quota is calculated by calling CF and checking the number of service instances existing in the org in case of existing BOSH based deployment model. CF co-ordinates with admin user credential is necessary for the same.

      #############################
      # CLOUD-CONTROLLER SETTINGS #
      #############################
      cf:
        url: https://api.cf.<mydomain>.com
        username: admin
        password: *****************
        identity_provider: uaa
      

      In case of Interoperator based deployment, the used quota is calculated from the APIServer and does not need any external dependency like CF.

    • Remaining quota is calculated based on above two values and based on that provision request is allowed.