mirror of
https://github.com/quay/quay.git
synced 2026-01-26 06:21:37 +03:00
ba2aa54d3fc081c052d65c899b49f67dd6ca3ada
5 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
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> |
||
|
|
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 |
||
|
|
38be6d05d0 |
Python 3 (#153)
* Convert all Python2 to Python3 syntax. * Removes oauth2lib dependency * Replace mockredis with fakeredis * byte/str conversions * Removes nonexisting __nonzero__ in Python3 * Python3 Dockerfile and related * [PROJQUAY-98] Replace resumablehashlib with rehash * PROJQUAY-123 - replace gpgme with python3-gpg * [PROJQUAY-135] Fix unhashable class error * Update external dependencies for Python 3 - Move github.com/app-registry/appr to github.com/quay/appr - github.com/coderanger/supervisor-stdout - github.com/DevTable/container-cloud-config - Update to latest mockldap with changes applied from coreos/mockldap - Update dependencies in requirements.txt and requirements-dev.txt * Default FLOAT_REPR function to str in json encoder and removes keyword assignment True, False, and str were not keywords in Python2... * [PROJQUAY-165] Replace package `bencode` with `bencode.py` - Bencode is not compatible with Python 3.x and is no longer maintained. Bencode.py appears to be a drop-in replacement/fork that is compatible with Python 3. * Make sure monkey.patch is called before anything else ( * Removes anunidecode dependency and replaces it with text_unidecode * Base64 encode/decode pickle dumps/loads when storing value in DB Base64 encodes/decodes the serialized values when storing them in the DB. Also make sure to return a Python3 string instead of a Bytes when coercing for db, otherwise, Postgres' TEXT field will convert it into a hex representation when storing the value. * Implement __hash__ on Digest class In Python 3, if a class defines __eq__() but not __hash__(), its instances will not be usable as items in hashable collections (e.g sets). * Remove basestring check * Fix expected message in credentials tests * Fix usage of Cryptography.Fernet for Python3 (#219) - Specifically, this addresses the issue where Byte<->String conversions weren't being applied correctly. * Fix utils - tar+stream layer format utils - filelike util * Fix storage tests * Fix endpoint tests * Fix workers tests * Fix docker's empty layer bytes * Fix registry tests * Appr * Enable CI for Python 3.6 * Skip buildman tests Skip buildman tests while it's being rewritten to allow ci to pass. * Install swig for CI * Update expected exception type in redis validation test * Fix gpg signing calls Fix gpg calls for updated gpg wrapper, and add signing tests. * Convert / to // for Python3 integer division * WIP: Update buildman to use asyncio instead of trollius. This dependency is considered deprecated/abandoned and was only used as an implementation/backport of asyncio on Python 2.x This is a work in progress, and is included in the PR just to get the rest of the tests passing. The builder is actually being rewritten. * Target Python 3.8 * Removes unused files - Removes unused files that were added accidentally while rebasing - Small fixes/cleanup - TODO tasks comments * Add TODO to verify rehash backward compat with resumablehashlib * Revert "[PROJQUAY-135] Fix unhashable class error" and implements __hash__ instead. This reverts commit 735e38e3c1d072bf50ea864bc7e119a55d3a8976. Instead, defines __hash__ for encryped fields class, using the parent field's implementation. * Remove some unused files ad imports Co-authored-by: Kenny Lee Sin Cheong <kenny.lee@redhat.com> Co-authored-by: Tom McKay <thomasmckay@redhat.com> |
||
|
|
e6ae94db8b | 'make black' results | ||
|
|
9c0dd3b722 | initial import for Open Source 🎉 |