1
0
mirror of https://github.com/quay/quay.git synced 2026-01-29 08:42:15 +03:00
Commit Graph

86 Commits

Author SHA1 Message Date
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
Kenny Lee Sin Cheong
829b77cee5 Set QUAYRUN default to be backward compatible (#1008)
Set QUAYRUN to default to QUAYCONF. If needed, QUAYRUN can be set as
environment variable.
2021-12-01 15:14:51 -05:00
Kenny Lee Sin Cheong
03a3625650 nginx: rename base http template file ((PROJQUAY-2883) (#1007) 2021-12-01 11:29:22 -05:00
Kenny Lee Sin Cheong
1ba53f4f09 nginx: support client ip through x-forwarded-for header (PROJQUAY-2883) (#1003)
Support client ip from x-forwarded header. This is needed if one of
the intermediate proxy between the client and Quay does not support
proxy protocol.

If set, FEATURE_PROXY_PROTOCOL will use the L4 feature. If not, say,
when a L7 proxy is used, fallback to using x-forwarded-for, and allow
specifying trusted ip/cidr for Nginx.
2021-12-01 09:30:42 -05:00
Oleg Bulatov
7fe6d506a8 Use /run for supervisord socket (#947) 2021-12-01 10:14:16 +01:00
Hank Donnay
630d6f4605 nginx: use bigger http/2 chunks for blobs (#630)
This should ameliorate PROJQUAY-1228.

Signed-off-by: Hank Donnay <hdonnay@redhat.com>
2021-11-10 14:53:32 -05:00
mosen
fca67e7729 feat: mypy type annotations (PROJQUAY-740) (#455)
* Add dev dependencies mypy and typing

* Add makefile target `types-test`, not yet included in `test` target.

* Generate stubs for imported modules to avoid mypy complaining about missing types.

* Remove generated stubs as there are way too many and they cause tons of mess in the repo. Switched to ignoring untyped modules for now, to concentrate on Quay-only type checking.

* mypy config changed to ignore missing imports

* ignore property decorator as it is not supported by mypy

* mypy annotations for many configuration variables

* re-generate mypy_stubs directory as its necessary in some classes for base classes to prevent mypy errors

* util/registry/queuefile referred to non existent definition of Empty class in multiprocessing.queues

* ignore type checking for things like monkey patching and exported/re-imported objects that 
mypy does not allow.

* Adjust mypy config to warn us about unreachable return paths and useless expressions.

* Add the __annotations__ property to INTERNAL_ONLY_PROPERTIES so that it is not part of the config schema testing

* Remove redundant dependencies `typing` and `typing-extensions` which are NOOP after Python 3.5

* Remove mypy-extensions which only provides a TypedDict implementation but has not been updated since 2019.

* updated mypy to 0.910 which requires all types packages to be installed manually.

* exclude local-dev from type checking until core team can suggest an outcome for __init__.py duplicate packages

* re-add typing dependency which will be needed until Python 3.9

* ignore .mypy_cache

* add mypy stub for features module to replace inline definitions

* import annotations eager evaluation in billing.py as it was required to reference a class declared later in the module.

* remove the type definition of V1ProtocolSteps/V2ProtocolSteps to make tox happy
2021-10-25 09:56:26 +02:00
Kenny Lee Sin Cheong
b0adc9667c registry: add support for extended repository names (PROJQUAY-1535) (#814)
Allows forward slashes to be used in repository names according to
https://docs.docker.com/docker-hub/repos/.

NOTE: This change simply allows the use of "/" in repository
names needed for certain Openshift use cases. This does not implement
any new permission model for nested paths. i.e A repository with a
nested path is treated as a single repository under a _single_
namespace.
2021-07-28 12:27:33 -04:00
Jonathan King
1f7d128c8d dockerfile: Fix downstream python site-packages location (PROJQUAY-2258) (#842)
- Allow PYTHONUSERBASE_SITE_PACKAGE to be added as an environment variable
- Set PYTHONUSERBASE_SITE_PACKAGE to /usr/local/lib/python3.8/site-packages in downstream Dockerfile
2021-07-22 10:04:30 -04:00
Kenny Lee Sin Cheong
86d150a204 dockerfile: refactor dockerfile (PROJQUAY-1997) (#787)
* cicd: toggle on more OCI conformance tests (PROJQUAY-1997)

This commit also has the CI keep the report around as a workflow
artifact.

Signed-off-by: Hank Donnay <hdonnay@redhat.com>

* external_libraries: patch out wider dependencies (PROJQUAY-1997)

This change makes it possible to run the external_libraries script
without needing to pull in the entire quay configuration framework. This
will allow for a more granular Dockerfile.

Signed-off-by: Hank Donnay <hdonnay@redhat.com>

* cicd: enable docker buildkit backend (PROJQUAY-1997)

Signed-off-by: Hank Donnay <hdonnay@redhat.com>

* Dockerfile: rework to be faster (PROJQUAY-1997)

This change allows for the Dockerfile to reuse more cache, and run in
parallel when using the BuildKit backend.

* init: Uses user site-package directory as Python root (PROJQUAY-1997)

Use `python3 -m site --user-site` as Python root when installing certs.

Co-authored-by: Hank Donnay <hdonnay@redhat.com>
2021-05-12 10:36:58 -04:00
thomasmckay
c81eed7640 PROJQUAY-1580 - remove TLSv1 from nginx (#696) 2021-03-22 15:43:51 -04:00