1
0
mirror of https://github.com/quay/quay.git synced 2026-01-26 06:21:37 +03:00
Commit Graph

64 Commits

Author SHA1 Message Date
jbpratt
c51c99e839 fix(nginx): route /buildlogs to backend for React UI (PROJQUAY-6767) (#4725)
The download button on the Build Logs page in the new React UI was
returning 404 because /buildlogs/<build_uuid> requests were not being
proxied to the Flask backend. This adds /buildlogs to the nginx proxy
pass regex pattern so the endpoint is accessible when using React UI.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-authored-by: Claude <noreply@anthropic.com>
2025-12-12 14:27:38 +00:00
jbpratt
c4847bc4b8 chore: add /about and /security static pages to new UI (#4592)
adds two new static information pages to the React UI:
- /about page with company info cards and bill-of-materials table
- /security page with security practices and features documentation

implementation includes:
- PatternFly components for consistent UI design
- sortable/filterable packages table with pagination
- actual CoreOS and Red Hat logos
- nginx routing configuration for new paths
- webpack config updates to handle image assets from src/assets

Signed-off-by: Brady Pratt <bpratt@redhat.com>
Co-authored-by: Claude <noreply@anthropic.com>
2025-11-20 16:08:40 +00:00
Brandon Caton
73ca687b4e api: fixing recovery endpoint routing (PROJQUAY-9807) (#4578) 2025-11-20 09:07:28 -05:00
Harish Govindarajulu
ebf9a06fd5 fix(ui): Add missing superuser routes to nginx to prevent 404 (PROJQUAY-9741) (#4529)
Signed-off-by: harishsurf <hgovinda@redhat.com>
2025-11-18 21:03:00 +05:30
Harish Govindarajulu
cb5796bfbb fix(ui): Add OAuth token authorization flow for assigned users (PROJQUAY-9632) (#4428)
* Add missing nginx routes for assign user oauth flow for react

* Add Oauth flow for assinged user token generation

* Add cypress test for assigned user oauth flow

* Show Authorized app section even when external login isnt available
2025-10-31 17:27:31 +00:00
Brandon Caton
54b52901ec ui: adding DISABLE_ANGULAR_UI config param (PROJQUAY-9590) (#4385)
* ui: removing default ui check

* ui: add option to disable angular UI

* Creating explicit angular and react cookies with config default

* Fixing "current ui" display text to respond to light theme
2025-10-30 09:26:50 -04:00
Harish Govindarajulu
2d42e46eca fix(ui): OAuth token generation should not redirect to Old UI (PROJQUAY-9600) (#4406)
* Add nginx change to allow Oauth token generation in react

* Create new component to handle OAuth token generation in new ui

* Update cypress test for OAuth token generation

* Fix cypress test

Adds missing optional chaining + enable update-user.cy.ts tests

* Add assignuser OAuth token generation + cypress test
2025-10-29 12:33:40 -04:00
Harish Govindarajulu
de6af216b4 ui: Rewrite OAuthError component for React (PROJQUAY-9498) (#4383)
* Fix missing axios import

* Rewrite OAuth error for react to show a new error component

* Rewrite tests for OAuth flow

* Fix navigating to /signin from Headertoolbar

* replace url_for() with urlencode + add config setting for test suite

* Add checks before embedding redirect url + redesign OAUTH error screen
2025-10-22 13:14:17 -04:00
Harish Govindarajulu
f63d25bdd3 nginx: Add nginx routing logic to default to react UI for downstream (PROJQUAY-9207) (#4252)
* Add ngnix routing logic to default to react UI for downstream

* Remove defaulting from env, update Makefile to build react by default for local

* Add cypress test for signin and create account workflow

* Add missing routes + fallback to backend server

* Hide UI toggle when defaulting to new UI

* Adds forgot password + recovery email, recaptcha, missing login checks

* Add external login screen + support for other login types for new UI

* Add new screen for update user after external login

* Add authorized apps section under external logins tab

* Implement updateuser react component + fix cypress test

* Fix external login OAuth flow for react

* switch logic to default to new ui

* Add DEFAULT_UI: angular to config for cypress CI

* Fix cypress tests for oauth-callback

* Rebase and fix merge conflicts

---------

Signed-off-by: harishsurf <hgovinda@redhat.com>
2025-10-14 15:10:39 -04:00
Brandon Caton
6d2e3fb1c4 nginx: upgrading to 1.24 and removing server version (PROJQUAY-9060) (#4308) 2025-09-24 15:51:21 -04:00
Marcus Kok
6273fb6046 nginx: remove rate_limit_key from nginx logs (PROJQUAY-9203) (#4167)
remove rate_limit_key from nginx logs
2025-08-01 10:31:21 -04:00
Marcus Kok
5d5596f588 nginx: html encoded matching for regex pattern (PROJQUAY-9203) (#4164)
html encoded matching for regex pattern
2025-07-31 16:17:19 -04:00
Marcus Kok
515dab3d87 nginx: rate limit on namespace (PROJQUAY-9203) (#4159)
* nginx rate limit on namespace

* add rate limiting key to access logs
2025-07-30 15:58:23 -04:00
Marcus Kok
3bc13e6fed nginx: update rate limits on auth endpoint to 120 req/s (PROJQUAY-9149) (#4161)
update rate limits on auth endpoint to 120 req/s
2025-07-29 12:40:52 -04:00
Harish Govindarajulu
88abc8b2a4 Increase ngnix rate limit on the auth header (PROJQUAY-9149) (#4133)
Increase rate limit on the auth header

Signed-off-by: harishsurf <hgovinda@redhat.com>
2025-07-21 09:42:05 -04:00
Syed Ahmed
3b739cf4d2 Revert "util: parse forwarded headers for ip (PROJQUAY-8444)" (#3568)
Revert "util: parse forwarded headers for ip (PROJQUAY-8444) (#3566)"

This reverts commit 40e2eaa4da.
2025-01-15 19:14:46 -05:00
Marcus Kok
40e2eaa4da util: parse forwarded headers for ip (PROJQUAY-8444) (#3566)
add recursive directive to nginx config
2025-01-15 17:22:12 -05:00
Michaela Lang
0059596572 conf(nginx): change forwarded header removing host (PROJQUAY-8024) (#3327)
According to HCP support, the Ingress Load Balancer rejects requests
with a `host=...;` in the `forwarded` Header.

The PR changes that only the originating Client ($remote_addr) is
injected in the request as

```
Host: ....
Forwarded: for=127.0.0.1;
...
```
2024-11-06 07:34:10 -05:00
Ivan Bazulic
9fa48ea376 nginx: Increase the number and size of proxy buffers (PROJQUAY-6950) (#3303)
* nginx: Increase the number and size of proxy buffers (PROJQUAY-6950)
From [nginx documentation](https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_buffering):

> When buffering is enabled, nginx receives a response from the proxied server as soon as possible, saving it into the buffers set by the proxy_buffer_size and proxy_buffers directives.
> If the whole response does not fit into memory, a part of it can be saved to a temporary file on the disk.
> Writing to temporary files is controlled by the proxy_max_temp_file_size and proxy_temp_file_write_size directives.
>
> When buffering is disabled, the response is passed to a client synchronously, immediately as it is received. nginx will not try to read the whole response from the proxied server.
> The maximum size of the data that nginx can receive from the server at a time is set by the proxy_buffer_size directive.

By default, the value of `proxy_buffer_size` directive, if not set in the nginx configuration, is equal to one memory page which on most platforms equals 4 KiB of memory. When `FEATURE_PROXY_STORAGE` is turned on and STS driver is used, the size of headers reaches that limit of 4 KiB and, if it surpasses it, nginx will error out and will not process the request. With this PR we set the buffers to an adequate size so that proxy requests are properly processed by nginx.

* Add additional nginx directive to make buffers work
2024-10-04 11:31:48 -04:00
Syed Ahmed
78e9a3b6b8 nginx: revert #3098 (PROJQUAY-7573) (#3129)
reverting this change because we won't use keepalive with gunicorn workers
2024-08-09 16:36:08 -04:00
Sunandadadi
c597c2b9e3 nginx: set proxy_read_timeout on manifests endpoint (PROJQUAY-7573) (#3112)
* nginx: set proxy_read_timeout on manifests endpoint (PROJQUAY-7573)

* fixing indentation
2024-08-06 09:27:53 -04:00
Michaela Lang
aa4968c9c6 nginx: dropping x-forwarded-host (PROJQUAY-7563) (#3089)
dropping x-forwared-host from the request ensures S3 signatures are valid
2024-08-06 08:41:48 -04:00
Sunandadadi
912ce8c814 nginx: increasing keepalive timeout for manifests endpoint (PROJQUAY-7573) (#3098)
* nginx: increasing keepalive timeout for manifests endpoint (PROJQUAY-7573)

* nginx: increasing keepalive timeout for manifests endpoint (PROJQUAY-7573)

* fixing datatype

* changing MANIFESTS_ENDPOINT_KEEPALIVE_TIMEOUT to 60s

* add config param in schema

* fix formating

* set default to 0
2024-08-01 15:39:44 -04:00
Sunandadadi
f4711b3cec nginx: add email confirm route to new web ui (PROJQUAY-7444) (#3038) 2024-07-16 18:18:45 -04:00
Sunandadadi
7eb752ba0a nginx: add rule to route /updateuser to old ui (PROJQUAY-6722) (#2706)
add rule to route /updateuser to old ui
2024-03-11 11:05:26 -04:00
Brandon Caton
2c11f0da19 ui: updating nginx routing rule for userfiles (PROJQUAY-6841) (#2735)
Updating nginx routing rule to correctly route `^/userfiles/` paths.
2024-03-11 09:25:33 -04:00
Marcus Kok
19f2bb81d7 ui: add breadcrumbs for overview (PROJQUAY-5460) (#2676)
* add breadcrumbs for overview
* update nginx conf
* update domainRoute
2024-02-13 09:45:00 -05:00
Brandon Caton
7cec2f6697 ui: implementing creation of custom git trigger (PROJQUAY-6299) (#2599)
Implements the build trigger creation wizard.
2024-01-17 10:04:44 -05:00
Ivan Bazulic
b4418062f9 chore: Ensure use of HTTP 1.1 when proxying storage (PROJQUAY-5140) (#1825)
We were not enforcing the use of `HTTP 1.1` when storage proxy was concerned. This causes problems in certain complex scenarios.
2023-04-13 15:36:25 -04:00
Kenny Lee Sin Cheong
6e8e2d2fe7 chore: remove deprecated appr code (PROJQUAY-4992) (#1718) 2023-01-24 10:11:04 +01:00
Sunandadadi
056b6fca30 Nginx: Minor update to fix toggling issue on Safari (PROJQUAY-4527) (#1670) 2022-12-12 17:29:23 -05:00
Dave O'Connor
68f0017e01 Update nginx config (#1639)
Signed-off-by: Dave O'Connor <doconnor@redhat.com>
2022-12-05 16:53:10 -05:00
Flavian Missi
f45c68ebf2 conf/nginx: mark beginning of string in oauth location match (#1550) 2022-10-06 08:10:40 -04:00
Kenny Lee Sin Cheong
30bf405069 nginx: mark beginning of string in location match (#1546)
To prevent ambiguous routing with /config and tag routes.
2022-10-04 16:13:46 -04:00
Dave O'Connor
e947c41891 Update for all remaining endpoints (#1538)
Signed-off-by: Dave O'Connor <doconnor@redhat.com>

Signed-off-by: Dave O'Connor <doconnor@redhat.com>
2022-09-23 08:18:35 -04:00
Dave O'Connor
15e2c5a630 Resolve 404 on oauth (#1536) 2022-09-21 08:06:52 -04:00
Dave O'Connor
69ad27724b Add feature flags for IPv6 (#1525)
Signed-off-by: Dave O'Connor <doconnor@redhat.com>
2022-09-12 09:09:39 -04:00
Dave O'Connor
d95d4b3657 Invalidate browser cache on new ui toggle (#1520) 2022-09-07 15:48:01 -04:00
Dave O'Connor
585ec1cd93 Remove port on proxy redirect (#1514)
Signed-off-by: Dave O'Connor <1656866+HammerMeetNail@users.noreply.github.com>
2022-09-02 09:58:51 -04:00
Dave O'Connor
e5025f59ae Force /signin to use old UI (#1513)
Signed-off-by: Dave O'Connor <1656866+HammerMeetNail@users.noreply.github.com>
2022-09-01 10:44:55 -04:00
Dave O'Connor
a4069fdb8a Add nginx config (#1495) 2022-08-29 12:52:08 -04:00
Dave O'Connor
754d6862cc Add IPv6 (#1492) 2022-08-23 17:10:01 -04:00
Kenny Lee Sin Cheong
56b16b70cc storage: optimize large azure chunked upload (PROJQUAY-3753) (#1387)
- Increase nginx send timeout on blobs endpoints
- Reduce Azure blob block size

TODO: Spread block uploads over multiple worker threads.
2022-06-21 09:48:38 -04:00
Kenny Lee Sin Cheong
5471d3cbcb secscan: deprecate support for Clair V2 (PROJQUAY-2837) (#951)
Removes read support for Clair V2, along with the need to package
jwtproxy with Quay.

TODO: Drop deprecate image api + image table, remove image data model.
2022-05-31 10:15:54 -04:00
Syed Mushtaq Ahmed
aa7068a2cc nginx: block v1/tag for helium miner curl calls (PROJQUAY-3594) (#1248)
There are scripts calling the v1/tags API for helium miner
causing an DB load
2022-04-18 09:30:08 -04:00
Kenny Lee Sin Cheong
a79f7b6f40 buildman: increase allowed grpc body size for log streams (#1234) 2022-04-07 12:04:13 -04:00
Syed Mushtaq Ahmed
7b44f8c0d0 nginx: Update rate limiting for tags API (PROJQUAY-3283) (#1233)
Current rate limits for list tags is too high and causing
issues in quay.io reduce it to saner limits
2022-04-06 11:27:19 -04:00
Brandon Caton
de0d97640f nginx: Increase body timeout for buildman (PROJQUAY-3406) (#1198)
Nginx currently kills body reads that last longer than 60s. Bi-directional RPC calls like streaming logs requires longer reads. This change extends that timeout.
2022-03-24 09:02:23 -04:00
Syed Mushtaq Ahmed
2a38784a68 nginix: update rate limit values for quay based on traffic (PROJQUAY-3283) (#1175)
The values are based on the traffic numbers on quay.io for specific
endpoints
2022-03-10 13:18:11 -05:00
Kenny Lee Sin Cheong
ec7b7610ac nginx: add missing semicolon in template (PROJQUAY-2883) (#1020) 2021-12-06 10:18:44 -05:00