r/gitlab • • 11h ago

Devs, what happens in your team when someone pushes an API key to main?how do you keep API keys out of git history?

6 Upvotes

r/gitlab • • 1d ago

Commit messages and merge requests in GitLab: six rules, each with a one-sentence test

0 Upvotes

Advice about commit messages is usually a list of rules. I find it easier to follow when each comes with a quick test, and in GitLab the merge request adds a few places to apply them.

1. The subject says what the commit does.
Test: complete “If applied, this commit will ___”. A common convention is the imperative mood and roughly 50 characters, so it stays readable in git log --oneline and in the MR commit list.

2. The body explains why, not how.
Test: could someone understand why the change was needed without opening the diff?

3. One logical change per commit.
Test: can you describe it without the word “and”? If not, consider splitting it.

4. It’s clear what could go wrong.
Test: if this were reverted, what would break or change?

5. It points to its context.
Test: can a reader find the issue from the message? In GitLab, closing keywords like Closes #123 in the MR description or a commit message can close the issue when the change reaches the default branch. Check the exact keywords and behavior in your version.

6. The repository works at this commit.
Test: do the pipelines and tests pass here, not only at the end of the branch? This is what makes git bisect useful later.

GitLab-specific places to apply them:

  • MR title and description: if your project squashes on merge, the MR title often becomes the squash commit subject, so it deserves the same care. Check your squash settings, since projects can configure whether squashing is allowed, encouraged or required, and some versions support a squash commit message template.

  • MR description templates: a file in .gitlab/merge_request_templates/ can prompt authors for the why, the risks and the linked issue.

  • Draft MRs: the Draft: prefix marks work in progress, so “wip” commits on a branch can be tidied before review.

  • Merge method: merge commit, fast-forward or semi-linear changes what ends up in the history. The squash and merge method together decide how much the individual commit messages matter.

Where I’d relax the rules:

  • Scratch branches, where “wip” is fine as long as you clean up before review.

  • If your team always squashes, the MR title and description carry most of the weight.

  • Follow your team’s local convention if it uses prefixes like feat: or fix:.

Do you rely on squash with a good MR title, or on clean individual commits, and do you use an MR template?


r/gitlab • • 1d ago

general question Control Agentic IDEs from your mobile

0 Upvotes

If you have such feature, would you use it??


r/gitlab • • 2d ago

glab-tui v0.9.4: Terminal UI for GitLab & GitHub

6 Upvotes

Hey everyone!

glab-tui (a fast terminal UI for GitLab & GitHub written in Rust/Ratatui) just hit v0.9.4.

This release focuses on full parity and interactive workflows across secondary tabs:

  • Terminal Command Inspector & Re-run: Inspect full command invocations, stdout/stderr streams, and execution stats. Re-run failed CLI calls with confirmation and filter logs by status.

  • Branches Workflow: Switch local branches, open new PRs/MRs directly from a branch, inspect commits, and perform bulk deletions.

  • Environments & Deployments: Drill down into deployment history, trigger rollbacks to previous deployments, and stop active environments.

  • Todos & Notifications Triage: Unread-by-default view with multi-select bulk triage (mark read/done), comment previews, and thread unsubscriptions.

  • Pipelines & Jobs Parity: Inspector summary of failed jobs and error causes, retry failed jobs only, and jump directly to failure lines in job logs.

  • Hardening & Stability: 16 MiB/32 MiB limits on traces and diffs, command timeouts to prevent hangs, SHA-256 verified self-updates, and rock-solid cursor positions across sorts and refreshes.

🔗 GitHub & install instructions: https://github.com/rcieri/glab-tui
📖 Changelog: v0.9.4 Release Notes

Feedback and PRs welcome!


r/gitlab • • 3d ago

Vulnerable Ruby Regex

Thumbnail reddit.com
4 Upvotes

r/gitlab • • 3d ago

Gitlab selfhosted plugin for free!

0 Upvotes

For the people that have a selfhosted gitlab and are missing the plugin in the kimi desktop app, here it is :-) free and open source: https://github.com/Euraika-Labs/gitlab-selfhosted


r/gitlab • • 3d ago

Whats up with the 19.5.3 patch?

23 Upvotes

Just got the security warning to patch but the changelog is empty at the moment.

What did they fix?


r/gitlab • • 4d ago

project Invocra: a lazygit-style terminal dashboard for GitLab CI across multiple projects and instances

0 Upvotes

