1
0
mirror of https://github.com/quay/quay.git synced 2026-01-27 18:42:52 +03:00
Commit Graph

96 Commits

Author SHA1 Message Date
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
Kenny Lee Sin Cheong
4546163e83 registry: implements the OCI 1.1 referrers API (PROJQUAY-7280) (#2597)
* registry: implements the OCI 1.1 referrers API

Migrations:
- Adds a subject column for lookup
- Adds a subject_backfilled column to track status of the backfilling
of existing manifests
- Adds a manifest_json column making use of postgres' JSONB support,
for future use.

Manifestsubjectbackfillworker: Indexes existing manifests for possible
existing subject field.

* Deprecate IGNORE_UNKNOWN_MEDIATYPES

* Cleanup
2024-06-07 13:28:13 -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
Brandon Caton
0e496b46a5 autoprune: add initial setup for the autoprune feature (PROJQUAY-6094) (#2277)
Adds the auto-prune worker, database models, and feature flag.
2023-10-05 13:37:36 -04:00
Michaela Lang
324844bd5c init(postgresclientcerts): add Postgresql client certificate authentication (PROJQUAY-2417) (#2156)
* add Postgresql client certificate authentication option

* fixed tailing whitespace as reported by pre-commit
2023-08-30 12:54:04 +02:00
Kenny Lee Sin Cheong
5f63b3a7bb chore: drop deprecated tables and remove unused code (PROJQUAY-522) (#2089)
* chore: drop deprecated tables and remove unused code

* isort imports

* migration: check for table existence before drop
2023-08-25 12:17:24 -04:00
Brandon Caton
db4fc04124 quota: disabling quota worker when running config editor (PROJQUAY-5925) (#2131) 2023-08-15 08:56:47 -04:00
Brandon Caton
6cf0a3531b quota: calculating registry size (PROJQUAY-5476) (#1879)
Allows superusers to trigger a calculation of the deduplicated registry size. A superuser can go to the organization panel of the superuser page and select Calculate to queue a calculation of the registry total. The total will only be calculated when requested. Includes warning to user of increase of database load when running calculation.
2023-05-24 17:10:40 -04:00
Brandon Caton
e6f2dc3354 quota: excluding robots from quota total (PROJQUAY-5469) (#1871)
Adding quotatotalworker to config services / excluding robots from quota total
2023-05-10 14:54:57 -04:00
Marcus Kok
0a1c7fb22e marketplace: add reconciler (PROJQUAY-5320) (#1817)
marketplace: add reconciler (PROJQUAY-5320)
* check RH marketplace after stripe for private repo creation / changing visibility
* add reconciliation worker that creates RH subscriptions in marketplace for pre-existing stripe customers
2023-05-08 09:48:17 -04:00
Brandon Caton
a2c379d47c quota: Include blob deduplication in totals (PROJQUAY-3942) (#1751)
Allows for only unique blobs are counted at the namespace and repository level. Calculation includes manifest list sizes.
Add's the following internal configurations that default to true:
QUOTA_INVALIDATE_TOTALS: Invalidates calculated totals when FEATURE_QUOTA_MANAGEMENT is set to false
RESET_CHILD_MANIFEST_EXPIRATION: Resets the expiry for child manifests on push of the manifest list for immediate GC eligibility
PERMANENTLY_DELETE_TAGS: Enables features related to the permanent deletion of tags outside the configured time machine window
2023-05-01 16:40:01 -04: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
Ivan Bazulic
eb30813683 task: remove obsolete logrotate.conf file (PROJQUAY-4364) (#1500)
Removes the obsolete `logrotate.conf` file which was used in Quay 2.9 and below when nginx logs were stored under `/var/log/nginx` inside the container instead of being redirected to `/dev/stdout`. This file is no longer needed.
2022-08-31 17:27:41 +02: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
e1745a9b13 init: fix bash path before appending certs (PROJQUAY-3881) (#1359) 2022-06-03 13:37:34 -04:00
Kenny Lee Sin Cheong
8786ef2efd init: ensure a newline is present before appending certs (PROJQUAY-3881) (#1356)
Make sure the script still works when mounting certs as a read-only fs.
2022-06-02 16:53:50 -04:00
Kenny Lee Sin Cheong
16d9a2ce41 init: ensure a newline is present before appending certs (PROJQUAY-3881) (#1352) 2022-05-31 15:00:04 -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
Kenny Lee Sin Cheong
a07ba48055 conf: fix supervisord chunk worker template (#1259) 2022-04-19 16:17: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
Oleg Bulatov
a13f4cf624 Use final image for development (#1060) 2022-03-16 14:15:42 +01: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