Commit Graph

90 Commits

Author SHA1 Message Date
46bb9c95d0 fix: make toggle button works on small displays 2023-10-21 15:18:09 +03:00
5dd4763a80 fix: write new line for telegram index 2023-10-21 03:56:48 +03:00
1e00bf9398 feat: allow to use single web instance for all repositories (#114)
* Allow to use single web instance for any repository

* some improvements

* drop includes from user home directory, introduce new variables to docker

The old solution didn't actually work as expected, because devtools
configuration belongs to filesystem (as well as sudo one), so it was
still required to run setup command.

In order to handle additional repositories, the POSTSETUP and PRESETUP
commands variables have been introduced. FAQ has been updated as well

* raise 404 in case if repository is unknown
2023-10-17 03:58:50 +03:00
bef8d33570 feat: improve template processing (#112)
* Improve template processing

* docs update, config validation rules update
2023-09-08 23:38:07 +03:00
59356e905a 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
99eecdebf3 feat: pagination support for logs request 2023-09-08 01:41:36 +03:00
d1132b49fc feat: add ability to skip migrations
This feature can be used in order to handle conflicting migrations
2023-09-02 14:30:50 +03:00
3cac53ac11 add ability to partition tree before calculationn 2023-08-27 01:55:57 +03:00
ad1c0051c4 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
9259d9c727 Local packages support improvements (#104)
* handle git author correctly
* make remote source required argument
2023-08-13 15:45:53 +03:00
480c3a54b8 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
9f2fe219c8 add support of table filter controls (#101) 2023-07-21 02:10:26 +03:00
4dd5a1e82e packagers support (#100) 2023-06-05 02:37:19 +03:00
e3347aec2d use cached property instead of custom __getattr__ implementation 2023-05-31 19:17:16 +03:00
91e548569d runtime logger handler selector 2023-05-29 03:41:11 +03:00
adb5b58a1d Support type triggers (#96)
* implement mirrorlist package generator

* implement keyring package generator

* docs update

* do not skip empty lines

* fill remote source for local packages

* faq update
2023-05-25 16:27:16 +03:00
8b2601beaa switch to explicit journald logger instead of syslog 2023-05-25 04:44:38 +03:00
6bc6bdaeae migrate to the latest devtools & archlinux git changes
This migration includes
* removal of community repository as it is no more
* fixed paths for devtools configurations
* migration of archlinux packaging git url
2023-05-22 16:51:27 +03:00
a131c77699 add reference to api documentation from main page 2023-04-12 04:22:49 +03:00
fc01bf3d1c use api generated docs instead of comments (#92) 2023-04-06 00:24:39 +03:00
da1c6b0101 add ability to suppress http logging errors (#86) 2023-01-30 17:19:01 +02:00
5a05c8ce91 expose trigger configuration schema
Note that this commit contains the following breaking changes:

* remote pull and remote push triggers are now enabled by default (with
  empty target list)
* remote pull and remote push triggers now require target option to be
  set (old behaviour had fallback on `gitremote`)
* validation is now considered to be stable, so it is enabled by default
  in docker image (can be disabled however)
2023-01-10 03:33:52 +02:00
ef6cf0f00b 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
effc120a43 improve VCS packages checks
* Unlike older version, currently service will always try to pull AUR
  package to check version. Previously if no-vcs flag is set, it would
  ignore VCS packages completelly
* Introduce build.vcs_allowed_age option. If set, it will skip version
  calculation if package age (now - build_date) is less than this value
2022-12-30 21:19:23 +02:00
0f8596db1e replace alert bodals with toasts 2022-12-09 11:33:19 +02:00
c403c45d72 remove badges from status page 2022-12-09 00:58:03 +02:00
90be3276dd improve wording in documentation 2022-12-02 15:45:01 +02:00
41cc58ed31 add rebuild implementation to interface 2022-12-02 01:41:23 +02:00
20e45845ba make package actions as dropdown 2022-12-02 01:41:23 +02:00
9fa1fa108f add key-import button to interface 2022-12-02 01:41:23 +02:00
2684e4b3f4 add fallback for copying to clipboard 2022-11-24 02:38:33 +02:00
45f5006db3 add show/hide password button 2022-11-24 02:38:33 +02:00
4462eba860 render httpunauthorized as html in plain http requests 2022-11-22 23:40:27 +02:00
f2c23bad17 allow scrolling with fixed copy button position 2022-11-22 22:20:21 +02:00
b6f6ee8c76 change wording for package actions 2022-11-22 15:46:49 +02:00
b71d1f6e3d fix login and logout buttons decorations 2022-11-22 11:17:59 +02:00
14cb548c3b 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
dd6ef38c99 remote threadname from logging
Since application is mostly singlethreaded it makes no sense to log it
2022-11-14 23:21:06 +02:00
82b932371b add ability to use ahriman pacman database instead of system one (#71)
By default this feature is enabled. On the first run it will copy (if
exists) databases from filesystem to local cache (one per each
architecture). Later it will use this cache for all alpm operations. In
order to update this cache, some commands (mainly package building)
provide `-y`/`--refresh` option which has same semantics as pacman -Sy
does.

Note however that due to extending `Pacman` class some methods were
renamed in order to be more descriptive:
* `Pacman.all_packages` -> `Pacman.packages`
* `Pacman.get` -> `Pacman.package_get`

This commit also adds multilib repository to the default docker image
which was missed.
2022-11-08 17:26:51 +03:00
09678a3ae1 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
8befee58fe patch architecture list in runtime (#66) 2022-08-09 15:18:20 +03:00
fac228d6c6 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
eb5ac5a52b bump web libraries
also encode strings for the views
2022-06-24 12:03:38 +03:00
047925dcfe review loggers 2022-06-21 11:48:42 +03:00
1ea3911531 rewrite api under single /api endpoint 2022-05-29 17:15:49 +03:00
d7966e419d add shell and version parser 2022-05-27 18:34:07 +03:00
b1dfafe275 dynamic html load (#63)
* dynamic html load
* split by classes
2022-05-20 22:29:36 +03:00
dc3562a4ec add contribution guide 2022-05-11 03:17:37 +03:00
b9cd98235e triggers implementation (#62) 2022-05-09 20:00:20 +03:00
c73a2a4aa9 add note about ahriman to index page 2022-05-06 02:54:37 +03:00