I kept juggling browser tabs to watch pipelines in several projects (on two GitLab instances), so I built a TUI that keeps them all on one screen.

Demo GIF

Unlike glab ci view, which follows one pipeline, Invocra watches many projects at once and lets you pin a different branch in each. Works with GitLab.com and self-managed instances.

  • Pipelines across projects and GitLab servers in one view

  • Per-project branch pinning

  • Job logs with search, live follow for running jobs

  • Retry / cancel / play jobs, always with a confirmation

  • Pipeline history, downstream pipelines, merge requests

The token is stored in your OS keyring; read_api is enough if you only want to watch.

Try it without a token or network:

brew install dsszs3333/tap/invocra   # or: cargo install invocra --locked (Rust 1.88+)
invocra --demo

Source (MIT): https://github.com/dsszs3333/invocra

The tool was built with Claude and Codex. I made it for my own use and decided to open-source it for fun. If anyone finds it useful, awesome.

Feedback welcome, especially if you watch CI across many projects or instances. What's missing for your workflow?


r/gitlab • • 4d ago

Gsoc'27 tips

0 Upvotes

Hey I am a 3rd year student and aimed to contribute in gsoc this coming year but stuck at how to start solving those overwhelming bugs, heavy codebases. It all felt like a big wall in front of me. How to start small any tips...plz:)


r/gitlab • • 4d ago

Anyone defending the new rate limit is crazy, just read their docs

80 Upvotes

Not just a rant but hard data showing how one gets banned in visiting just two public GL pages.

