Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Pipelines product 'Service Quotas' page #2774

Merged
merged 5 commits into from
Oct 22, 2024
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions data/nav.yml
Original file line number Diff line number Diff line change
Expand Up @@ -391,6 +391,8 @@
- name: "Cluster queue metrics"
path: "pipelines/cluster-queue-metrics"
pill: "beta"
- name: "Service Quotas"
path: "pipelines/service-quotas"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I note you've got this under Pipelines, but a handful of the limits are not pipelines-specific. I wonder if we need a global page? or just limit what's on this one to pipelines ones?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Perhaps we do need a global page. At the moment, our navigation has:

Are you envisioning a new nav link?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Probably need guidance from @gilesgas on that, but the content on this page atm doesn't really fit under pipelines

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Where are the docs for setting up organisations, teams, permissions etc?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The content on this page atm doesn't really fit under pipelines.

Yeah, you're right. It feels like we're missing a concept of a global/cross-product area

Where are the docs for setting up organisations, teams, permissions etc?

At the moment those pages sit under the Pipelines navigation link - https://buildkite.com/docs/team-management/permissions

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

CleanShot 2024-09-04 at 11 32 35

Oh yeah, these are also definitely not pipelines haha

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nope, they're not 😅😅

- name: "Test Analytics"
path: "test-analytics"
children:
Expand Down
97 changes: 97 additions & 0 deletions pages/pipelines/service_quotas.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,97 @@
---
toc: false
---

# Service quotas

> 📘 Need a limit increased?
> You can request a limit increase by [contacting support](mailto:[email protected]), and providing details about your use case.

Service quotas are put in place to ensure that Buildkite can provide a reliable service to all customers. These quotas are scoped to your organization, and can be increased by contacting support and providing details about your use case.

<table>
<tbody>
<% [
{
title: "Invitations per organization",
description: "The maximum number of pending invitations for an organization",
default_value: "20 invitations"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Another general thought – how do we keep these values synced with what's in bk/bk?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

An assertion spec in bk/bk, with a link to this guide doc to update it if an engineer changes the default?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We might be able to leverage some internal tooling options (e.g. https://github.com/danger/danger) to help us out here in the bk/bk side 👀

},
{
title: "REST API rate limit per organization",
description: "The number of requests an organization can make to Organization endpoints on the REST API, per minute",
default_value: "200 requests/min"
},
{
title: "Slack services per organization",
description: "The maximum number of Slack services that can be added to an organization",
default_value: "50 services"
},
{
title: "Teams per organization",
description: "The maximum number of teams that an organization can have",
default_value: "250 teams"
},
{
title: "Webhook services per organization",
description: "The maximum number of Webhook services that can be added to an organization",
default_value: "15 services"
},
{
title: "Artifact retention",
description: "The maximum time we'll store artifacts for, in days, before assuming it has been deleted by an S3 Lifecycle rule, which must be configured separately",
default_value: "180 days"
},
{
title: "Jobs per build",
description: "The maximum number of jobs that can be created in a single pipeline build (including job retries)",
default_value: "4,000 jobs"
},
{
title: "Jobs created per pipeline upload",
description: "The maximum number of jobs that can be created in a single pipeline upload",
default_value: "500 jobs"
},
{
title: "Pipeline uploads per build",
description: "The maximum number of pipeline uploads that can be performed in a single build",
default_value: "500 pipeline uploads"
},
{
title: "Trigger build depth per pipeline",
description: "The maximum depth of a chain of trigger builds",
default_value: "10 builds"
},
{
title: "Artifacts per job",
description: "The maximum number of artifacts that can be uploaded to Buildkite per job",
default_value: "250,000 artifacts"
},
{
title: "Artifact file size",
description: "The maximum size of an artifact that can be uploaded to Buildkite from an agent",
default_value: "10 GiB"
},
{
title: "Artifact batch total file size",
description: "The maximum cumulative size of artifacts that can be uploaded to Buildkite from an agent in a single job using the <code>buildkite-agent artifact upload</code> command",
default_value: "50 GiB"
},
{
title: "Log size per job",
description: "The maximum file-size of a job's log (uploaded by an agent to Buildkite in chunks)",
default_value: "1,024 MiB"
}
].sort_by { |quota| quota[:title] }.each do |quota| %>
<tr>
<td>
<code><%= quota[:title] %></code>
</td>
<td>
<p><%= quota[:description] %></p>
<strong>Default value: <%= quota[:default_value] %></strong>
</td>
</tr>
<% end %>
</tbody>
</table>
Loading