Commit Graph

261 Commits

Author SHA1 Message Date
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
bba90b3eb8 Release 2.11.0 2023-08-27 02:12:21 +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
368db86dde Release 2.10.2 2023-08-08 02:54:23 +03:00
2c03354d4a Release 2.10.1 2023-07-28 03:21:19 +03:00
d21c3fdf9f Release 2.10.0 2023-07-22 05:28:57 +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
8bbd643551 update packaging files
also remove makedependencies after installation in docker
2023-05-22 18:23:06 +03:00
6834dd442c Release 2.9.0 2023-05-22 17:04:32 +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
c73a6c7bae 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
a131c77699 add reference to api documentation from main page 2023-04-12 04:22:49 +03:00
7ab00ee579 Release 2.8.0 2023-04-09 13:06:54 +03:00
fc01bf3d1c use api generated docs instead of comments (#92) 2023-04-06 00:24:39 +03:00
57f62ba163 Release 2.7.1 2023-03-06 01:15:47 +02:00
96f394bab0 Release 2.7.0 2023-02-20 03:05:08 +02:00
da1c6b0101 add ability to suppress http logging errors (#86) 2023-01-30 17:19:01 +02:00
a78c48ed4d Release 2.6.1 2023-01-25 15:28:27 +02:00
e6888ba788 Release 2.6.0 2023-01-16 01:35:12 +02:00
00ca06ffab subcommand review
Some commands have been moved to another group and thus having another
default name (old subcommands are still available...for now):

* daemon -> repo-daemon
* key-import -> service-key-import
* repo-clean -> service-clean
* repo-config -> service-config
* repo-config-validate -> service-config-validate
* repo-setup -> service-setup
* repo-shell -> service-shell
* version -> help-version
2023-01-12 15:37:05 +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
b09aea13af add config validator subcommand (#80)
* add config validator subcommand

* add --exit-code flag

* docs & faq update
2023-01-09 18:22:29 +03: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
7ca5b3a363 Release 2.5.4 2023-01-03 01:59:25 +02:00
cf35addaa5 Release 2.5.3 2023-01-02 03:24:11 +02:00
64cc8fd6b0 Release 2.5.2 2023-01-02 01:57:09 +02:00
41515f6c95 Release 2.5.1 2022-12-31 14:58:37 +02:00
541d8d9b39 Release 2.5.0 2022-12-31 02:02:37 +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
9be4a89c08 Release 2.4.1 2022-12-11 05:17:10 +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
3e299d9685 Release 2.4.0 2022-12-05 00:25:53 +02:00
90be3276dd improve wording in documentation 2022-12-02 15:45:01 +02:00
fe66c6c45c 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
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
2eb93a6090 Release 2.3.0 2022-11-16 00:53:48 +02: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
415dc42313 Release 2.3.0rc4 2022-11-14 01:02:27 +02:00
880cebe54f Release 2.3.0rc3 2022-11-11 21:20:55 +02:00
dc8a52f6c0 Release 2.3.0rc2 2022-11-11 17:25:11 +02:00
f7ec24523b Release 2.3.0rc1 2022-11-11 16:36:13 +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
8394004943 Release 2.2.2 2022-09-17 04:05:06 +03:00
7e20ff5184 Release 2.2.1 2022-09-14 04:49:08 +03:00
43166e5f94 Release 2.2.0 2022-09-14 03:28:28 +03:00
43696b9920 Make optional dependencies trully optional (#67)
The issue appears when there is no boto, jinja and some other libraries
are not installed because the classes which use these libraries are
still being imported inside the package file. The fix removes those
imports from package root, because they should not be here, in fact,
content of report and upload packages must be imported only inside the
trigger class and only if they are actually required

This commit also adds setuptools as required dependency since it is used
for some parsers (previously it was provided dependency)
2022-09-11 01:44:06 +03:00
8befee58fe patch architecture list in runtime (#66) 2022-08-09 15:18:20 +03:00
eae5748a30 Release 2.1.0 2022-07-02 15:42:39 +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
bf959ceb5f Release 2.0.0 2022-06-05 20:46:32 +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
3a5268993e update readme 2022-05-22 16:00:24 +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
dda94f8f9e Release 2.0.0rc11 2022-05-10 06:03:33 +03:00
89a2d8e298 Release 2.0.0rc10 2022-05-09 21:51:35 +03:00
b9cd98235e triggers implementation (#62) 2022-05-09 20:00:20 +03:00
1905360f8f Release 2.0.0rc9 2022-05-08 03:58:53 +03:00
73057bc08d Release 2.0.0rc8 2022-05-06 20:55:54 +03:00
c73a2a4aa9 add note about ahriman to index page 2022-05-06 02:54:37 +03:00
571f720ae2 Complete official repository support (#59) 2022-05-03 00:49:32 +03:00
06bd29b78d Release 2.0.0rc7 2022-04-11 00:48:08 +03:00
307a7f4a71 Release 2.0.0rc6 2022-04-09 17:34:23 +03:00
25734876de do not render failed packages in jinja (#57)
basic templates require package info which is unavailable if package
wasn't built
2022-04-09 17:31:13 +03:00
53df735eb2 Release 2.0.0rc5 2022-04-08 04:42:05 +03:00
fb7275f9dd change telegram default index to telegram-index 2022-04-08 04:32:34 +03:00
1a83e55d64 add telegram integraion 2022-04-08 03:41:07 +03:00
b8e17c4879 Release 2.0.0rc4 2022-04-08 01:14:35 +03:00
8f18ead4cc Release 2.0.0rc3 2022-04-04 02:40:17 +03:00
97ec5bfa41 Release 2.0.0rc2 2022-04-04 02:27:19 +03:00
c5f086a7c6 Release 2.0.0-rc1 2022-04-04 02:18:31 +03:00
a132b1544a create user in docker container
also fix user reading and add nocolor flag by default
2022-03-31 03:25:53 +03:00
83931f5cf4 port part of settings to database (#54) 2022-03-31 01:48:06 +03:00
d4eadf0013 migrate to tox
this also requires to move default configuration files to share/ahriman.
Thus the following features have been added
* default configuration is not stored in /usr/share/ahriman/settings
* package installed via PKGBUILD now copies files from /usr
* configuration class now fallbacks to default in /usr
2022-03-21 04:38:42 +03:00
a7c6d95b34 add console printer
also add python-requests as explicit dependency and escape symbols in
repository name for badges in default tempate
2022-03-20 02:31:50 +03:00
fa4c1c6205 Release 1.8.0 2022-02-06 05:45:50 +03:00
9197b416e6 use own aur wrapper (#49) 2022-02-06 03:44:57 +03:00