Commit Graph
104 Commits
Author SHA1 Message Date
arcanis 4eb187aead chore: update comments to the latest mypy release 2023-10-12 20:31:00 +03:00
arcanis 1859d14f78 feat: load http views dynamically (#113) 2023-09-30 01:24:04 +03:00
arcanis 98e594df90 feat: add pagination to packages list 2023-09-11 18:08:26 +03:00
arcanis 018d9589e1 feat: improve template processing (#112)
* Improve template processing

* docs update, config validation rules update
2023-09-08 23:38:07 +03:00
arcanis efde0b2e86 feat: allow to use one application for multiple repositories (#111)
* allow to use one application for multiple repositories

* update tests

* handle None append argument everywhere

* rewrite repository definition logic

* drop optional flags from docs

* support of new schema in systemd units

* add migration docs and ability to migrate tree automatically

* use repostory id instead

* verbose multiarchitectureerror

* object path support for s3 sync

* fix tests after rebase
2023-09-08 14:01:07 +03:00
arcanis c915d68c97 feat: pagination support for logs request 2023-09-08 01:41:36 +03:00
arcanis f6081507c0 small improvements on code smell
* fix some grammar/typo errors
* change some statements to be more clear
* use pattern matching for enum processing
2023-08-25 04:15:10 +03:00
arcanis 33e68a59e2 use http client class for all http requests 2023-08-23 03:27:42 +03:00
arcanis d3f6ca24c8 review exception raise
In some cases for better readability of logs, exceptions are now raised
without parent exception stacktrace. Also updated docs and contributing
guidelines
2023-08-20 17:03:46 +03:00
arcanis c26a13c562 Remote call trigger support (#105)
* add support of remote task tracking
* add remote call trigger implementation
* docs update
* add cross-service upload
* add notes about user
* add more ability to control upload
* multipart upload with signatures as well as safe file save
* configuration reference update
* rename watcher methods
* erase logs based on current package version

Old implementation has used process id instead, but it leads to log
removal in case of remote process trigger

* add --server flag for setup command
* restore behavior of the httploghandler
2023-08-20 03:44:31 +03:00
arcanis 95e29d16bb Local packages support improvements (#104)
* handle git author correctly
* make remote source required argument
2023-08-13 15:45:53 +03:00
arcanis 1baf04998d full support of pep517
Since llast upgrade build is broken. Lets fully migrate to
pyproject.toml. Note for maintaners: because data_files option is
deprectated (see https://github.com/pypa/setuptools/discussions/2648)
you will have to install files manually inside your packaging process
2023-08-11 03:55:31 +03:00
arcanis 3a88d00db0 automatically bump pkgrel on version duplicates
The new --(no-)increment flag has been added to add, update and rebuild
subcommands. In case if it is true and package version is the same as in
repository, it will automatically bump pkgrel appending (increasing)
minor part of it (e.g. 1.0.0-1 -> 1.0.0-1.1).

Inn order to implement this, the shadow (e.g. it will not store it in
database) patch for pkgrel will be created
2023-08-08 03:14:47 +03:00
arcanis 263c53bac5 rase 405 error in case if GET login method is used whereas no aioauth
library installed
2023-07-23 03:01:25 +03:00
arcanis 6743f1d62a optimize schemas import 2023-07-23 02:24:39 +03:00
arcanis c22ddd71d9 packager documentation update 2023-06-05 03:40:02 +03:00
arcanis 4b984afb64 packagers support (#100) 2023-06-05 02:37:19 +03:00
arcanis 1625fddccd support check dependencies 2023-05-31 19:17:16 +03:00
arcanis 8c55438140 disable debugpanel for now 2023-05-04 14:30:27 +03:00
arcanis 2ff56965d9 PEP-673 use Self as return type for classmethods (#94)
* PEP-673 use Self as return type for classmethods

* add dummy test file

* remove python3.10 compat
2023-05-04 03:28:08 +03:00
arcanis 31f47b8069 fix some pycharm warnings 2023-04-17 02:23:50 +03:00
arcanis abf29083c4 PEP-585 complaint: remove type aliases (#93) 2023-04-12 04:09:28 +03:00
arcanis 58379e7bf3 optimize imports 2023-04-06 00:24:39 +03:00
arcanis 1106ff6482 fix license url 2023-04-06 00:24:39 +03:00
arcanis e08ab2db10 extract schemas automatically from views 2023-04-06 00:24:39 +03:00
arcanis 8f4a2547e8 use api generated docs instead of comments (#92) 2023-04-06 00:24:39 +03:00
arcanis df23be9269 gracefully terminate web server
In previous revisions server was terminated by itself, thus no lock or
socket was removed. In new version, graceful termination of the queue
has been added as well as server now handles singals
2023-03-06 01:13:41 +02:00
arcanis a8c40a6b87 replace InitializeException with InitializeError in docs 2023-03-02 11:07:59 +02:00
arcanis a274f91677 simplify login ttl processing 2023-02-24 16:52:55 +02:00
arcanis 4fb9335df9 add ability to read cookie secret from config 2023-02-22 18:47:56 +02:00
arcanis 17466d8d37 make oauth client trully optional (#84)
Same old song, after migraiton to packages some optional modules are
being imported globally which lead to making hard dependency
2023-01-25 15:25:42 +02:00
arcanis 014007ade3 review unsafe commands access
Some commands were made unsafe in old versions, but nowadays they can be
run without having special privileges.

There was also a bug in which status commands were not available if you
are not ahriman user and unix socket is used. It has been fixed by
switching to manual socket creation (see also
https://github.com/aio-libs/aiohttp/issues/4155)
2023-01-04 17:45:44 +02:00
arcanis 730f3ca0c9 copyright update 2023-01-04 03:43:10 +02:00
arcanis 262462d3c3 improve wording in documentation 2022-12-02 15:45:01 +02:00
arcanis 0161617e36 implement support of unix socket for server
This feature can be used for unauthorized access to apis - e.g. for
reporting service if it is run on the same machine. Since now it becomes
recommended way for the interprocess communication, thus some options
(e.g. creating user with as-service flag) are no longer available now
2022-12-02 01:41:23 +02:00
arcanis 09623c20d5 add rebuild implementation to interface 2022-12-02 01:41:23 +02:00
arcanis 5073c80af1 add key-import button to interface 2022-12-02 01:41:23 +02:00
arcanis ce1bd2f2db add curl examples to web views 2022-11-24 02:38:33 +02:00
arcanis df9e03f495 change respone for service requests 2022-11-24 02:38:33 +02:00
arcanis d36e851a29 render httpunauthorized as html in plain http requests 2022-11-22 23:40:27 +02:00
arcanis 011b4e2e31 change logging module imports 2022-11-22 22:20:21 +02:00
arcanis 137d62e2f8 Extended package status page (#76)
* implement log storage at backend
* handle process id during removal. During one process we can write logs from different packages in different times (e.g. check and update later) and we would like to store all logs belong to the same process
* set package context in main functions
* implement logs support in interface
* filter out logs posting http logs
* add timestamp to log records
* hide getting logs under reporter permission

List of breaking changes:

* `ahriman.core.lazy_logging.LazyLogging` has been renamed to `ahriman.core.log.LazyLogging`
* `ahriman.core.configuration.Configuration.from_path` does not have `quiet` attribute now
* `ahriman.core.configuration.Configuration` class does not have `load_logging` method now
* `ahriman.core.status.client.Client.load` requires `report` argument now
2022-11-22 02:58:22 +03:00
arcanis 0eadef597a replace several store_true keys to booleanoptionalaction alternative (#74) 2022-11-10 18:34:01 +03:00
arcanis d98211e5e5 add possibility to run full update
In case if packages are not set from web, the spawner will run full
repository update
2022-10-31 02:41:24 +02:00
arcanis cd361a483d review loggers once more
This commit makes loggers like java.util.logging with fully qualified
logger name which is created by LazyLogging trait
2022-06-27 01:41:49 +03:00
arcanis a0cfb7561d rewrite api under single /api endpoint 2022-05-29 17:15:49 +03:00
arcanis 47de715d7d dynamic html load (#63)
* dynamic html load
* split by classes
2022-05-20 22:29:36 +03:00
arcanis 98910240dd shorten public imports 2022-05-06 04:08:05 +03:00
arcanis 33e9fea47c Docs update (#61)
* Improve sphinx documentation

* update faq formatting

* fix setup doc

* fix docs according to the generated htmls
2022-05-06 02:54:37 +03:00
arcanis 3d9fae5415 add __all__ attribute 2022-05-06 02:54:37 +03:00