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

171 Commits

Author SHA1 Message Date
Shubhra Deshpande
240d6441ba feat: Add image pull statistics API endpoints and UI integration (PROJQUAY-7176) (#4382)
feat: Add image pull statistics API endpoints and UI integration

- Add new API endpoints for tag and manifest pull statistics
- Integrate pull metrics into web UI with new table columns
- Add FEATURE_IMAGE_PULL_STATS feature flag and PULL_METRICS_REDIS config
- Add pullstatsredisflushworker to supervisord configuration
- Add comprehensive test coverage for pull statistics functionality

Co-authored-by: shudeshp <shudeshp@redhat.com>
2025-10-27 15:19:52 -04:00
Shubhra Deshpande
22290c9812 deps: updated raven dependency to be compatible with python 3.12 (PROJQUAY-9198) (#4169)
* Updated raven dependency to be compatible with python 3.12

---------

Co-authored-by: shudeshp <shudeshp@redhat.com>
2025-08-07 15:58:59 -04:00
Ivan Bazulic
9be679eb58 mirror: Add job timeout to mirror configurations (PROJQUAY-7249) (#3723)
* mirror: Add job timeout to mirror configurations (PROJQUAY-7249)
Previous global job timeout of 5 minutes was inadequate for big images. The timeout should now be configurable in much the same way as sync is. Minimum job length is 300 seconds/5 minutes.

The PR is still work in progress.

* Fix init db, remove reference to user data in logs

* Fix tests, change repo mirror configuration

* Fix tests, make mirroring cancellable through UI

* Add cancel mirror test, change HTML document to reflect mirror timeout

* Flake8 doesn't like when '==' is used with 'None'

* Fix mirror registry tests

* Add new cypress data to fix cypress tests

* Added ability to define upload chunk size to RADOS driver, small changes to repo mirror HTML page

* Fix database migration to follow HEAD

* Upload new database data for Cypress tests

* Make skopeo_timeout_interval mandatory on API calls

---------

Co-authored-by: Ivan Bazulic <ibazulic@redhat.com>
2025-06-12 19:09:51 +02:00
Jonathan King
3e165571dd chore: update moment version in cdn (PROJQUAY-8781) (#3766) 2025-04-24 09:29:31 -04:00
Brandon Caton
4663a9de44 ui: adding under_maintenance state to status indicator (PROJQUAY-8507) (#3609)
Adding under_maintenance state to status indicator
2025-02-03 11:38:59 -05:00
Marcus Kok
f69716b867 marketplace: splittable sku for MW02702 (PROJQUAY-8151) (#3389)
* marketplace: splittable sku for MW02702 (PROJQUAY-8151)
* Alembic migration to drop unique constraint on the orgrhsubscriptions
  table
* Can split sub quantities of MW02702 across multiple orgs
* Can specify quantity for the MW02702 SKU across orgs on react UI
* Update angular UI to allow user to specify quantities for MW02702
2025-01-09 09:37:09 -05:00
Shubhra Deshpande
5f2afe53fb ui: updated the description on the role permission for admin role (PROJQUAY-8298) (#3481)
ui: updated the description on the role permission for admin role

Co-authored-by: shudeshp <shudeshp@redhat.com>
2024-12-10 13:21:29 -05:00
Brandon Caton
961e7c40ec ui: removing bootbox (#3415)
removing bootbox
2024-11-22 11:19:26 -05:00
Harish Govindarajulu
9f72e2efd9 ui: Update regex pattern helper text for validating team name (PROJQUAY-8110) (#3353)
* ui: update regex pattern in helpertext for team name(PROJQUAY-8110)

Signed-off-by: harishsurf <hgovinda@redhat.com>

* old ui: update regex pattern for validating team name

---------

Signed-off-by: harishsurf <hgovinda@redhat.com>
2024-10-21 14:19:55 -04:00
Ivan Bazulic
77bc70a637 logs: Audit export logs requests (PROJQUAY-7679) (#3146)
* logs: Audit export logs requests (PROJQUAY-7679))
We add the ability to audit export logs requests that were previously not tracked.

* Add UI elements to properly render new audit log

* Truncate date/time column on exterme zooms

* Add initdb.py entries

* Fix migration and add test db data

* Add test database and fix migration paths

* Changed logging mechanism to grab raised exceptions

* Fix improper import

* Add date/time timestamp to saved metadata

* Change message on export logs screen in UI

* Changed message in old UI as well

* Change log description in new UI too

* Simplify call logic and add additonal information to logged errors
2024-10-03 13:07:22 -04:00
Sunandadadi
06a816dd44 ui: removing image expiry trigger option for old ui (PROJQUAY-7735) (#3173)
* ui: removing image expiry trigger option for old ui (PROJQUAY-7735)

* remove trailing whitespace
2024-08-29 11:41:36 -04:00
Ivan Bazulic
3c19150d9b oldui: Fix horizontal scrolling on vulnerability reports (PROJQUAY-7686) (#3153)
Old manifest vulnerability status page, still in use, would cause artifacts on long URLs and huge vertical scroll bars. This fix limits the size of the displayed link thus eliminating vertical scrolls. Tested on up to 150% zoom on 4k resolution.
2024-08-21 10:55:47 -04:00
Brandon Caton
17e368c109 ui: assign OAuth token to user form checks (PROJQUAY-7433) (#3043)
disable submit if no scope selected, fix bug when cancelling user assignment
2024-07-17 15:03:27 -04:00
Brandon Caton
854046d904 ui: adding message that registry wide autoprune has been enabled (PROJQUAY-7452) (#3042)
adding message that registry wide autoprune has been enabled
2024-07-17 13:55:56 -04:00
Brandon Caton
69f140f7b7 oauth: clarifying message on creating oauth token (PROJQUAY-7434) (#3036)
additional message on create oauth token
2024-07-16 19:55:44 +00:00
Brandon Caton
916aff690c oauth: logging assign oauth action to audit logs (PROJQUAY-7431) (#3033)
logging assign oauth action to audit logs
2024-07-16 14:24:17 -04:00
Sunandadadi
02c72115a2 ui: show image expiry trigger in usage logs (PROJQUAY-7466) (#3018) 2024-07-11 14:31:56 -04:00
Brandon Caton
e4f05583c1 oauth: allowing to assign token to user (PROJQUAY-7074) (#2869)
Allow organization administrators to assign Oauth token to another user.
2024-06-25 09:23:51 -04:00
Marcus Kok
85ecb7cbfd ui: show 'unlimited' if private repo count is over max number (PROJQUAY-7016) (#2824)
show 'unlimited' if private repo count is over max number
2024-06-11 08:59:07 -04:00
Marcus Kok
a35009a9cf ui: show repo count in marketplace UI (PROJQUAY-7185) (#2875)
ui: show repo count in marketplace UI
2024-06-06 09:11:40 -04:00
Sunandadadi
d10c868edc ui: send recovery email option in superusers panel (PROJQUAY-7195) (#2879) 2024-05-15 17:41:00 -04:00
Sunandadadi
bf766a8288 ui: dont show username password signin when auth_type is oidc (PROJQUAY-6740) (#2778)
ui: Dont show username password signin when auth_type is oidc (PROJQUAY-6740)
2024-03-20 16:13:14 -04:00
Bill Dettelback
49eddb992b ui: changed wording from 'Vulnerabilities' to 'Advisories' on Security tab (PROJQUAY-6638) (#2772)
Changed wording from 'Vulnerabilities' to 'Advisories' on Security tab
2024-03-19 08:35:40 -04:00
Brandon Caton
4f0db4b90f quota: feature flagging quota edit/view/enforce (PROJQUAY-6734) (#2709)
feature flagging quota edit/view/enforce functionality
2024-03-05 13:10:18 -05:00
Sunandadadi
4cb0a57488 ui: ui and initial scaffolding for OIDC auth (PROJQUAY-6298) (#2646)
* added base class for OIDC auth + UI

* adding read-only teams page + display sync config + option to remove team sync

* setting page in read only mode fix

* ui tests

* adding validation for group name input

* fixes based on review + fixing test suite

* add backend tests for externalOIDC

* minor fixes
2024-02-20 11:58:10 -05:00
Christian Loos
696c35a8ae ui: fix docker and podman login command for windows (PROJQUAY-6648) (#2644) 2024-02-12 11:04:26 -05:00
Marcus Kok
5c44cc483f ui: add section for RH subscriptions under billing settings (PROJQUAY-5363) (#2656)
* Add marketplace ui to patternfly
* Fix bug where unlimited private repo sku
showed extremely large number in ui
2024-02-08 14:03:59 -05:00
Brandon Caton
df73b6e9e1 ui: updating references to status.redhat.com (PROJQUAY-6654) (#2645)
Updates references from `status.quay.io` to `status.redhat.com`.
2024-02-07 14:07:38 -05:00
Brandon Caton
eec2c0fc5e ui: fixing tag list reset when rendering manifest lists (PROJQUAY-5793) (#2643)
fixing tag list reset when rendering manifest lists
2024-02-05 10:53:30 -05:00
Marcus Kok
2ab7dc29f4 marketplace: add support for quantity from subscriptions api (PROJQUAY-6551) (#2633)
* Adds handling for when a subscription returned from the subscription watch api has a quantity greater than 1. Number of private repos should be correctly calculated using the quantity.

* Updates ui so that subscriptions can only be added to an org as a group, i.e. a subscription with quantity = 2 cannot be split across organizations.
2024-01-29 15:21:30 -05:00
Daniel Messer
e8ff33e728 logs: add failure logging for login, push, pull and delete events (PROJQUAY-5411) (#1903)
* add login failure logging

Signed-off-by: dmesser <dmesser@redhat.com>

* move failure logging into credential validation

Signed-off-by: dmesser <dmesser@redhat.com>

* more precise tracking of affected users

Signed-off-by: dmesser <dmesser@redhat.com>

* fix indent

Signed-off-by: dmesser <dmesser@redhat.com>

* differentiate robots with wrong credentials

Signed-off-by: dmesser <dmesser@redhat.com>

* don't audit failures by default

Signed-off-by: dmesser <dmesser@redhat.com>

* discrete failure tracking for logins, push, pulls and deletes

Signed-off-by: dmesser <dmesser@redhat.com>

* refine log metadata

Signed-off-by: dmesser <dmesser@redhat.com>

* login failure log visualization

Signed-off-by: dmesser <dmesser@redhat.com>

* properly use data model

Signed-off-by: dmesser <dmesser@redhat.com>

* fix unit test bug

Signed-off-by: dmesser <dmesser@redhat.com>

* track non-existing repos differently

Signed-off-by: dmesser <dmesser@redhat.com>

* log view visualization of failed pushes and pulls

Signed-off-by: dmesser <dmesser@redhat.com>

* ensure all tests are conducted with failure logging

Signed-off-by: dmesser <dmesser@redhat.com>

* additional unicode protection

Signed-off-by: dmesser <dmesser@redhat.com>

* python black formatting

Signed-off-by: dmesser <dmesser@redhat.com>

* add cypress test data

Signed-off-by: dmesser <dmesser@redhat.com>

* add safety checks for ascii conversion attempts

Signed-off-by: dmesser <dmesser@redhat.com>

* adjusting unit test with correct error message

Signed-off-by: dmesser <dmesser@redhat.com>

* update to alembic head

Signed-off-by: dmesser <dmesser@redhat.com>

* add standard oauth token metadata in audit

Signed-off-by: dmesser <dmesser@redhat.com>

* update alembic head

Signed-off-by: dmesser <dmesser@redhat.com>

* correct field name

Signed-off-by: dmesser <dmesser@redhat.com>

* formatting

Signed-off-by: dmesser <dmesser@redhat.com>

* bump alembic head

Signed-off-by: dmesser <dmesser@redhat.com>

* refactor auth logging imports

Signed-off-by: dmesser <dmesser@redhat.com>

* bump alembic head

Signed-off-by: dmesser <dmesser@redhat.com>

* formatting

Signed-off-by: dmesser <dmesser@redhat.com>

* restore module

Signed-off-by: dmesser <dmesser@redhat.com>

* pre-commit fixes

Signed-off-by: dmesser <dmesser@redhat.com>

* adding missing default

Signed-off-by: dmesser <dmesser@redhat.com>

* bump alembic head

Signed-off-by: dmesser <dmesser@redhat.com>

* update test data

Signed-off-by: dmesser <dmesser@redhat.com>

* refactoring to save db calls

Signed-off-by: dmesser <dmesser@redhat.com>

* fix unit tests

Signed-off-by: dmesser <dmesser@redhat.com>

* handle unicode conversion errors on email look up

Signed-off-by: dmesser <dmesser@redhat.com>

* bump alembic head

Signed-off-by: dmesser <dmesser@redhat.com>

* proper debug logging and conditional db calls

Signed-off-by: dmesser <dmesser@redhat.com>

* omit wildcard import

Signed-off-by: dmesser <dmesser@redhat.com>

* re-add import

Signed-off-by: dmesser <dmesser@redhat.com>

---------

Signed-off-by: dmesser <dmesser@redhat.com>
2024-01-16 16:46:20 +01:00
Marcus Kok
2a4ac09306 billing: marketplace UI (PROJQUAY-6551) (#2595)
* billing: marketplace UI

adds UI in billing section for managing user and org-bound skus

add more unit tests for org binding

changed endpoint for bulk attaching skus to orgs
2024-01-11 11:48:38 -05:00
Marcus Kok
1c893baba5 marketplace: update reconciliationworker to use webCustomerId instead of ebsAccountNumber (PROJQUAY-233) (#2582)
* update reconciliationworker to use webCustomerId instead of
ebsAccountNumber

* fix reconciler where it was incorrectly using the ebsAccountNumber to
  create subscriptions
* add job to reconciler so that it reconciles different ids between the
  database and the user api
* separate skus to be used by billing and skus to be used by reconciler
2024-01-05 16:15:37 -05:00
Brandon Caton
9b43b4752f ui: Prevent switch to beta UI toggle from rendering if user is anonymous (PROJQUAY-6526) (#2558)
prevent switch to beta UI toggle from rendering if user is anonymous
2023-12-15 11:24:09 -05:00
Syed Ahmed
4f0c8db105 ui: show UI toogle to all users in quay.io (PROJQUAY-6505) (#2553)
Removes the check that limits the UI toggle to RedHat
users
2023-12-14 10:30:05 -05:00
Daniel Messer
03490a0614 ui: fix broken update of repo description (PROJQUAY-6243) (#2554)
fix broken update of repo description

Signed-off-by: dmesser <dmesser@redhat.com>
2023-12-12 16:10:23 +01:00
Brandon Caton
236e2fe4fd autoprune: adding audit logs to namespace autoprune policy API (PROJQUAY-6229) (#2431)
Add's audit logs to the CRUD endpoints for both user and organization namespace auto-prune policies.
2023-12-04 13:51:52 -05:00
Brandon Caton
fa8aaa328f autoprune: background worker (PROJQUAY-6095) (#2402)
Implementation of the background worker for namespace auto-pruning.

Co-authored-by: Sunanda Dadi <Sunandadadi@users.noreply.github.com>
2023-10-16 16:45:20 -04:00
Syed Ahmed
27f1699b72 ui: Add delay after write operations (PROJQUAY-6146) (#2400)
This is useful for cases where reads and writes are
going to different DBs and there is a replication lag
between them
2023-10-12 12:45:16 -04:00
Ivan Bazulic
b42f2d7a23 documentation: Change tag template link location for build triggers (PROJQUAY-6044) (#2234)
The documentation link on the build trigger tag template screen is currently pointing to the location of the `schema` directly in the code.
This is not really useful or user friendly. This will repoint that documentation link to the KCS article written for this purpose.
2023-09-14 11:54:01 -04:00
Syed Ahmed
8314a58515 compliance: Update export hold email (PROJQUAY-6024) (#2230)
New email used by export hold team
2023-09-11 11:58:27 -04:00
Brandon Caton
65c1829b82 ui: displaying quota totals on user namespaces (PROJQUAY-5581) (#1953)
User namespaces can now view the quota total.
2023-06-21 09:09:16 -04:00
Brandon Caton
3152b1021e ui: display sizes as base 2 (PROJQUAY-5524) (#1968)
Standardizes all sizes to be displayed as base 2 (1024 vs 1000) consistently across the Angular UI.
2023-06-13 13:59:44 -04:00
Brandon Caton
e97a3eb48f ui: changing quota configuration byte units to base 1000 (PROJQUAY-5595) (#1939)
All byte units in the UI are base 1000 except for the quota configuration. This changes the configuration to also be base 1000 for consistency.
2023-06-06 09:40:14 -04:00
Brandon Caton
e38d70f0cb api: add permanently delete tag usage log (PROJQUAY-5496) (#1887)
Now logging the permanently delete tag as a usage log.
2023-06-02 10:43:14 -04:00
Brandon Caton
cc70467114 Removing permanently deleted tags from tag history (#1915)
If a tag has been permanently deleted it shouldn't be shown in the tag history panel with the ability to be reverted or permanently deleted again.
2023-06-01 11:09:01 -04:00
Brandon Caton
6a39d59f65 superuser: lowering page limit (PROJQUAY-5178) (#1912)
Lowering the page limit allows for more operations to be done per requested user. Specifically in the scenario where for each user a LDAP lookup is done to check whether the user in the list is a superuser or not. This allows time for the request to complete and load the user list without error.
2023-05-31 10:58:30 -04:00
Harish Govindarajulu
e349762d78 proxy: Allow anonymous pulls from registries (PROJQUAY-5273) (#1906)
This change allows validation of proxy cache config api to support anonymous pulls
when the registry returns a 401 since repo name is not known during initial proxy config

Signed-off-by: harishsurf <hgovinda@redhat.com>
2023-05-25 11:53:15 -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
9adf2d8cf0 superuser: paginate user's list (PROJQUAY-4297) (#1881)
Allow loading of superuser user list for larger registries by paginating API call.
2023-05-18 11:20:30 -04:00