125 Commits

Author SHA1 Message Date
Lukas Wagner
69d2eb953d notify: add wrapper for get_referenced_entities
The function returns all other entities referenced by a filter/target.
This is useful for permission checks, where the user must have the
appropriate permissions for all entities.

Signed-off-by: Lukas Wagner <l.wagner@proxmox.com>
2023-07-24 11:17:45 +02:00
Lukas Wagner
de59ffe4ec notify: add context for getting http_proxy from datacenter.cfg
Signed-off-by: Lukas Wagner <l.wagner@proxmox.com>
2023-07-24 11:17:43 +02:00
Lukas Wagner
178196e1ae notify: implement context for getting default author/mailfrom
Signed-off-by: Lukas Wagner <l.wagner@proxmox.com>
2023-07-24 11:17:42 +02:00
Lukas Wagner
a5ee03ed0f notify: sendmail: support the mailto-user parameter
This parameter allows to send mails to the email address configured
for users from the product's user database.

`proxmox-notify` now has a `Context` that must be set via
`proxmox_notify::context::set_context` before the crate is used.

Signed-off-by: Lukas Wagner <l.wagner@proxmox.com>
2023-07-24 11:17:41 +02:00
Lukas Wagner
79f339d136 notify: add api for notification filters
Signed-off-by: Lukas Wagner <l.wagner@proxmox.com>
2023-07-24 11:17:39 +02:00
Lukas Wagner
6b5dbc3238 notify: add api for gotify endpoints
Signed-off-by: Lukas Wagner <l.wagner@proxmox.com>
2023-07-24 11:17:38 +02:00
Lukas Wagner
a73ba69716 notify: add api for sendmail endpoints
Signed-off-by: Lukas Wagner <l.wagner@proxmox.com>
2023-07-24 11:17:36 +02:00
Lukas Wagner
4b64b63ff7 notify: add api for notification groups
Signed-off-by: Lukas Wagner <l.wagner@proxmox.com>
2023-07-24 11:17:35 +02:00
Lukas Wagner
350cdd6b59 notify: add api for sending notifications/testing endpoints
Signed-off-by: Lukas Wagner <l.wagner@proxmox.com>
2023-07-24 11:17:33 +02:00
Lukas Wagner
b9c4756445 add PVE::RS::Notify module
Signed-off-by: Lukas Wagner <l.wagner@proxmox.com>
2023-07-24 11:17:31 +02:00
Wolfgang Bumiller
cd8984a954 buildsys: both: check crate vs debian version
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2023-07-05 13:50:17 +02:00
Wolfgang Bumiller
8759447585 bump pve-rs to 0.8.4
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2023-07-05 13:30:27 +02:00
Wolfgang Bumiller
0be7076578 pve: bump d/control
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2023-07-05 11:02:40 +02:00
Wolfgang Bumiller
5c6a27da1d pve: reset tfa failure count on unlock
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2023-07-05 11:01:36 +02:00
Wolfgang Bumiller
06f325fd9d bump proxmox-tfa dependency to 4.0.4
This allows resetting the tfa failure counters on unlock.

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2023-07-05 10:59:52 +02:00
Wolfgang Bumiller
7bd8036ff0 bump pve-rs to 0.8.3
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2023-06-05 12:55:12 +02:00
Wolfgang Bumiller
e1f6379b02 bump proxmox-tfa dep to 4.0.2
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2023-06-05 12:53:22 +02:00
Wolfgang Bumiller
0d530835cb pve: add tfa_lock_status query sub
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2023-06-05 09:25:05 +02:00
Lukas Wagner
d0cab6371a log: set default log level to 'info', add product specific logging env var
Logging behaviour can be overridden by the {PMG,PVE}_LOG environment
variable.

This commit also disables styled output and  timestamps in log messages,
since we usually log to the journal anyway. The log output is configured
to match with other log messages in task logs.

Signed-off-by: Lukas Wagner <l.wagner@proxmox.com>
2023-06-05 09:25:05 +02:00
Thomas Lamprecht
15e7531f3c pve: bump version to 0.8.2
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2023-06-04 18:34:02 +02:00
Wolfgang Bumiller
3037864e4d bump pve-rs to 0.8.1
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2023-05-31 14:18:13 +02:00
Wolfgang Bumiller
590af894ef pve: enable tfa lockout, add api_unlock_tfa method
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2023-05-31 14:15:42 +02:00
Wolfgang Bumiller
10472bc265 pve-rs: bump proxmox-tfa dep to 4.0.1
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2023-05-31 14:15:42 +02:00
Wolfgang Bumiller
a4610c6a0f bump proxmox-apt,http,openid,subscription,sys crate dependencies
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2023-05-24 16:05:33 +02:00
Thomas Lamprecht
f7bb45a38b pve: update & wrap-and-sort d/control
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2023-05-18 13:07:28 +02:00
Thomas Lamprecht
f7a9ddfdfd buildsys: cleanup and expand clean target
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2023-05-18 12:00:17 +02:00
Wolfgang Bumiller
6beb0ffa6b buildsys: add missing deb targets
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2023-05-17 15:57:02 +02:00
Wolfgang Bumiller
1b499b7611 bump pve-rs to 0.8.0
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2023-05-17 11:02:12 +02:00
Wolfgang Bumiller
f863004159 buildsys: make pve-rs sbuild compatible
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2023-05-17 11:02:12 +02:00
Wolfgang Bumiller
34a0068618 undo rust workspace change in preparation for .dsc builds
The library ending up a level above the actual code just
makes .dsc/sbuild building very inconvenient, and pve-rs and
pmg-rs often grow independently from one another.

