1
0
mirror of https://github.com/quay/quay.git synced 2025-04-18 10:44:06 +03:00

24 Commits

Author SHA1 Message Date
Harish Govindarajulu
074f35ee99
chore: Update alembic migration script to support sqlite db (PROJQUAY-7097) (#2839)
* Add sqlite db support on quay start up

* Add batchmode to migration scripts to support sqlite db

* Add sqlite db to config-tool validator +  alembic migration

* Fix migration script to prevent db row locking

Added commit statement to ensure previous transaction is
completed before the next one within the same table

* Clean up unused sqlite volume

* Apply black formatting to migration scripts

* Address review comments

* Ensure py39-unit test runs the alembic migration on Sqlite

* Add static type checking for alembic config file name

* alembic remove commit and invalidate during migration

When disconnecting from db, alembic tries to rollback
causing PendingRollbackError

* Bump go version in config-tool Dockerfile

* Explicitly commit transaction to prevent db table locking

* Clean up + remove debug statements

* Undo database secret key change

* Add TEST_DATABASE_URI to py39-unit to run unit test with sqlite db

* Drop index before dropping column to prevent sqlite error

* Add test coverage + address last set of reviews

---------

Signed-off-by: harishsurf <hgovinda@redhat.com>
2024-06-12 13:57:32 -04:00
Jonathan King
72f0a895d4
ui: Add organization and user account settings (PROJQUAY-4553) (#2151)
- This PR adds settings pages to the organization and user organization pages.
- Admin users can edit their preferences, billing, and organization type
- Updated cypress version to address bug https://github.com/cypress-io/cypress/issues/25397
2023-10-20 13:58:10 -04:00
Bill Dettelback
785258f0b1
Remove stage.quay.io SSO Config (#1850)
* Commented out stage.quay.io RHSSO config
2023-05-01 14:50:35 -04:00
Syed Ahmed
2db3b186f9
ui: add support for exposing quay UI as a dynamic plugin (PROJQUAY-3203) (#1799)
* ui: add support for exposing quay UI as a dynamic plugin (PROJQUAY-3203)

* Introduces a new SSO JWT based auth for client side Oauth
* Adds a new entrypoint component for the UI without topnav and sidenav for plugin
* Adds webpack config to build dynamic plugin
2023-04-20 19:05:07 -04:00
Jonathan King
85218f1112
ui: Hot fix billing information (PROJQUAY-0000) (#1679)
- Remove billing information
2022-12-15 14:44:39 -08:00
Oleg Bulatov
15ea8350db
repomirror: Use skopeo list-tags to get repo tags (PROJQUAY-2179) (#1427)
* repomirror: Use skopeo list-tags to get repo tags

`skopeo inspect foo` returns infromation about the image `foo:latest`,
and repository tags. Quay needs only list of tags, so it should use
`skopeo list-tags` that doesn't fail if `foo:latest` doesn't exist.

* Update type hints

* On local-dev Quay does not provide valid TLS certificate
2022-10-12 09:45:04 -04:00
Sunandadadi
5f1fdbc59f
ui: Support on Old UI to switch to New UI (PROJQUAY-4124) (#1504)
* Support on Old UI to switch to New UI
2022-08-31 10:33:53 -04:00
Dave O'Connor
304f12dfff
Update local cors_origin to work with new ui (#1425) 2022-06-29 14:44:32 -04:00
Syed Mushtaq Ahmed
1a016efc80
ui: Add CSRF and token endpoint and public config endpoint (PROJQUAY-3865) (#1323)
Adds /csrf_token and /config API endpoints to enable integration with
the new UI
2022-06-29 12:14:28 -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
Oleg Bulatov
a13f4cf624
Use final image for development (#1060) 2022-03-16 14:15:42 +01:00
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
Flavian Missi
6b5e7f506f
clean.sh: don't remove webfonts dir since its now versioned (#1025) 2021-12-09 08:52:53 +01:00
Oleg Bulatov
7fe6d506a8
Use /run for supervisord socket (#947) 2021-12-01 10:14:16 +01:00
Kenny Lee Sin Cheong
2ffc12b3eb
chore: cleanup remaining artifacts remaining related to aci signing (PROJQUAY-2792) (#968)
Removes deprecated artifacts from code and files for ACI.
2021-11-19 13:49:28 -05:00
Dave O'Connor
e94e14e8f0
Resolves issues with booting quay container (#953) 2021-10-28 15:27:21 -04:00
Brandon Caton
10e88d29aa
makefile: Add local-dev-build-frontend step (PROJQUAY-2693) (#933)
Allows for frontend to render locally by prebuilding artifacts.
2021-10-18 16:06:33 -04:00
Flavian Missi
0f7fdb7e84
chore(Dockerfile): add local-dev-env build stage (PROJQUAY-2501) (#883)
When specified, the new build target (aka stage) builds quay the way
local-dev/Dockerfile used to, using local-dev/config.yml as
configuration, and starting up only the necessary tools for development.
See docker-compose.yml services:quay:build:target for how it's used.

Production builds should not be affected since the new target is not
referenced from anywhere but the docker-compose.yml.
2021-09-17 13:18:11 +02:00
Flavian Missi
d3809b2e36
fix: pin setuptools to version 57 (#885)
As to avoid breaking the installation of our requirements.
See https://github.com/vlasovskikh/funcparserlib/issues/69 for details.
2021-09-10 16:13:44 +02:00
Harish Govindarajulu
7a70a98b1e
doc: Fix broken links in the CHANGELOG (PROJQUAY-2298) (#858)
Some of the links from the CHANGELOG were broken and
had to be updated. Also fixed a typo in config.yaml

Signed-off-by: harishsurf <hgovinda@redhat.com>
2021-08-06 14:28:16 -04:00
Syed Mushtaq Ahmed
eea5cfcb2b
local-dev: Increase timeout for gunicorn tasks to come up (PROJQUAY-2114) (#808)
Increase the gunicorn timeout to 600s for local dev setups with
lower resources. Default timeout is 30s which is too short
2021-06-10 16:35:21 -04:00
Kenny Lee Sin Cheong
7d9a49da10
Replace jwkest with authlib (#685)
* Replace jwkest with authlib and PyCrypto with cryptography

Remove pycryptodome dependencies.
Remove post-fork random seed init - python-cryptography's pseudo RNG should be fork safe:
- https://cryptography.io/en/latest/security.html?highlight=fork
- https://cryptography.io/en/latest/hazmat/backends/openssl.html?highlight=fork#os-random-engine

* deps: Pin cryptography to 3.3.1

Latest available version available on RHEL.
As of 3.4, cryptography builds on rust, which is not readily available
on RHEL.
2021-03-15 15:25:23 -04:00
Syed Mushtaq Ahmed
047b837ee8
Replace references to support@quay.io with admin@example.com (#686)
Co-authored-by: Syed <syed@apache.org>
2021-03-11 13:21:22 -05:00
Louis DeLosSantos
113ccebbbf
local-dev: implement local development environment (#610)
* local-dev: implement local development environment

this commit copies the files in /init into /local-dev, edits those files
to support hot-reload features for local development, and introduces
docker-compose/makefile targets in order to support local dev.

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

* local-dev: hop quay workers to gunicorn

this commit adds a uwsgi worker application delegate and a factory
function allowing each worker to be ran by gunicorn.

each worker now supports hot-reload and will reload itself when it's
code is updated.

this changes only affects the local dev env.

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

* local-dev: add docs

Signed-off-by: ldelossa <ldelossa@redhat.com>
2020-12-15 12:37:21 -05:00