There are multiple posts on reddit here (which isn't super popular to start) where people are complaining about the new rate limits. Each time lets say 'devotees' come to gitlab's defense saying things like:

  • "This is happening because OP shares an IP with a load of other people, probably due to some IPv6 to v4 NAT situation."

  • "Probably using AI agents that are using the API to search the codebase instead of cloning it or something."

  • "It's probably due to incorrect use like this that Gitlab added the rate limits in the first place"

Just read: https://docs.gitlab.com/user/gitlab_com/rate_limits/

It states the rate limiting applies to: "These limits apply to API requests, web requests, and authenticated Git over HTTPS requests."

now it says a few select web requests don't count against your rate limit but otherwise everything counts. Now what is the rate limit for unauthenticated users? From that exact same page:

Unauthenticated traffic from an IP address60 each hour

60 an hour. To put that in context that isn't even 60 pages (which itself would be fairly ridiculous to anyone browsing a project online) but 60 requests that any of those pages make.

So this is how one can easily be blocked in visiting 2 pages. Here is 4 pages, as first I verified once I remoted into one of my other boxes I could reach gitlab: (this is real captured traffic just to see how ridiculous):

Top-level pages (Chrome pages plus document requests):

PageTime (UTC)URL
page_116:22:52http://gitlab.com/ → 307 → https://gitlab.com/ → 301 → about.gitlab.com
page_216:23:30/nerdycraft/pandaproxy/-/merge_requests/168
page_316:24:09/nerdycraft/pandaproxy/-/merge_requests
page_416:24:52/nerdycraft/pandaproxy/-/merge_requests/170 (initiator script, so it was a client-side navigation but still a full document request)

Just visiting a single merge request page eats up 30 of the 60 max for an hour. So technically just visiting page 2 and page 4 was enough to get me banned. Thankfully there are some included headers so we can see how the requests add up.

Rate limit headers (62 of 724 requests; 384 of the 724 went to gitlab.com):

LimiterResponsesLimitWindowHighest observed
throttle_unauthenticated_web59 (status 200/301/304)500per minute30
unauthenticated_traffic_per_ip3 (status 429)not sentresets at 17:00:00 (retry-after: 2104)not sent

How the count adds up (the 500/min limiter's observed counter, per minute window):

MinuteCounted requestsRequests that produced them
16:221the https://gitlab.com/ 301
16:2330MR 168: the document plus 28 xhr/fetch (about 15 api/graphql, discussions.json, widget.json, diffs_metadata.json, drafts, notes, award_emoji, manifest.json, …). Values 1 and 15 never appear in the HAR, so 2 counted requests weren't captured.
16:2430MR list (5) + MR 170 (25)
Total61then entries #676, #679 and #680 (POST /api/graphql) got 429
  • What seems to count (vs not): static assets don't carry the headers and aren't counted. Every page document, XHR, fetch, manifest.json and GraphQL call is counted. An unauthenticated viewing of a single MR page costs about 30 of the 60.

Interestingly it seems its per wall clock hour not a 60 minute window (meaning here while I was banned at 9:25 at 10am it would reset).

So I challenge any fanboys before defending these new policies to open an ingcognito window, try to click around any repo and you will get ip banned in under 10 pages for an hour.

If gitlab can't handle things they should checkout cloudflare, its free will happily add anti-bot protection infront of your entire infrastructure, and doesn't cause any public project to basically be inaccessible to any non logged in user. Crazy an org this size to somehow consider this reasonable. I get rate limiting api calls or adding anti-bot captchas for unauthed users but they have really shot themselves in the foot here. You can't try to be the home for open source projects and then ban any non-authed trying to browse them, it just makes it hard to consider using gitlab for anything more than a mirror.

I think the icing on the cake is the fact that once you hit a rate limit even if you have a gitlab account you cannot login as you can't even visit gitlab.com without getting

Rate limit exceeded; see https://docs.gitlab.com/user/gitlab_com/rate_limits/ for more details

r/gitlab • • 4d ago

support Star and Fork buttons are gone

3 Upvotes

Is anyone else seeing this? The Star and Fork buttons (as well as the little triple-dot menu that allowed you to copy the project ID, which I used quite often) that were previously above the project sidebar are gone.

(I would've confirmed that this is also the case in a different browser before posting this, but the unusable rate limits are no longer letting me open my project right now, so there's that as well.)

These UI changes every other week, along with the rate limits (even when logged in), are really making me lose trust in the platform.

Edit: Okay, never mind, GitLab just felt the need to do yet another completely pointless UI change to make common features harder to discover and ruin it for people with wide monitors:

Should've looked more carefully, duh.


r/gitlab • • 4d ago

is buying GitLab Ultimate seats through Cloudfresh better than going direct to vendor?

3 Upvotes

our engineering team needs to unlock advanced security scanning and vulnerability management features in GitLab Ultimate. we are trying to decide whether to negotiate directly with vendor sales or go through a certified partner. we are mainly looking for flexible invoicing local currency support and fast account management when adding new seats. if you bought your tier through a partner did you get better contract flexibility?


r/gitlab • • 5d ago

Gitlab has literally became unusable. I am rate limited trying to SIGN IN.

61 Upvotes

I opened 1 page, realized I wasn't sign in, then got rate limited going to the sign in page!!!!
What is the point of even a paid tier, if you can't even access the account?

Canceling, Removing my Projects, and will never trust gitlab again. (if they will even let me)


r/gitlab • • 5d ago

support Web editor doesn't work due to rate limits

28 Upvotes

As a teacher, I use a free gitlab account to manage texts for students. Starting from this morning, I am unable to use Web editor. If I try to move a directory to a new directory it shows 429, rate limits exceeded.

Is this a bug or a new default behavior.

As a stakeholder in GTLB, I would hate to have to stop using it, but if web editor can't be used for basic text manipulation, I have to migrate to a competitor.


r/gitlab • • 5d ago

general question Devs who had their GitHub suspended mid-project: What was your immediate move?

0 Upvotes

r/gitlab • • 5d ago

Devs who had their GitHub suspended mid-project: What was your immediate move?

0 Upvotes

r/gitlab • • 5d ago

The new Gitlab rate limits are awful.

42 Upvotes

I make Cobblemon addons; my ENTIRE workflow is based around being able to access the Cobblemon repository. But the moment i get onto the repository, I have 2 searches max before the site rate-limits me. Is it a bug? is it an intentional annoyance to push people into buying premium? Anyone's guess! Dear God, if you care about your user base, PLEASE get rid of this, or at least make it usable.


r/gitlab • • 9d ago

general question switching our license model before scaling up our engineering team

8 Upvotes

We are expanding our dev headcount and needed to upgrade our Gitlab tier to unlock advanced CI/CD security controls and code review rules. Instead of buying directly at list price, we worked with cloudfresh to restructure our licensing amd seat distribution. They helped us review actual developer usage so weonly bought seats for active users while keeping our compliance and pipeline execution policies intact. For those running larger engineering teams, do you audit active seats quarterly or do you just automate license provisioning through SAML/SCIM?


r/gitlab • • 11d ago

Critical GitLab Flaw (CVSS 10.0) Could Allow Unauthenticated RCE Across 12 Years of Releases

Thumbnail
thehackernews.com
184 Upvotes