Dietmar Maurer
b9700a9fe5
move worker_task.rs into proxmox-rest-server crate
...
Also moved pbs-datastore/src/task.rs to pbs-tools, which now depends on 'log'.
2021-09-24 10:28:17 +02:00
Dietmar Maurer
81867f0539
use UPID and systemd helpers from proxmox 0.13.4
2021-09-23 12:01:43 +02:00
Dietmar Maurer
0a33fba49c
worker task: allow to configure path and owner/group
...
And application now needs to call init_worker_tasks() before using
worker tasks.
Notable changes:
- need to call init_worker_tasks() before using worker tasks.
- create_task_log_dirs() ís called inside init_worker_tasks()
- removed UpidExt trait
- use atomic_open_or_create_file()
- remove pbs_config and pbs_buildcfg dependency
2021-09-23 11:59:45 +02:00
Dietmar Maurer
049a22a3a3
src/server/worker_task.rs: Avoid using pbs-api-type::Authid
...
Because we want to move worker_task.rs into proxmox-rest-server crate.
2021-09-23 11:59:25 +02:00
Dietmar Maurer and Thomas Lamprecht
84af82e8cf
rename pbs-systemd to proxmox-systemd
2021-09-21 10:06:27 +02:00
Dietmar Maurer and Thomas Lamprecht
48109c5354
pbs-systemd: do not depend on pbs-tools
...
Instead, copy a few line of nom helper code, and implement
a simple run_command helper.
2021-09-21 10:06:27 +02:00
Dietmar Maurer and Thomas Lamprecht
fd18775ac1
worker_state: move tasktype() code to src/api2/node/tasks.rs
...
Because this is API related code, and only used there.
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com >
2021-09-21 08:47:48 +02:00
Dietmar Maurer and Thomas Lamprecht
e678a50ea1
buildsys: drop double-build hack to avoid linkage issues
...
basically a (semantic) revert of commit
991be99c37 "buildsys: workaround
linkage issues from openid/curl build server stuff separate"
This is no longer required because we moved proxmox_restore_daemon
code into extra crate (previous commit)
Originally-by: Thomas Lamprecht <t.lamprecht@proxmox.com >
Signed-off-by: Dietmar Maurer <dietmar@proxmox.com >
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com >
2021-09-21 08:46:41 +02:00
Dietmar Maurer and Thomas Lamprecht
6523588c8d
move proxmox_restore_daemon code into extra crate
...
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com >
2021-09-21 08:46:41 +02:00
Dietmar Maurer and Thomas Lamprecht
6fbf0acc76
move src/server/rest.rs to proxmox-rest-server crate
...
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com >
2021-09-21 08:46:41 +02:00
Dietmar Maurer and Thomas Lamprecht
36b7085ec2
rest server: cleanup auth-log handling
...
Handle auth logs the same way as access log.
- Configure with ApiConfig
- CommandoSocket command to reload auth-logs "api-auth-log-reopen"
Inside API calls, we now access the ApiConfig using the RestEnvironment.
The openid_login api now also logs failed logins and return http_err!(UNAUTHORIZED, ..)
on failed logins.
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com >
2021-09-21 08:46:41 +02:00
Dietmar Maurer and Thomas Lamprecht
1b1a553741
rest server: do not use pbs_api_types::Authid
...
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com >
2021-09-21 08:46:41 +02:00
Dietmar Maurer and Thomas Lamprecht
98b7d58b94
rest server: return UserInformation from ApiAuth::check_auth
...
This need impl UserInformation for Arc<CachedUserInfo> which is implemented
with proxmox 0.13.2
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com >
2021-09-21 08:46:41 +02:00
Dietmar Maurer and Thomas Lamprecht
7fa9a37c7c
make get_index and ApiConfig property (callback)
...
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com >
2021-09-21 08:46:41 +02:00
Dietmar Maurer and Thomas Lamprecht
f533d16ef6
rest server: simplify get_index() method signature
...
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com >
2021-09-21 08:46:41 +02:00
Dietmar Maurer and Thomas Lamprecht
778c7d954b
move normalize_uri_path and extract_cookie to proxmox-rest-server crate
...
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com >
2021-09-21 08:46:41 +02:00
Dietmar Maurer and Thomas Lamprecht
605fe2e7e7
move src/tools/compression.rs to proxmox-rest-server crate
...
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com >
2021-09-21 08:46:41 +02:00
Dietmar Maurer and Thomas Lamprecht
1b552c109d
move src/server/formatter.rs to proxmox-rest-server crate
...
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com >
2021-09-21 08:46:41 +02:00
Dietmar Maurer and Thomas Lamprecht
d4d49f7325
move src/server/environment.rs to proxmox-rest-server crate
...
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com >
2021-09-21 08:46:41 +02:00
Dietmar Maurer and Thomas Lamprecht
8bca935f08
move src/tools/daemon.rs to proxmox-rest-server workspace
...
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com >
2021-09-21 08:46:41 +02:00
Dietmar Maurer and Thomas Lamprecht
fd6d243843
move ApiConfig, FileLogger and CommandoSocket to proxmox-rest-server workspace
...
ApiConfig: avoid using pbs_config::backup_user()
CommandoSocket: avoid using pbs_config::backup_user()
FileLogger: avoid using pbs_config::backup_user()
- use atomic_open_or_create_file()
Auth Trait: moved definitions to proxmox-rest-server/src/lib.rs
- removed CachedUserInfo patrameter
- return user as String (not Authid)
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com >
2021-09-21 08:46:41 +02:00
Dietmar Maurer and Thomas Lamprecht
037f6b6d5e
start new proxmox-rest-server workspace
...
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com >
2021-09-21 08:46:41 +02:00
Dietmar Maurer
36c6e7bb82
fix tests/worker-task-abort.rs - correctly spawn command socket
...
And wait for the task.
Note: The test is still ignored (but works now when run a root)
2021-09-14 10:42:44 +02:00
Dietmar Maurer
ccc3896ff3
avoid type re-exports
2021-09-14 08:35:43 +02:00
Dietmar Maurer
cef5c72682
move src/tape/helpers/snapshot_reader.rs to src/backup/snapshot_reader.rs
2021-09-14 07:42:06 +02:00
Dietmar Maurer
51a2d9e375
fix refs in generated docs
2021-09-13 13:40:20 +02:00
Dietmar Maurer
048b43af24
split tape code into new pbs_tape workspace
2021-09-13 12:54:59 +02:00
Dietmar Maurer
67a5cf4714
fix regression tests
2021-09-10 12:45:06 +02:00
Dietmar Maurer
6227654ad8
more api type cleanups: avoid re-exports
2021-09-10 12:25:32 +02:00
Dietmar Maurer
89725197c0
move PruneOptions to pbs_api_types workspace
2021-09-10 09:21:27 +02:00
Dietmar Maurer
e7d4be9d85
move datastore config to pbs_config workspace
2021-09-10 08:40:58 +02:00
Dietmar Maurer
ba3d7e19fb
move user configuration to pbs_config workspace
...
Also moved memcom.rs and cached_user_info.rs
2021-09-10 07:09:04 +02:00
Dietmar Maurer
b65dfff574
cleanup User configuration: use Updater
2021-09-09 13:14:28 +02:00
Dietmar Maurer
8cc3760e74
move acl to pbs_config workspaces, pbs_api_types cleanups
2021-09-09 10:50:08 +02:00
Dietmar Maurer
1cb08a0a05
move token_shadow to pbs_config workspace
...
Also moved out crypt.rs (libcrypt bindings) to pbs_tools workspace.
2021-09-08 14:00:14 +02:00
Dietmar Maurer
6f4228809e
move network config to pbs_config workspace
2021-09-08 12:22:48 +02:00
Dietmar Maurer
5af3bcf062
changer config cleanup: use Updater
2021-09-08 09:29:01 +02:00
Dietmar Maurer
cdc83c4eb2
tape job cleanup: user Updater
2021-09-08 08:55:55 +02:00
Dietmar Maurer
ffa403b5fd
verify job cleanup: use Updater/flatten
2021-09-08 08:40:32 +02:00
Dietmar Maurer
5bd77f00e2
sync job cleanup: use Updater/flatten
2021-09-08 08:28:09 +02:00
Dietmar Maurer
802189f7f5
move verify.rs to pbs_config workspace
2021-09-08 08:01:07 +02:00
Dietmar Maurer
a4e5a0fc9f
move sync.rs to pbs_config workspace
2021-09-08 06:57:23 +02:00
Dietmar Maurer
58bfa3b19c
remove dead code
...
backup_user() and backup_group() are now in pbs_config workspace
2021-09-08 06:34:44 +02:00
Dietmar Maurer
e3619d4101
moved tape_job.rs to pbs_config workspace
2021-09-07 12:40:15 +02:00
Dietmar Maurer
5839c469c1
move tape_encryption_keys.rs to pbs_config workspace
2021-09-07 10:37:08 +02:00
Dietmar Maurer
bbdda58b35
moved key_derivation.rs from pbs_datastore to pbs-config/src/key_config.rs
...
Also moved pbs-datastore/src/crypt_config.rs to pbs-tools/src/crypt_config.rs.
We do not want to depend on pbs-api-types there, so I use [u8;32] instead of
Fingerprint.
2021-09-07 10:12:17 +02:00
Dietmar Maurer
ed2080762c
move data_blob encode/decode from crypt_config.rs to data_blob.rs
2021-09-07 10:00:05 +02:00
Dietmar Maurer
45d5d873ce
move Kdf and KeyInfo to pbs_api_types workspace
2021-09-07 09:59:59 +02:00
Dietmar Maurer
aad2d162ab
move media_pool config to pbs_config workspace
2021-09-06 08:56:04 +02:00
Dietmar Maurer
1ce8e905ea
move drive config to pbs_config workspace
...
Also moved the tape type definitions to pbs_api_types.
2021-09-03 09:10:18 +02:00
Dietmar Maurer
ccb3b45e18
add missing file pbs-api-types/src/remote.rs
2021-09-02 17:36:13 +02:00
Dietmar Maurer
6afdda8832
move remote config into pbs-config workspace
2021-09-02 14:25:15 +02:00
Dietmar Maurer
2121174827
start new pbs-config workspace
...
moved src/config/domains.rs
2021-09-02 12:58:20 +02:00
Dietmar Maurer
97dfc62f0d
remote config: derive and use Updater
...
Defined a new struct RemoteConfig (without name and password). This makes it
possible to bas64-encode the pasword in the config, but still allow plain
passwords with the API.
2021-08-30 12:48:45 +02:00
Dietmar Maurer
dbda1513c5
tape: media_pool: derive and use Updater
2021-08-30 11:17:14 +02:00
Dietmar Maurer
c62a6acb2e
drive config cleanup: derive and use Updater
2021-08-30 10:50:20 +02:00
Dietmar Maurer
e4a5c072b4
openid cleanup: derive and use Updater
2021-08-30 09:48:53 +02:00
Dietmar Maurer and Wolfgang Bumiller
a8a20e9210
use new api updater features
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com >
2021-08-25 10:43:58 +02:00
Dietmar Maurer
9789461363
bump version to 2.0-9-1
2021-08-09 09:54:33 +02:00
Dietmar Maurer
bb14ed8cab
cleanup: simplify next_expired_media()
2021-08-04 11:01:18 +02:00
Dietmar Maurer
023adb5945
ui: display next-media-label for tape backup jobs
2021-08-04 09:59:12 +02:00
Dietmar Maurer
e5545c9804
cli: proxmox-tape backup-job list: use status api and display next-run an d next-media-label
2021-08-04 09:59:12 +02:00
Dietmar Maurer
efe96ec039
tape: compute next-media-label for each tape backup job
2021-08-04 09:59:12 +02:00
Dietmar Maurer
1d3ae83359
tape: media_pool: implement guess_next_writable_media()
2021-08-04 09:59:12 +02:00
Dietmar Maurer
e16c289f50
bump version toö 2.0.8-1
2021-08-02 10:35:16 +02:00
Dietmar Maurer
5ad40a3dd1
tape: media_catalog: add snapshot list cache for catalog
...
For some parts of the ui, we only need the snapshot list from the catalog,
and reading the whole catalog (can be multiple hundred MiB) is not
really necessary.
Instead, we write the list of snapshots into a seperate .index file. This file
is generated on demand and is much smaller and thus faster to read.
2021-07-29 13:34:31 +02:00
Dietmar Maurer
7116a2d9da
tape: lock media_catalog file to to get a consistent view with load_catalog
2021-07-29 13:34:25 +02:00
Dietmar Maurer
0d5e990a62
cleanup: factor out tape catalog path helpers
2021-07-29 13:34:18 +02:00
Dietmar Maurer
68e77657e6
datastore config: cleanup code (use flatten attribute)
2021-07-23 12:43:33 +02:00
Dietmar Maurer and Thomas Lamprecht
99a73fad15
doc: Document new environment variabless to specify secret values
...
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com >
2021-07-22 10:10:40 +02:00
Dietmar Maurer and Thomas Lamprecht
16a01c19dd
support new ENV vars to get secret values through a file or a command
...
We want to allow passing a secret not only directly through the
environment value, but also indirectly through a file path, an open
file descriptor or a command that can write it to standard out.
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com >
2021-07-22 10:09:53 +02:00
Dietmar Maurer and Thomas Lamprecht
ac81ed17b9
fix regression test file permission problems
...
By simply using the current user/group instead of backup:backup
2021-07-21 09:30:22 +02:00
Dietmar Maurer and Thomas Lamprecht
a301c362e3
add helpers to write configuration files
2021-07-20 18:54:23 +02:00
Dietmar Maurer and Thomas Lamprecht
7526d86419
use new atomic_open_or_create_file
...
Factor out open_backup_lockfile() method to acquire locks owned by
user backup with permission 0660.
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com >
2021-07-20 18:54:23 +02:00
Dietmar Maurer
bfd357c5a1
depend on proxmox 0.11.6 (changed make_tmp_file() return type)
2021-07-14 13:37:26 +02:00
Dietmar Maurer
9ee4c23833
tape: changer: sg_pt: always retry until timeout
2021-07-13 10:39:28 +02:00
Dietmar Maurer and Thomas Lamprecht
a0cd0f9cec
change tape drive lock path
...
New kernel has stricter checks on tmpfs with stick-bit on directories, so some
commands (i.e. proxmox-tape changer status) fails when executed as root, because
permission checks fails when locking the drive.
This patch move the drive locks to /run/proxmox-backup/drive-lock.
Note: This is incompatible to old locking mechmanism, so users may not
run tape backups during update (or running backup can fail).
2021-07-12 17:26:49 +02:00
Dietmar Maurer
414be8b675
tape: fix LTO locate_file for HP drives
...
Add test code to the first locate_file command, compute locate_offset.
Subsequent locate_file commands use that offset.
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com >
Signed-off-by: Dietmar Maurer <dietmar@proxmox.com >
2021-06-30 09:08:58 +02:00
Dietmar Maurer
fda19dcc6f
fix CachedUserInfo by using a shared memory version counter
2021-06-30 08:54:30 +02:00
Dietmar Maurer
cd975e5787
ui: implement OpenId login
2021-06-30 08:54:30 +02:00
Dietmar Maurer
3b7b1dfb8e
api: add openid redirect/login API
2021-06-30 08:54:30 +02:00
Dietmar Maurer
d8a47ec649
cleanup user/token is_active() check
2021-06-30 08:54:30 +02:00
Dietmar Maurer
252cd3b781
implement new helper is_active_user_id()
2021-06-30 08:54:30 +02:00
Dietmar Maurer
0decd11efb
cli: add CLI to manage openid realms.
2021-06-30 08:54:30 +02:00
Dietmar Maurer
b84d2592fb
add API to manage openid realms
2021-06-30 08:54:30 +02:00
Dietmar Maurer
0219ba2cc5
check_acl_path: add /access/domains and /access/openid
2021-06-30 08:54:30 +02:00
Dietmar Maurer
bbff6c4968
config: new domains.cfg to configure openid realm
...
Or other realmy types...
2021-06-30 08:54:30 +02:00
Dietmar Maurer
bb88c6a29d
depend on proxmox-openid-rs
2021-06-30 08:54:30 +02:00
Dietmar Maurer
2165f0d450
api: define and use REALM_ID_SCHEMA
2021-06-10 11:10:00 +02:00
Dietmar Maurer
b90036dadd
cleanup: factor out config::datastore::lock_config()
2021-06-04 09:04:14 +02:00
Dietmar Maurer
e8b32f2d87
bump version to 1.1.9-1
2021-06-01 08:27:18 +02:00
Dietmar Maurer
0bca966ec5
fix typo: s/dies/does/
2021-05-31 11:01:15 +02:00
Dietmar Maurer
440472cb32
correctly set apt proxy configuration
2021-05-12 12:19:24 +02:00
Dietmar Maurer and Thomas Lamprecht
4ce7da516d
reload cert inside command socket handler
2021-05-12 12:03:27 +02:00
Dietmar Maurer
137309cc4e
bump version to 1.1.7-1
2021-05-11 13:23:29 +02:00
Dietmar Maurer
1bff50afea
tape locate_file: fix off by one error
2021-05-11 12:37:04 +02:00
Dietmar Maurer
2732c47466
cleanup src/api2/node/config.rs
...
- add return type
- fix permissions
- fix descriptions
2021-05-10 08:25:43 +02:00
Dietmar Maurer
0466089316
move api related type/regx definition from backup_info.rs to src/api2/types/mod.rs
2021-05-07 12:45:44 +02:00
Dietmar Maurer
d8769d659e
use build.rs to pass REPOID to rustc-env
2021-05-07 10:11:39 +02:00
Dietmar Maurer
3e234af16e
tape: improve inline docs for READ POSITION LONG
2021-05-06 11:45:40 +02:00