Prebuilds are rate-limited to N in the last S seconds on a rolling
window basis.
By default, 50 prebuilds are allowed in a 1 minute window.
A configuration property `prebuildLimiter` is added which controls
default rate limit but allows for explicit overrides by cloneURL.
Fixes https://github.com/gitpod-io/gitpod/issues/7866
This PR updates the `installation-admin-controller` to also retrieve
more data to send with telemetry. These are not part of the
`installationAdminDb` as we do not want to store this in the database
but lazily retrieve whenever a request is sent to `/data` endpoint
of the `installation-admin` express app unlike the `uuid` and settings
which need to be stored and updated.
The following fields are added:
- `totalUsers` : specifies the total number of users in the instance
- `totalWorkspaces`: specifies the total number of **regular** workspaces in the instance
- `totalInstances`: specifies the total number of **regular** workspace instances in the gitpod instance
Signed-off-by: Tarun Pothulapati <tarun@gitpod.io>
Since #4910 stopped counting "stopping" workspaces for billing purposes,
any workspace caught in a "stopping" phase would never be force-stopped.
This adds a conditional "includeStopping" boolean (defaulting to `false`)
to the DB implementation and the meta-instance-controller simply includes
that phase in the search.
It was discovered that ~200 workspaces were caught in this phase (90%
prebuilds) so this phase is necessary to force-stop.