Commit Graph

188 Commits

Author SHA1 Message Date
Lukas Wagner
b905cfd03d pve-rs: notify: remove notify_context for PVE
The context has now been moved to `proxmox-notify` due to the fact
that we also need it in `proxmox-mail-forward` now.

Signed-off-by: Lukas Wagner <l.wagner@proxmox.com>
2023-11-17 13:30:57 +01:00
Fiona Ebner
bfc7f2c518 pve: test: resource scheduling: add another test where memory is secondary to CPU
but this time, without any start load on the node. This test fails
with librust-proxmox-resource-scheduling-dev=0.2.0-1

Signed-off-by: Fiona Ebner <f.ebner@proxmox.com>
2023-11-06 18:21:06 +01:00
Fiona Ebner
14a3de9826 pve: test: resource scheduling: add test where memory is secondary to CPU
because memory usage differences are small.

Signed-off-by: Fiona Ebner <f.ebner@proxmox.com>
2023-11-06 18:21:06 +01:00
Wolfgang Bumiller
1c2ff27e75 pve: switch openid to use magic
Instead of blessed raw pointers as these can easily lead to double
free corruptions when they're copied in perl.

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2023-10-04 09:09:45 +02:00
Fabian Grünbichler
4c6cc7e241 update to env_logger 0.10
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2023-10-03 10:00:27 +02:00
Lukas Wagner
50f372fe7e notify context: fix 'default_sendmail_from' context method
The name of the configuration option in datacenter.cfg is `email_from`
and not `mail_from`.

Signed-off-by: Lukas Wagner <l.wagner@proxmox.com>
2023-10-02 12:31:11 +02:00
Thomas Lamprecht
8d031134e1 bump version to 0.8.6
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2023-09-05 16:32:45 +02:00
Wolfgang Bumiller
e52b4ea877 bump d/control
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2023-07-28 11:51:53 +02:00
Wolfgang Bumiller
8ff4471ee6 bump notify dependency
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2023-07-28 11:51:28 +02:00
Lukas Wagner
76b63ed6a8 notify: use new HttpError type
Use `proxmox-http-error::HttpError` instead of
`proxmox-notify::api::ApiError`.

Also factoring out the digest decoding into a small helper.

Signed-off-by: Lukas Wagner <l.wagner@proxmox.com>
2023-07-28 11:50:08 +02:00
Wolfgang Bumiller
af7ff77ac7 bump pve-rs to 0.8.5
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2023-07-24 14:14:06 +02:00
Wolfgang Bumiller
d5ff7165a2 remove leftover PVE::RS::Notify module
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2023-07-24 14:01:23 +02:00
Lukas Wagner
703cfbd212 notify: rename PVE::RS::Notify to Proxmox::RS::Notify
Also splitting PVE-specific context into its own file.

Suggested-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
Signed-off-by: Lukas Wagner <l.wagner@proxmox.com>
2023-07-24 13:58:26 +02:00
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
Wolfgang Bumiller
6583f4d840 buildsys: generate .pm files in packages
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2022-11-15 13:22:34 +01:00
Wolfgang Bumiller
6b2814d612 buildsys: generate Proxmox::Lib within the product Makefiles
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2022-11-15 13:13:59 +01:00
Wolfgang Bumiller
807651bc7b buildsys: include defines.mk in pve-rs and pmg-rs
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2022-11-15 13:06:47 +01:00
Wolfgang Bumiller
d00aa7f091 pve-rs: bump to 0.7.3
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2022-11-15 11:14:14 +01:00
Wolfgang Bumiller
03e4522da3 pve: bump d/control
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2022-11-15 11:11:27 +01:00
Wolfgang Bumiller
221be779c4 use Test::More for resource_scheduling tests
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2022-11-15 11:10:32 +01:00
Fiona Ebner
79552120c6 add basic test for resource scheduling
currently only used to test the installed version and not
automatically during build. See the FIXME note for why.

Signed-off-by: Fiona Ebner <f.ebner@proxmox.com>
2022-11-11 14:19:02 +01:00
Fiona Ebner
887c0e2074 pve-rs: add resource scheduling module
backed by the proxmox-resource-scheduling crate.

Initially to be used by the HA manager to allow it basing its decision
where to start a new or recovered service on static usage information
rather than just counting.