All we need is the common code available.

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2023-05-17 11:02:00 +02:00
Wolfgang Bumiller
b56f09dbaa buildsys: pve: add dsc target, derive distribution automatically
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2023-05-16 14:29:48 +02:00
Wolfgang Bumiller
29d2ac1e76 bump pve-rs to 0.7.6
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2023-05-10 13:21:21 +02:00
Wolfgang Bumiller
932d602d33 major build system upgrade
- Add a 'common' symlink inside pve-rs/pmg-rs
- Have the `build/` target replace it with a dir and copy
  `common/src` into it.
- Depend on perlmod-bin to generate the perl package files.

now pve-rs and pmg-rs can be built directly from within via
dpkg-buildpackage

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2023-05-10 11:44:44 +02:00
Wolfgang Bumiller
e885772926 bump proxmox-tfa to 4
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2023-05-10 11:44:44 +02:00
Wolfgang Bumiller
72140ad516 update to new tfa crate
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2023-05-05 10:57:48 +02:00
Wolfgang Bumiller
187d43394d use more workspace variables, upgrade edition
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2023-04-28 12:40:53 +02:00
Wolfgang Bumiller
856ab916b1 buildsys: drop old deb building from pmg,pve Makefiles
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2023-04-18 10:14:22 +02:00
Thomas Lamprecht
2fad118858 bump version to 0.7.5
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2023-03-21 17:58:45 +01:00
Thomas Lamprecht
df8e411e1d bump version to 0.7.4
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2023-03-21 15:30:34 +01:00
Thomas Lamprecht
ea6ae50fff bump proxmox-resource-scheduling dependency to 0.2
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2023-03-21 15:26:40 +01:00
Fiona Ebner
2246577a5d pve: test: resource scheduling: add test with overcommitted node
which will fail with librust-proxmox-resource-scheduling-dev=0.1.0-1

Reported-by: Dominik Csapak <d.csapak@proxmox.com>
Signed-off-by: Fiona Ebner <f.ebner@proxmox.com>
2023-03-21 15:03:45 +01:00
Fiona Ebner
24702d4472 pve: test: resource scheduling: use dedicated functions for tests
Signed-off-by: Fiona Ebner <f.ebner@proxmox.com>
2023-03-21 15:03:45 +01:00
Wolfgang Bumiller
0648876946 buildsys: fix 'target/' path in install target
The target/ dir is relative to the workspace Cargo.toml
file.

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2023-03-21 12:54:50 +01:00
Wolfgang Bumiller
9fdb289df2 update to new tfa crate
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2023-03-07 12:48:46 +01:00
Wolfgang Bumiller
bd90bdf495 bump d/control
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2023-03-07 12:44:15 +01:00
Wolfgang Bumiller
29181c7a0e use workspace dependencies
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2023-03-07 12:44:15 +01:00
Lukas Wagner
c7c3940718 initialize logging when shared library is loaded
This commit sets up logging by hooking into module loading/bootstraping
process to call a new `init` function exported by the `Proxmox::Lib::{PVE,PMG}`
module, which initializes `env_logger` with its default settings.

This allows us to use `log::*` macros from Rust code.

Signed-off-by: Lukas Wagner <l.wagner@proxmox.com>
2023-03-07 12:02:02 +01:00
Fabian Grünbichler
f6b244dfb3 update to nix 0.26
and proxmox-sys using it

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2023-01-05 13:16:26 +01:00
Wolfgang Bumiller
8126db8a17 drop comment about running tests during build
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2022-11-15 13:45:58 +01:00
Wolfgang Bumiller
13e3d8b87e pve: build test stub of Proxmox::Lib::PVE for tests
this replaces the libdirs() sub with one containing:
- ../target (for when run from build/pve-rs)
- ../../target (for when run from toplevel/pve-rs

This way we can run 'make check' both from within `pve-rs`
as well as from the package building process.

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2022-11-15 13:42:18 +01:00