Commit Graph

361 Commits

Author SHA1 Message Date
36c763069d only set file rights if requested 2021-09-23 20:36:22 +03:00
c9a155bbc4 raise httpexception instead of returning it from a function 2021-09-19 14:28:24 +03:00
799572fccf Release 1.3.0 2021-09-18 06:28:52 +03:00
a7a32f0080 better reload 2021-09-17 19:15:53 +03:00
af3afecce8 update aioauth-client to newest version 2021-09-17 18:45:43 +03:00
16bb1403a1 add ability to reload authentication module 2021-09-17 16:05:38 +03:00
41731ca359 add ability to remove an user
also replace old user by new one before creation
2021-09-16 02:41:56 +03:00
e99c2b0c83 remove own implementations of getlist and getpath method in order to use
converters feature
2021-09-14 03:57:20 +03:00
6294c0ba14 add ability to filter status response by package status 2021-09-13 23:27:36 +03:00
2c74be31bd raise InvalidCommand exception in case if remove option supplied without
package
2021-09-13 22:38:38 +03:00
0744ee53dc change spelling for distro name 2021-09-13 02:49:22 +03:00
6f5b28c4f8 expiration on server side support (#33) 2021-09-13 01:18:04 +03:00
d211cc17c6 send data in json_responses in case of error instead of text 2021-09-12 22:41:02 +03:00
117e69c906 return description from the search 2021-09-12 22:31:34 +03:00
d19deb57e7
OAuth2 (#32)
* make auth method asyncs

* oauth2 demo support

* full coverage

* update docs
2021-09-12 21:41:38 +03:00
875bfc0823 add static files support and cookie expiration settings 2021-09-11 16:34:43 +03:00
98eb93c27a
Add ability to trigger updates from the web (#31)
* add external process spawner and update test cases

* pass no_report to handlers

* provide service api endpoints

* do not spawn process for single architecture run

* pass no report to handlers

* make _call method of handlers public and also simplify process spawn

* move update under add

* implement actions from web page

* clear logging & improve l&f
2021-09-10 00:33:35 +03:00
18de70154e add option to set user-password for service when updating its hash 2021-09-05 15:40:03 +03:00
08e0237639 move api endpoints to status-api 2021-09-05 06:46:14 +03:00
891c97b036 allow head for every get request 2021-09-05 06:41:50 +03:00
b0575ee4ba allow read only pages to be requested without authorization 2021-09-05 06:09:43 +03:00
9b8c9b2b2d
migration of jinja tempaltes to bootstrap (#30) 2021-09-05 05:27:58 +03:00
ecf45bc3bb
add remove uknown method (#29) 2021-09-03 02:28:27 +03:00
aecd679d01 add license header to __init__.py 2021-09-02 23:43:05 +03:00
e63cb509f2
Auth support (#25)
* initial auth implementation

* add create user parser

* add tests

* update dependencies list

* add login annd logout to index also improve auth

* realworld fixes

* add method set_option to Configuration and also use it everywhere
* split CreateUser handler to additional read method
* check user duplicate on auth mapping read
* generate salt by using passlib instead of random.choice
* case-insensetive usernames
* update dependencies
* update configuration reference
* improve tests

* fix codefactor errors

* hide fields if authorization is enabled, but no auth supplied

* add settings object for auth provider

* readme update
2021-09-02 23:36:00 +03:00
3922c55464 use {} instead of dict literal according to pylint recommendation 2021-08-22 13:24:42 +03:00
9d2a3bcbc1 Release 1.2.6 2021-08-21 16:19:21 +03:00
a5455b697d Release 1.2.5 2021-08-19 02:36:05 +03:00
0bfb763b2a disable manpages building for now since it requires installed distribution 2021-08-19 02:35:48 +03:00
9f3566a150 Release 1.2.4 2021-08-19 00:45:58 +03:00
91f66fdcee Release 1.2.3 2021-08-19 00:18:12 +03:00
bb45b1d868 split S3.sync to different methods 2021-08-18 23:59:18 +03:00
3d10fa472b guess mime type for local files 2021-08-18 05:04:26 +03:00
a90c93bbc4 add manpage generator 2021-08-17 04:05:18 +03:00
41a3c08d9f Release 1.2.2 2021-08-17 01:03:04 +03:00
810091cde9 Release 1.2.1 2021-08-17 00:52:09 +03:00
fc0474fa8f logging rethink
* well lets replace f-strings by %s as it is originally recommended
* use syslog handler by default
2021-08-17 00:23:34 +03:00
9c5a9f5837 Release 1.2.0 2021-08-11 05:02:23 +03:00
48e79ce39c add bandit integration and fix its warnings 2021-08-11 02:45:13 +03:00
375d7c55e5 web templates improvements
* enable jinja autoescape by default for jinja raw generator
* allow to search by multiple strings (OR)
* replace test templates by symlink
2021-08-11 02:12:14 +03:00
581401d60f skip update process if no update supplied 2021-08-10 23:25:12 +03:00
c2685f4746
Native s3 sync (#23)
* Native S3 sync implementation

* fix imports

* fix paths reading

* install s3 components duriing test stage
2021-08-10 23:18:56 +03:00
952b55f707 Release 1.1.0 2021-07-05 22:11:14 +03:00
b9b012be53 handle provides list 2021-07-05 22:08:04 +03:00
c90e20587e remove type: ignore for newest python 2021-06-28 02:32:54 +03:00
3e020ec141
Feature/all archs (#21)
* add init subcommand

* add also init command to repository object

* add ability to generate list of architectures

* check if architecture list is not empty
2021-05-23 16:40:40 +03:00
783b7d043d
imply no-log for every unsafe parser (#20) 2021-05-19 23:30:59 +03:00
5c297d1c67 allow to specify list of package dependencies in rebuild target
also replace nargs= by action=append in non-positional args. It is
required to make arguments parsing result more predictable and
consistent
2021-04-18 13:34:27 +03:00
b0d1f3c091 Release 1.0.0 2021-04-10 01:38:55 +03:00
50e219fda5
import pgp key implementation (#17)
* import pgp key implementation

* do not ask confirmation for local sign. Also add argparser test

* superseed requests by python-aur package

* ...and drop --skippgpcheck makgepkg flag by default
2021-04-10 01:37:45 +03:00
8196dcc8a0
add search subparser (#15) 2021-04-09 11:57:06 +03:00
f634f1df58
Add web status route (#13)
* add status route

* typed status and get status at the start of application
2021-04-08 01:48:53 +03:00
11ae930c59 Release 0.22.1 2021-04-06 05:54:04 +03:00
4ed0a49a44 add ability to skip email report generation for empty update list 2021-04-06 05:51:50 +03:00
50f532a48a Release 0.22.0 2021-04-06 05:46:12 +03:00
c6ccf53768
Email report (#11)
* Demo email report implementation

* improved ssl mode

* correct default option spelling and more fields to be hidden for not
extended reports
2021-04-06 05:45:17 +03:00
ce0c07cbd9 Release 0.21.4 2021-04-05 02:28:38 +03:00
76d0b0bc6d Release 0.21.3 2021-04-05 02:22:44 +03:00
a0e20ffb77 Release 0.21.2 2021-04-05 02:01:28 +03:00
6df60498aa Release 0.21.1 2021-04-05 00:45:12 +03:00
8f469e7eac Release 0.21.0 2021-04-05 00:38:23 +03:00
535e955814 try to make auto archive upload 2021-04-05 00:37:03 +03:00
0bd3ba626a implicit type conversion from command line 2021-04-04 23:53:30 +03:00
ffe6aec190 more options in setup command 2021-04-04 15:42:06 +03:00
56c600e5ac fix check errors 2021-04-04 14:00:42 +03:00
461883217d 100% coverage 2021-04-03 21:30:57 +03:00
62d55eff19 add ability to fitler by dependency list 2021-04-02 04:20:39 +03:00
534b5600b4 add ability to remove package from status page 2021-04-02 01:26:46 +03:00
32cbafd12b Release 0.20.0 2021-04-01 02:38:59 +03:00
880c70bd58 constistent classmethod and staticmethod usage
General idea is to use classmethod for every constructor and
statismethod otherwise.
Also use self and cls whenever it's possible to call static and class
methods
2021-03-31 04:29:08 +03:00
d449eb3c2e change arch specific section naming from section_arch to section:arch
Some archs can have _ in their name. Also in future we can use sections
with similar names
2021-03-31 02:31:14 +03:00
17b5cd0751 Release 0.19.0 2021-03-31 02:19:44 +03:00
2aef906fc8 add now argument to add command 2021-03-31 02:19:13 +03:00
e034327501 filter out every foreign arch in config 2021-03-31 01:55:39 +03:00
5d79fcca22 read sign targets from correct path 2021-03-31 00:11:05 +03:00
6e9dcca254 make configuration object arch-specific 2021-03-31 00:04:13 +03:00
fbf6748d4a more verbose variables 2021-03-30 05:29:13 +03:00
2260e52d5c merge settings groups instead of using whole group 2021-03-30 04:58:15 +03:00
bd2b61494f move rsync and s3 options to configuration 2021-03-30 02:38:18 +03:00
7280d30748 verbose help message 2021-03-30 02:25:23 +03:00
3b93510aad add more tests 2021-03-30 01:42:01 +03:00
5003cabeb5 Release 0.18.0 2021-03-29 11:48:54 +03:00
bc6af9256b more properties to be shown in status pages 2021-03-29 11:48:32 +03:00
1ac7c87317 architecture depending pacman.conf 2021-03-29 10:08:11 +03:00
803b7bee1e add status update subcommand
also satisfy pylint with too big method with too much variables
2021-03-29 04:17:10 +03:00
646190121a Release 0.17.0 2021-03-29 03:25:43 +03:00
10e4f3b629
Setup command (#9)
* block issues without templates

* add setup subcommand

* handle devtools config correctly
2021-03-29 03:24:58 +03:00
2fdf910e78
add sign command (#7) (#8) 2021-03-28 16:24:00 +03:00
63dc43366b Release 0.16.0 2021-03-28 15:38:12 +03:00
74a244f06c
Add tests (#1) (#5)
* add models tests (#1)

also replace single quote to double one to confort PEP docstring
+ move _check_output to class properties to make it available for
mocking

* alpm tests implementation

* try to replace os with pathlib

* update tests for pathlib

* fix includes glob and trim version from dependencies

* build_tools package tests

* repository component tests

* add sign tests

* complete status tests

* handle exceptions in actual_version calls

* complete core tests

* move configuration to root conftest

* application tests

* complete application tests

* change copyright to more generic one

* base web tests

* complete web tests

* complete testkit

also add argument parsers test
2021-03-28 15:30:51 +03:00
69499b2d0a split functions to handles package (#3) 2021-03-21 16:33:04 +03:00
475afe4e08 add ability to import packages from diretory (#2) 2021-03-21 15:29:30 +03:00
2f2d6c2b70 imply unsafe option for some commands (#4) 2021-03-21 15:22:06 +03:00
15e3d2500c add status command 2021-03-20 22:20:47 +03:00
3d74b1485a Release 0.15.0 2021-03-20 18:05:36 +03:00
413d3b7509 web service improvements
* load and save web service state to cache file
* disable web reporting to self
* restore console handler settings
* allow to redirect logs to stderr
* verbose http error logging
* update package status by group, not by single package
* split Repository class to several traits
* move json generators/readers to dataclasses
2021-03-20 18:01:57 +03:00
3e2fb7b4e6 group package updates by bases for correct reporting 2021-03-20 16:13:13 +03:00
71196dc58b add watcher cache support 2021-03-20 05:42:33 +03:00
e7736e985f add pylint integration & fix some pylint warnings 2021-03-19 05:07:41 +03:00
f929a552e8 drop unused ignore lines 2021-03-19 01:02:56 +03:00
2c7ef3471e do not print upload progress 2021-03-17 19:12:31 +03:00
47bb22b1f4 do not set package to unknown for known packages 2021-03-17 19:08:36 +03:00
5a340146bb add get requests and change HTTP OK to HTTP No Content 2021-03-17 05:20:20 +03:00
0937a9a4b5 add check target 2021-03-17 04:39:25 +03:00
310eba694f Release 0.14.1 2021-03-17 03:35:38 +03:00
47fc5bca57 Release 0.14.0 2021-03-16 20:11:56 +03:00
d4222eca25 add dump config option, change all timestamp objects to int, check git
directory
2021-03-16 05:24:07 +03:00
b5046b787c some improvements
* handle exceptions in multiprocessing
* readme update
* safe logger handler implementation (uses either stderr or
  rotatingfiles)
* user UID check
2021-03-16 04:25:58 +03:00
75c0cc970e Release 0.13.0 2021-03-16 01:40:48 +03:00
504d57b2f5 more package propertieis 2021-03-16 01:39:16 +03:00
4c20d0241a add clean subcommand 2021-03-15 23:34:50 +03:00
db0a6bf34e smart fetch & vcs cache 2021-03-15 23:28:08 +03:00
8f5af7965e Release 0.12.2 2021-03-15 22:51:07 +03:00
f35278e978 styling (again) 2021-03-15 22:50:58 +03:00
a288986450 allow to run single command for multiple architectures at the same time 2021-03-15 04:57:10 +03:00
7fd22e9f16 Release 0.12.1 2021-03-15 03:58:25 +03:00
e2608db991 add route =/ 2021-03-15 03:58:17 +03:00
2a0311b042 Release 0.12.0 2021-03-15 03:55:40 +03:00
0fcb46afca add information about installed size 2021-03-15 03:54:52 +03:00
374b3febc8 handle service status 2021-03-15 03:37:05 +03:00
3e0b3cdbaa even aggressive autopep8 2021-03-15 02:35:57 +03:00
663e822a92 autopep8 run 2021-03-15 02:27:42 +03:00
d3e79120cb docstrings everywhere 2021-03-15 02:21:41 +03:00
67b97a64ea Release 0.11.7 2021-03-14 19:28:58 +03:00
7ace74af44 handle makedepends as optional 2021-03-14 19:28:29 +03:00
b7d481858d Release 0.11.6 2021-03-13 19:24:23 +03:00
4727894349 drop architecture coz it is always same 2021-03-13 17:12:36 +03:00
4b98b21a70 strict typing, change colors a bit, architecture depending lock 2021-03-13 16:57:58 +03:00
9410c521a1 Release 0.11.5 2021-03-13 05:18:44 +03:00
dd42cd0cd6 sort package list 2021-03-13 05:18:27 +03:00
50b409cd3e Release 0.11.4 2021-03-13 05:13:33 +03:00
356cd35c5f better templating 2021-03-13 05:12:53 +03:00
4445c8c871 Release 0.11.3 2021-03-13 02:27:38 +03:00
a3a66c7c9a count epoch 2021-03-13 02:27:27 +03:00
45b762e3d9 Release 0.11.2 2021-03-13 01:57:26 +03:00
c5db7e64ca process prepare call for vcs packages 2021-03-13 01:57:10 +03:00
0dd4d098f6 Release 0.11.1 2021-03-12 00:24:49 +03:00
4866548224 handle built packages during update 2021-03-12 00:24:26 +03:00
5d526e1bd8 Release 0.11.0 2021-03-12 00:15:21 +03:00
c66325ff38 fix interaction with web 2021-03-12 00:14:31 +03:00
371019f899 add depdendency manager and switch to pyalpm instead of expac 2021-03-12 00:04:37 +03:00
2d351fa94f allow to specify key overrides for packages 2021-03-11 04:06:20 +03:00
1770793e69 improvements
* multi-sign and multi-web configuration
* change default configuration to do not use architecture
* change units to be templated
* some refactoring
2021-03-11 03:57:23 +03:00
30ededb2cd Release 0.10.0 2021-03-11 01:59:05 +03:00
2fca108fa4 process null lock file 2021-03-11 01:58:33 +03:00
262d8d8647 multisign option 2021-03-11 01:39:45 +03:00
fd2049b334 web server support 2021-03-11 01:14:09 +03:00
422445da85 Release 0.9.1 2021-03-10 02:26:44 +03:00
aad893fe69 smart remove function and use built-in packages() function everywhere 2021-03-10 01:25:22 +03:00
8e72ee05ba Release 0.9.0 2021-03-08 16:19:12 +03:00
b3345c4184 jinja templates support 2021-03-08 15:52:02 +03:00
026c896fb7 chane logic for repo sign 2021-03-08 14:55:47 +03:00
6f67641f4c complete vcs support 2021-03-08 12:58:51 +03:00
0531df3688 sign by repo* commands 2021-03-07 16:12:39 +03:00
e4317469d1 add ability to add archive as well 2021-03-07 15:35:48 +03:00
550474f790 add ignore_pacakges option, switch to pkgbase everywhere 2021-03-07 15:30:01 +03:00
77db49a379 clear code, allow to set overrides for each architecture 2021-03-07 15:20:41 +03:00
b69076eb18 improve ahriman
* fix dependency list for packaging
* add ability to rebuild everything or skip specific things during an
  update
* add architecture configuration
* fix file and directory removals
2021-03-07 06:55:00 +03:00
088698d8e1 report support, readme 2021-03-07 00:04:25 +03:00
c45662517b uploader demo 2021-03-05 04:10:29 +03:00
53d21d6496 initial import 2021-03-05 01:45:36 +03:00