Commit Graph

128 Commits

Author SHA1 Message Date
3265bb913f event bus implementation 2026-03-30 19:25:35 +03:00
3ad2c494af docs: update docstrings 2026-03-22 17:23:16 +02:00
d7984c12f0 feat: package rollback support (#161)
* implement support of rollback handler

* react interface for the rollback
2026-03-22 00:36:48 +02:00
dc394f7df9 feat: dynamic package hold (#160)
* add dynamic hold implementation to backend

* update frontend to support new status

* force reporter loader

* handle missing packages explicitly

* handle missing packages explicitly
2026-03-15 18:47:02 +02:00
a09ad7617d feat: support archive listing 2026-03-12 22:26:35 +02:00
021d88dc4c feat: store and show pkgbuild (implements #157) 2026-03-11 01:05:06 +02:00
a05eab9042 feat: brand-new interface (#158)
This was initally generated by ai, but later has been heavily edited.
The reason why it has been implemented is that there are plans to
implement more features to ui, but it becomes hard to add new features
to plain js, so I decided to rewrite it in typescript.

Yet because it is still ai slop, it is still possible to enable old
interface via configuration, even though new interface is turned on by
default to get feedback
2026-03-06 00:59:10 +02:00
ba80a91d95 feat: implement CSRF protection 2026-02-18 13:34:08 +02:00
2d6d42f969 feat: archive package tree implementation (#153)
* store built packages in archive tree instead of repository

* write tests to support new changes

* implement atomic_move method, move files only with lock

* use generic packages tree for all repos

* lookup through archive packages before build

* add archive trigger

* add archive trigger

* regenerate docs

* gpg loader fix

* support requires repostory flag

* drop excess REQUIRES_REPOSITORY

* simplify symlionk creation

* remove generators

* fix sttyle

* add separate function for symlinks creation

* fix rebase

* add note about slicing

* smol refactoring of archive_tree class

* remove duplicate code

* fix typos

* few review fixes

* monor fixes and typos

* clean empty directories

* remove side effect from getter

* drop recursive remove

* ensure_exists now accepts only argument

* add package like guard to symlinks fix

* speedup archive_lookup processing by iterrupting cycle

* remove custom filelock

* fix naming

* remove remove flag from repo

* review fixes

* restore wrapper around filelock

* extract repository explorer to separate class

* docs update

* fix ide findings
2026-02-16 00:12:51 +02:00
49cf91ea52 chore: copyright update 2026-01-08 02:50:37 +02:00
ae32cc8fbb type: use custom comparable for comparable functions 2025-07-15 21:20:49 +03:00
f5aec4e5c1 fix: fix search result sorting based if there is exact match or
starts with (closes #152)
2025-07-14 01:12:27 +03:00
9217c8c759 feat: add reload command and api endpoints 2025-07-13 15:35:49 +03:00
f2ea76aab9 feat: add silent logs reload 2025-07-07 17:02:08 +03:00
fdc27a9ebf feat: filter out obvious duplicates from multisearch 2025-07-01 09:59:29 +03:00
390b9da29e feat: allow to use 0 as auto refresh interval with special meaning (#148) 2025-07-01 03:37:49 +03:00
256376df85 feat: add autorefresh button to the main page (#149)
* also add configuration options and change behaviour accordingly
2025-07-01 03:22:01 +03:00
939a94d889 feat: add autoupdate button to package info (#148) 2025-06-29 22:22:54 +03:00
1f22a27360 build: remove defaults from pylint config 2025-06-18 16:20:14 +03:00
75682bc7be feat: add support of openmetrics (#144)
* feat: add openmetrics support & endpoint

* add support of named resources

* update docstrings

* generate docs

* add another test for http api
2025-06-18 14:42:09 +03:00
09350e88ab style: fix few typos 2025-06-14 23:34:53 +03:00
d283dccc1e type: update for new cors release 2025-03-17 13:56:59 +02:00
f00b575641 type: use ClassVar decorator for class attributes 2025-03-09 15:43:27 +02:00
6f57ed550b feat: refine log system (#142)
* refine package logging

* add interface

* revert version selection

* replace tuple with model

* rename column in logs table, add coverters

* generate process identifier for child proocesses
2025-03-09 14:46:33 +02:00
65324633b4 feat: add counters to repository stats overview 2025-02-24 00:10:15 +02:00
0660c33de3 chore: copyright update 2024-12-23 16:03:26 +02:00
503c8b0355 feat: make apispec dependency optional (#138) 2024-12-22 20:33:31 +02:00
45a620c40b fix: process list patch values in http requests
This commit parses values from post request as well as always serializes
values for the web interface
2024-11-22 17:22:37 +02:00
7bc4810377 fix: change category for dependencies api docs 2024-09-27 14:43:05 +03:00
180adf3f33 type: remove unused ignore comment 2024-09-25 07:15:51 +03:00
ddd3c3f06f feat: allow filter events by timestamp 2024-09-04 22:28:25 +03:00
c08a292070 docs: update booleans in docs 2024-09-04 22:28:25 +03:00
5163aa4dca feat: implement audit log tables and methods (#129) 2024-09-04 22:28:25 +03:00
af2269c64a fix: print current and updated version correctly
The issue appears in case if versions ar the same (e.g. rebuild); in
this case printer doesn't increment version as builder does.

Also util has been renamed to utils, keeping backward compatibiltiy
2024-08-16 16:24:11 +03:00
8ffc1299f0 feat: implement local reporter mode (#126)
* implement local reporter mode

* simplify watcher class

* review changes

* do not update unknown status

* allow empty key patches via api

* fix some pylint warnings in tests
2024-08-14 17:07:10 +03:00
f68e48fb47 refactor: rename packages http methods to own package
docs: update docs import
2024-01-22 02:20:11 +02:00
91598951c5 fix: do not raise 404 in case of unknown package on patches endpoints
Previous improvements raise 404 error in case if no packages were found
for patches endpoints. However, in case of multirepo setup this feature
doesn't work properly because package can be located in any other
repository different from default
2024-01-08 14:32:40 +02:00
29bb6284b0 test: add pytlint imports plugin and fix errors 2024-01-05 19:52:51 +02:00
768132bb6c chore: copyright update 2024-01-03 12:09:10 +02:00
f1095fe007 feat: raise 404 in case if package is unknown for logs and patches 2024-01-03 12:09:10 +02:00
aad607eaef feat: add workers autodicsovery feature (#121)
* add workers autodicsovery feature

* suppress erros while retrieving worker list

* update recipes

* fix tests and update docs

* filter health checks

* ping based workers
2024-01-03 02:25:24 +02:00
dd8d5d130b refactor: use AppKey's instead of string identifiers for web application 2023-12-27 13:53:23 +02:00
f6cdd806b2 feat: add healh-check like endpoint, support of healthcheck in docker compose 2023-12-21 17:49:35 +02:00
58e702213d docs: restore docs for the view 2023-12-15 16:17:19 +02:00
e784032bc6 feat: add ability to disable specific routes (#119) 2023-12-15 14:34:03 +02:00
c54b14b833 feat: add ability to run build process to remote instances (#118) 2023-12-13 15:38:51 +02:00
2a9eab5f1a feat: changes screen implementation (#117)
Add support of changes generation. Changes will be generated (unless explicitly asked not to) automatically during check process (i.e. `repo-update --dry-run` and aliases) and uploaded to the remote server. Changes can be reviewed either by web interface or by special subcommands.

Changes will be automatically cleared during next successful build
2023-11-30 14:56:41 +02:00
0991dbb59c type: update to the typed aiohttp release 2023-11-23 15:35:38 +02:00
18d17d4d52 feat: forbid form data in html
It has been a while since all pages have moved to json instead of form
data, except for login page. This commit changes login to json data
instead of form one
2023-11-16 16:42:27 +02:00
e823fd3f27 fix: fix some security issues 2023-11-12 22:22:05 +02:00