Skip to content

Quota

Billing groups

Billing groups are linked to users and allow Squest administrator to visualize who is consuming what. As an administrator you can create multiple billing group and place user in them. A user can belong to multiple billing group.

billing_group_quota

Note

Billing groups is an optional feature.

Quota

Quota can be used to:

  • Track consumption of resources per billing group
  • Create an auto approval request process by using them through global hooks and the squest API

Quota and attributes

A quota is a group of resource group attributes that you consider being of the same type.

Let's take an example. We do provide 3 services through the catalog:

  • Bare metal server
  • Virtual machines in a VMware hypervisor
  • K8S namespaces in a shared K8S cluster

Each service create a resources in 3 different resource group of the resource tracking.

The simplified graph view of resource group would be the following: quota_resource_graph_example

Note

All attributes are not represented. For a complete example of resource group and resource pool attribute link refer to the resource tracking doc

No matter what service will be provisioned from the service catalog, we want to track for example our global consumption of CPU. The global CPU is actually linkable to:

  • the CPU attribute of the "Customer servers" resource group
  • the vCPU attribute of the "Customer VMs" resource group
  • the request.cpu attribute of the "K8S namespaces" resource group

So we would create a quota named "CPU" and link it to all resource group attribute definition

quota_resource_graph_example

Once quota are defined, you can link them to each billing group and set a limit. Squest will then calculate the consumption by retrieving each instance that are linked to tracked resource attributes.

Note

The limit does not block any request from the service catalog. This field is used to give the administrator information about consumptions. The total consumption can exceed limit if the administrator provision services anyway.

Consumed quota and limits are exposed as Prometheus metrics. You can then create your own Grafana dashboard from them to visualize percentage consumption of each attribute per billing group.

grafana_panel_example