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

87 Commits

Author SHA1 Message Date
Sunandadadi
ba2aa54d3f UI: Superuser user panel settings icon permissions fix (PROJQUAY-3905) (#1364) 2022-06-08 10:46:45 -04:00
Sunandadadi
c93661e9d5 UI: Show settings icon for super user under Superuser Users Panel (PROJQUAY-3905) (#1358)
* UI: Show settings icon for super user under Superuser Users Panel (PROJQUAY-3905)

* Showing only current super users settings icon
2022-06-06 11:12:23 -04:00
Sunandadadi
f90e5e3dce Quota: Configuring Quota for user panel(PROJQUAY-3767) (#1334)
* Quota: Configuring Quota for user panel

* Added Quota Consumed column on Super users panel

* Fixing tests

* Fixing tests

* Adding tests for user quota operations

* Reverting org api changes + new endpoint for super user get method

* Reverting changes

* Added tests

* Fetching user namespace or organization
2022-05-31 11:22:37 -04:00
Daniel J Walsh
e75397ddfe Add support for podman pull (#1331)
Examples should show how to do commands with Podman in addition to
Docker.

Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
2022-05-18 15:22:53 +02:00
Sunandadadi
587cceb338 Quota UI: Adding Overall storage consumption for Super users panel page (PROJQUAY-3639) (#1307) 2022-05-10 14:47:51 -04:00
Sunandadadi
a57594cf01 Quota UI: Fix quota input value (PROJQUAY-3691) (#1293)
* Quota UI: Fix quota input value (PROJQUAY-3691)

* Setting White background color for input boxes
2022-04-28 16:16:13 -04:00
Sunandadadi
5bb2c121b1 Quota: Show a different error message if default quota is set on removing quota (PROJQUAY-3657) (#1287)
* Quota: Show a different error message if default quota is set on removing quota (PROJQUAY-3657)

* Indentation fix
2022-04-27 10:48:33 -04:00
Sunandadadi
51c675139d Quay UI: Converting to nearest integer (PROJQUAY-3602) (#1285)
* Quay UI: Rounding to 2 decimal places (PROJQUAY-3602)

* Indentation fix

* Converting to nearest integer
2022-04-27 10:30:19 -04:00
Sunandadadi
03269edcbe Quota UI: Show message that System wide default cannot be removed from an organization (PROJQUAY-3658) (#1282) 2022-04-25 16:33:46 -04:00
Sunandadadi
eea7389a24 Quota: Show system default on UI when quota configuration for the org is not set (PROJQUAY-3518) (#1280)
* Quota: Show system default on UI when quota configuration for the org is not set (PROJQUAY-3518)

* Fixing formatting

* Added function to reduce redundancy and shortened warning message

* added missing parameter to function call

* Fixed organization quota consumption view

* Fixing formatting

* Checking for None before calling function
2022-04-22 16:34:04 -04:00
Sunandadadi
f10690e7d3 Quota UI: Display Error when decimal values entered from UI (PROJQUAY-3627) (#1272)
* Quota UI: Display Error on entering decimal values from UI (PROJQUAY-3627)

* Adding decimal check function
2022-04-20 16:00:04 -04:00
Sunandadadi
cd2889439b Quota Management: Quota settings on Organization view needs to be read only (PROJQUAY-3622) (#1263)
* Quota Management: Quota settings on Organization view needs to be read only (PROJQUAY-3622)

* Adding superuser permissions check on put and delete methods

* Reverting changes

* Reverting changes
2022-04-19 18:16:11 -04:00
Sunandadadi
3176d5ba41 Quota UI: Syntax fix to throw error on 0 input (PROJQUAY-3419) (#1253) 2022-04-19 13:30:44 -04:00
Sunandadadi
923fc72a28 Quota UI: Showing percent consumed if quota is configured on an organization (PROJQUAY-0000) (#1249)
* Tracking aws ip ranges.json

* Reverting change

* Quota UI: Showing percent consumed if quota is configured on an organization (PROJQUAY-0000)
2022-04-18 15:13:17 -04:00
Sunandadadi
3d6545b9da UI: Quota UI enhancements (PROJQUAY-0000) (#1242)
* Tracking aws ip ranges.json

* Reverting change

* Added default quota limit + added error display div + fixed indentation + minor restructuring of html

* Add check for non-negative or zero quota

* Added Limit percent check. numbers between 1-100 only acceptable

* Show warning note if no quota limit is set

* Show warning if no Reject type limit is selected

* Adding Remove button to delete quota configuration

* If Reject does not exist add default reject quota limit + css

* Throw error if more than one Reject Limit Type

* Throw error on identical limits

* Fixing showing default limits

* Added Organization view settings

* Show Remove btn only if quota exists

* Fixing Remove modal pop up

* Quota Reporting if quota is not set

* Fixing Removing Quota for org

* Fixing super user and org admin permissions

* fix to checking default quota

* Added super user perms check on put, delete endpoints

* Fixing formatting

* Fixing multiple rejects checks + returing empty list instead of None

* Using super user API calls + hiding policy div till quota is set

* Added require_scpe and show_if decorators for super user permissions

* fixing configured quota check after return type changed from None to list
2022-04-14 10:33:20 -04:00
Kenny Lee Sin Cheong
896a3aab3a api: update the quota api so that it's more consistent with the other apis endpoints (PROJQUAY-2936) (#1221)
* api: update the quota api so that it's more consistent with the other apis (PROJQUAY-2936)

- Uodate the quota api to be more consistent with the rest of the
endpoints
- Handles some uncaught exceptions, such as division by zero
- Update some of the quota data models used by the api to take object
  references instead of names to make it easier to use
- Update table model naming conventions
- swagger operationid multiple nicknames
- Added more test cases for api
- Remove unused functions
- Update the UI for better UX, based on the api changes made

* quota: fix ui input form value

* quota: join quota type query

* Remove unused functions
2022-04-07 14:11:55 -04:00
Sunandadadi
a4c8924f11 Proxy cache: Elaborate hint message for anonymous pulls and making a safe request (PROJQUAY - 0000) (#1222)
* Tracking aws ip ranges.json

* Reverting change

* Proxy cache: Elaborate hint message for anonymous pulls and making a safe request
2022-03-31 11:39:32 -04:00
Sunandadadi
7524171ac8 Proxy Cache: Interface and UI for Proxy cache Configuration (PROJQUAY-3029) (#1204) 2022-03-31 10:48:59 +02:00
Brandon Caton
e67ea047c4 ui: Copy build logs error fix (PROJQUAY-3405) (#1201)
Currently when viewing the build logs and selecting `Copy Logs` the copy to clipboard will fail. This is because the content of the logs was being passed to the copy-clipboard function when it requires the ID of the element containing the text to copy. This passes the selector of the ID of the element containing the build logs.
2022-03-28 09:26:38 -04:00
Kenny Lee Sin Cheong
815ef44651 ui: remove deprecated docker-image-id references from ui (PROJQUAY-3418) (#1197)
Remove docker id references from ui. Tags should now be referencing
the manifest it is pointing to.
2022-03-23 16:15:15 -04:00
Flavian Missi
fe4d66b030 feat: pull-thru proxy cache (#1053)
introduces the possibility to pull images from external registries
through Quay, storing them locally for faster subsequent pulls.

Closes PROJQUAY-3030 and PROJQUAY-3033
2022-03-23 17:20:00 +01:00
Sunandadadi
c82d78ae85 Fix: Adding default vault to quota parameter (PROJQUAY-0000) (#1171)
* Tracking aws ip ranges.json

* Reverting change

* Adding defaut vault to parameter

* Moving quay-show inside div

* Revert changes on this file

* Reverting changes here

* adding temporary change

* reverting change
2022-03-09 02:52:43 +05:30
kwestpharedhat
15fa20a115 QuotaManagement: Reporting (PROJQUAY-2936) (#1048)
* initial commit

* fixing some bugs

* create quota management

Fix json request json type

Creation of quota is working

All quota crud operations

crud for quota limits

repository size reporting

adding registry model

error levels

namespacequota

remove holdover from user file

finalizing refactor to namespace over organization

finalization of functionality

fixing formatting to match with black style

missed some files in formatting

fixing access to attribute

add single test to verify its working

fix some bugs and add defensive catching

bug fixes and code resiliency

Bug fixes and making quota limits detect properly where necessary

remove transitive delete and other bug fixes

fix formatting and trasnitive deletion issues

fix repositorysize does not exist error

fix not nul constraint and add security tests

fix security tests and bug

more security test fixes

reorder security tests

put docker file back and adjust security testing

security tests reduced

Missed changes for status 200

missed additional 201 responses getting 200

security bypass for now

Another tweak to security testing

forgot 1 endpoint

bug fix for parsing dictionary

remove unnecessary check at blob head

add initdb for quota

Incorrect syntax repair

mysql only supports decimal

adding quota specific notifications

optimization

add permission checks

adjust security and add configuration parameter

fix security test for new security levels

Fix logic errors and improve caching

fix logic issue and error reporting

adjust things according to PR comments

fix refactor left overs

miscapitilazation

missed refactor location

refactor code to remove quota limit groupings

fix refactor errors

remove transitive deletion

fix transitive deletes

Transitive deletion work

Transitive deletion work

refactor registry model and remove it

place api behind feature flag

patch feature enabledment for tests

patch feature enabledment for tests

testing to see if the config is the problem

remove patch

fix new org bug

fixing notifications

mismatched parameters

fix org not exists

fixed paramter mismatch

fix nonetype access

fix nonetype access

new tables created user deletion issues

new tables created user deletion issues

parameter mismatch

fix transitive delete

fix model access error

record does not exist missing catch

fix quota deletion to always delete limits

quotalimits deletion on quota deletion

mistake

fix quota limits deletion

patch tests and disable feature

typo

switch to toggle feature

add feature patch to top of file

change testconfigpy

* change permissions

* adjust permissions

* change config access

* fix formatting

* gether feature information differently

* duplicate function name

* fix config name

* type conversion

* config adjustments

* incorrect keyword

* Update security api tests

* duplicate naming

* fix config schema

* revert files and fix error

* QuotaManagement: UI (PROJQUAY-2936) (#1)

* [WIP]: Quota Reporting on Quay UI

* Integrating quota reporting UI with backend

* Humanizing bytes on UI

* Quota Reporting UI on repo table view

* Taking pull and updating code

* Adding quota management view

* Added support for CRUD operations for org quota

* create quota management

Fix json request json type

Creation of quota is working

All quota crud operations

crud for quota limits

repository size reporting

adding registry model

error levels

namespacequota

remove holdover from user file

finalizing refactor to namespace over organization

finalization of functionality

fixing formatting to match with black style

missed some files in formatting

fixing access to attribute

add single test to verify its working

fix some bugs and add defensive catching

bug fixes and code resiliency

Bug fixes and making quota limits detect properly where necessary

remove transitive delete and other bug fixes

fix formatting and trasnitive deletion issues

fix repositorysize does not exist error

fix not nul constraint and add security tests

fix security tests and bug

more security test fixes

reorder security tests

put docker file back and adjust security testing

security tests reduced

Missed changes for status 200

missed additional 201 responses getting 200

security bypass for now

Another tweak to security testing

forgot 1 endpoint

bug fix for parsing dictionary

remove unnecessary check at blob head

add initdb for quota

Incorrect syntax repair

mysql only supports decimal

adding quota specific notifications

optimization

add permission checks

adjust security and add configuration parameter

fix security test for new security levels

Fix logic errors and improve caching

fix logic issue and error reporting

adjust things according to PR comments

fix refactor left overs

miscapitilazation

missed refactor location

refactor code to remove quota limit groupings

fix refactor errors

remove transitive deletion

fix transitive deletes

Transitive deletion work

Transitive deletion work

refactor registry model and remove it

place api behind feature flag

patch feature enabledment for tests

patch feature enabledment for tests

testing to see if the config is the problem

remove patch

fix new org bug

fixing notifications

mismatched parameters

fix org not exists

fixed paramter mismatch

fix nonetype access

fix nonetype access

new tables created user deletion issues

new tables created user deletion issues

parameter mismatch

fix transitive delete

fix model access error

record does not exist missing catch

fix quota deletion to always delete limits

quotalimits deletion on quota deletion

mistake

fix quota limits deletion

patch tests and disable feature

typo

switch to toggle feature

add feature patch to top of file

change testconfigpy

* Removing quota and state conf from repo-list and user-view

* Removing quota and state conf form app list page

* Removing quota conf from repo-list.html

* minor fixes

* Added Quota Repoting and configuring quota from UI

* Making quota configuration component reusable + added support to read bytes via KB, MB, etc + Added reporting for total org consumption + Added org consumption for super user panel + Added quota configurable support on super user panel

* Adding older quota management component

* Removing not reusable quota management component

* Adding % consumption for repo quotas

* Adding % consumption for organization level quota

* Adding check to verify request.args

* Removing todo

* Adding default 0 to quota

* Formatting with black

* Fixing params for tests

* Formatting test file

Co-authored-by: Keith Westphal <kwestpha@redhat.com>

* remove migration

* add migration back

* repair formatting

* QuotaManagement: Moving the logic for bytes conversion to human friendly units to the frontend  (PROJQUAY-2936) (#3)

* Moving the logic for bytes conversion to human friendly units to the frontend

* Reading updates from quota_limit_id

* Formatting using black

* remote unused function

* Adding quota configuring on super user panel (#4)

* Converting quota bytes to human friendly format (#5)

* PR refactors

* invalid reference

* bad return value

* fix bad reference

* bad reference

* fix tests

* Quota Config: UI improvements (#6)

* Quota UI Improvements

* Rendering table for quota limit config

* Removing proxy cache files

* Disabling quota config for org view

* Removing redundant get

* Fixing PR requests

* repair formatting

Co-authored-by: Sunandadadi <Sunandadadi@users.noreply.github.com>
2022-03-08 12:02:03 -06:00
Kenny Lee Sin Cheong
033c1aafa1 ui: display manifest list manifest sizes (PROJQUAY-3196) (#1115)
Display individual manifest size in manifest list view.
Also fixes a non-cluster Redis cache bug.

TODO: This requires making extra individiual requests to get the
children manifests. They should probably be cached.
2022-03-01 16:07:28 -05:00
Syed Mushtaq Ahmed
e91ec644fa ui: Depricate getImageCommand in security UI (PROJQUAY-3284) (#1144)
Image has been depricated in quay hence removing this from the UI as well
2022-02-24 13:48:07 -05:00
Brandon Caton
0d3ecb132e imagemirror: Add unsigned registries mirror option (PROJQUAY-3106) (#1085)
Currently when attempting to mirror a registry containing unsigned images the mirror will fail due to not finding the source signature. This is caused by the updated version of Skopeo blocking unsigned images by default. This allows users to specify the ability to pull unsigned images per-repository. The Skopeo version is also now pinned.
2022-02-04 13:10:19 -05:00
Flavian Missi
a13baef9cc static: vendor webfonts dir (#1016) 2021-12-02 18:35:58 +01:00
Flavian Missi
ab499e8f2c static: vendor external libraries (#1014)
Downstream builds fetch dependencies through cachito. For npm, dependencies need to be listed in the lock file in order to be installed. Because not everything downloaded by external_libraries.py is installable via npm we need to have the files downloaded beforehand and stored in the repository for downstream builds to work.

See https://source.redhat.com/groups/public/container-build-system/container_build_system_wiki/containers_from_source_multistage_builds_in_osbs#jive_content_id_Cachito_Integration_for_npm for details

relates to PROJQUAY-2852
2021-12-02 17:57:36 +01:00
Sunandadadi
20aef6a589 Quay.io UI: Fetching severity from cvss score and removing visibility… (#887)
* Quay.io UI: Fetching severity from cvss score and removing visibility of unknown metrics (PROJQUAY-2541)

If vulnerability's severity is missing mapping severity from cvss score if present. Removed visibility if severity or distribition is Unknow

* Quay.io UI: Fetching severity from cvss score and removing visibility of unknown metrics (PROJQUAY-2541)

Fixing Typo
2021-10-17 20:51:16 -04:00
Kenny Lee Sin Cheong
374e957bd9 ui: fix csrf issue when login in with SSO on mobile (PROJQUAY-2340) (#906)
Follow-up to PROJQUAY-2340. Make the same change for the mobile template.
2021-10-04 10:09:04 -04:00
Sorin Sbarnea
044fec5e51 Document irc channels move to libera.chat (#802) 2021-10-01 10:06:34 -04:00
Christoph Jerolimov
7699eeb1f1 Fix links to billing in private repo notification (#860) 2021-09-09 17:01:45 -04:00
Kenny Lee Sin Cheong
bf81bd9bae ui: change angular routing order for repo paths (PROJQUAY-2325) (#872)
Unlike Flask, Angular does not use weights to match paths to routes,
so order matters. In order to support repository with "/" in them, we
previously added "*" to the repository name named group, allowing it
to capture subsequent "/". When that's the case, it is important that
to general "catch-all" route comes after the more specific routes (e.g
repo manifest). Otherwise, Angular will just eagerly use the first
route that matches a path, even though it may have "better" match in
subsequent routes.

  e.g - '/api/v1/repository/:namespace/:name*'
      - '/api/v1/repository/:namespace/:name*\/tag/:tag'

      In this case, something like
      /api/v1/repository/devtable/testrepo/tag/testtag would match the
      first route, even though if using a weighted system, the second
      route in most case be a better fit.
2021-08-17 13:10:06 -04:00
Syed Mushtaq Ahmed
a180c52aaa ui: force uses to sign-in page to fix SSO CSRF cookie issue (PROJQUAY-2340) (#865)
This is because we use two different CSRF tokens for normal API calls
and OAUTH calls. The oauth token is set by the
`/externallogin/<provider>` endpoint and is set as an encrypted flask
cooke. However, v1 api calls set the cookie as a JWT token. The order of
API calls now makes a difference because the cookie from one gets
overwritten by the other.

When making the oauth call to the external provider. If we have the
wrong session cookie, the CSRF validation fails when the callback URL is
sent to the backend with the cookie containing the wrong CSRF token.

To fix this we must force users to go to the `/signin` page which makes
sure that the last API call that happens is the
`/externallogin/<provider>` which sets the correct cooke before
redirecting to the external provider
2021-08-05 14:04:37 -04:00
Kenny Lee Sin Cheong
47a1fdd38e chore: remove ui elements for account recovery mode (PROJQUAY-970) (#853)
Remove ui elements for account recovery mode.
2021-07-29 13:44:17 -04: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
Kenny Lee Sin Cheong
64bc11fe46 oci: allow oci artifact registration (PROJQUAY-1032) (#803)
Allow registration of custom oci artifact types in Quay's configuration.
2021-07-26 09:52:33 -04:00
Sunandadadi
fa0e861849 Secscan: clair v4 enrichment (PROJQUAY-2102) (#840)
Updated descriptions as per CVSS v3.1 vector strings
2021-07-22 16:15:21 -05:00
Jonathan King
97fc1b5cc7 ui: Require user to enter repository when deleting (PROJQUAY-763) (#432)
- When deleting a repository, a prompt will show requiring the user to enter <namespace>/<repository>
- Delete button will be disabled until text matches the namespace
2021-07-22 14:38:52 -04:00
Jonathan King
de12ed7482 ui: Add repo state column when mirroring enabled (PROJQUAY-591) (#419)
- UI will show repo state when FEATURE_REPO_MIRROR is set to 'true'
2021-07-22 14:09:34 -04:00
Kenny Lee Sin Cheong
a839a78eb5 chore: allows Quay to run for account recoveries (PROJQUAY-970) (#793)
Adds ACCOUNT_RECOVERY_MODE to allow Quay to run with some core
features disabled. When this is set, the instance should only be used
in order by existing users who hasn't linked their account to an
external login service, after database authentication has been
disabled.
2021-07-07 12:45:24 -04:00
Dave Baker
11882b0530 Update repo-count-checker.html (#565)
Restructure ng-if to remove trailing space caused by embedded newline between "your personal namespace" and the comma on the next line.
2021-03-22 10:22:47 -04:00
Syed Mushtaq Ahmed
86fed801a7 Use registry-name instead of registry-title as registry directive (#687)
Co-authored-by: Syed <syed@apache.org>
2021-03-16 10:59:18 -04:00
Kenny Lee Sin Cheong
2553110469 Move static icons assets from S3 to git (#676) 2021-02-16 16:46:26 -05:00
Syed Mushtaq Ahmed
5753fa4a23 PROJQUAY-586 - Remove Defcon1 severity from Quay (#664)
Co-authored-by: Syed A <syed@apache.org>
2021-01-26 10:41:32 -05:00
Jonathan King
20360745e2 PROJQUAY-1344 (#613) 2020-12-09 12:34:26 -05:00
thomasmckay
28a5200d19 PROJQUAY-1264 - correct doc links (#606) 2020-11-30 13:54:23 -05:00
Kenny Lee Sin Cheong
5f7f8562b6 Show all available repository when setting permission for robot account (#593) 2020-11-04 10:57:32 -05:00
Kenny Lee Sin Cheong
50f301d93e Rename dialog's "Robot Token" to "Robot Account" (#560) 2020-09-24 18:01:06 -04:00
Kenny Lee Sin Cheong
2b60e20e67 Use manifest_digest instead of image_id when accessing current tracks (#532) 2020-08-25 15:10:43 -04:00