Signed-off-by: Fiona Ebner <f.ebner@proxmox.com>
2022-11-11 14:18:58 +01:00
Fabian Grünbichler
8e9e521865 pve-rs: bump to 0.7.2
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2022-09-07 12:06:05 +02:00
Fabian Grünbichler
156f3d7727 update to proxmox-subscription 0.3
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2022-09-07 10:25:12 +02:00
Fabian Grünbichler
95b9307776 update to proxmox-http 0.7
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2022-09-07 10:25:12 +02:00
Fabian Grünbichler
39c29ee9a4 bump proxmox-sys dependency to 0.4
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2022-08-02 14:42:50 +02:00
Wolfgang Bumiller
c978d1384b bump pve-rs to 0.7.1
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2022-07-25 13:46:20 +02:00
Wolfgang Bumiller
ed3bbe6425 bump proxmox-tfa to 2.1
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2022-07-25 13:45:00 +02:00
Wolfgang Bumiller
d60b0a3ca3 bump pve-rs to 0.7.0
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2022-07-21 15:00:27 +02:00
Wolfgang Bumiller
73b295e8c2 pve: bump d/control
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2022-07-21 15:00:27 +02:00
Wolfgang Bumiller
719c66bf04 bump proxmox-http to 0.6.4
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2022-07-21 14:59:07 +02:00
Wolfgang Bumiller
818886ee45 bump proxmox-apt to 0.9 and proxmox-subscription to 0.2
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2022-07-21 14:54:45 +02:00
Fabian Grünbichler
95e5e59fd0 cargo fmt
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2022-07-21 13:33:37 +02:00
Fabian Grünbichler
8d143f8f9e common: add proxmox_subscription wrapper
and expose it for PVE and PMG.

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2022-07-21 12:55:20 +02:00
Wolfgang Bumiller
2ae629ac44 bump pve-rs to 0.6.2
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2022-07-08 14:49:47 +02:00
Fabian Ebner
f386660b4b move apt repositories module to common
while introducing a 'product' parameter to the relevant functions and
adding wrappers for backwards-compatibility.

Suggested-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
Signed-off-by: Fabian Ebner <f.ebner@proxmox.com>
2022-07-08 14:29:54 +02:00
Thomas Lamprecht
b2a4623ac7 d/control: update build-dep for nix rs dependency to 0.24
was missed in commit b67ff27d9e

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2022-06-20 10:33:13 +02:00
Fabian Grünbichler
b67ff27d9e update to nix 0.24
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2022-06-02 14:23:07 +02:00
Wolfgang Bumiller
08ec7c069e pve-rs: bump d/control
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2022-04-19 15:08:24 +02:00
Thomas Lamprecht
2090370e65 bump version to 0.6.1
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2022-04-19 10:58:51 +02:00
Thomas Lamprecht
ea43306c16 update proxmox-openid to 0.9.5
to fix azure support that broke with the switch to ureq due to azure
not understanding chunked transfer encoding

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2022-04-19 10:56:49 +02:00
Thomas Lamprecht
a9171f5d3e update proxmox-openid to 0.9.4
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2022-03-29 10:38:29 +02:00
Wolfgang Bumiller
d00bfdcddb buildsys: drop file list in Makefiles
just install all files, `make gen` at the top level is
responsible for generating the correct files

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2022-03-21 14:16:21 +01:00
Wolfgang Bumiller
e148c6d608 pve: buildsys: remove CalendarEvent file
this has been moved to the common package

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2022-03-21 13:45:01 +01:00
Wolfgang Bumiller
8bea8bba5a buildsys: fail when trying to install non-existent files
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2022-03-21 09:28:06 +01:00
Wolfgang Bumiller
17367e04e5 bump perlmod to 0.13
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2022-03-08 10:31:28 +01:00
Wolfgang Bumiller
698f0e6f8a bump pve-rs to 0.6.0
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2022-03-01 12:02:48 +01:00
Wolfgang Bumiller
4beb35701b add libproxmox-rs-perl and release it as 0.1.0
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2022-03-01 11:46:49 +01:00
Wolfgang Bumiller
9fcecb2c8f generate and install perl package files
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2022-03-01 10:54:15 +01:00
Wolfgang Bumiller
ba8dad1190 add common-src/ and move CalendarEvent to it
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2022-03-01 10:54:15 +01:00
Wolfgang Bumiller
15c39cb258 Revert "move apt to /perl-apt, use PERLMOD_PRODUCT env var"
This reverts commit 9bc3ab23cb.

This is not the way we're going to organize common code.
2022-02-28 12:25:00 +01:00