Commit Graph

58 Commits

Author SHA1 Message Date
Jing Luo
2a107dd8e0 common: buildsys: Makefile: drop --no-pre-clean
There is no difference in the source or binary packge running with or
without `--no-pre-clean`. On the other hand, dpkg-buildpackge complains
loudly when `--no-pre-clean` is specified, so let's remove it.

Signed-off-by: Jing Luo <jing@jing.rocks>
2024-11-11 11:41:17 +01:00
Jing Luo
2a1451f8f6 common: d/control: change binary package architecture from any to all
There is no architecture dependent binary files in the libproxmox-rs-perl deb
package. There is no shared libs either (says debhelper), so let's remove
that too. Slight adjustment for Makefile too.

Signed-off-by: Jing Luo <jing@jing.rocks>
2024-11-11 11:41:13 +01:00
Lukas Wagner
f885544707 tree-wide: run cargo fmt
Signed-off-by: Lukas Wagner <l.wagner@proxmox.com>
 [ TL: squash in small changes from re-run on current master ]
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2024-11-11 11:37:10 +01:00
Lukas Wagner
21886bb2ac common: notify: add bindings for get_targets
This allows us to drop the impl of that function on the perl side.

Signed-off-by: Lukas Wagner <l.wagner@proxmox.com>
Tested-By: Stefan Hanreich <s.hanreich@proxmox.com>
2024-11-10 19:08:55 +01:00
Lukas Wagner
7747ac46de common: notify: add bindings for webhook API routes
Signed-off-by: Lukas Wagner <l.wagner@proxmox.com>
Tested-By: Stefan Hanreich <s.hanreich@proxmox.com>
2024-11-10 19:08:55 +01:00
Wolfgang Bumiller
ae27b307b8 pve: fix use vs mod grouping
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2024-08-29 10:31:31 +02:00
Wolfgang Bumiller
dfd8a2e321 bump common to 0.3.4
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2024-08-09 14:22:00 +02:00
Lukas Wagner
ea4d87816b cache: add bindings for SharedCache
This is a simple, cache implementation which can be accessed from
multiple processes. It also supports storing a range of historical
values.

Signed-off-by: Lukas Wagner <l.wagner@proxmox.com>
[wb: also update pmg-rs/Cargo.toml and both d/control files]
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2024-08-09 13:21:01 +02:00
Fabian Grünbichler
9a91594ee6 update to proxmox-log 0.2
Reviewed-by: Lukas Wagner <l.wagner@proxmox.com>
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2024-08-06 14:13:31 +02:00
Wolfgang Bumiller
885830935c update to sys 0.6 and proxmox-log crate
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2024-07-17 12:44:46 +02:00
Wolfgang Bumiller
b3b8b375c2 apt: minor parameter cleanup
We cannot use &[&str] - since this would be a poitner to a `[&str]`
data structure, that's not how perl stores strings.
But we *can* use Vec<&str> - here, the Vec will be allocated, but the
contents will borrow. We don't need to transform this afterwards.

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2024-07-08 15:33:58 +02:00
Lukas Wagner
6789b14986 pve-rs: common: send apt update notification via proxmox-notify
For PMG we for now only provide an empty stub and warn to syslog -
we need basic notification system integration there first.
On PMG, we still use a pure Perl implementation at the moment,
so this should not be an issue unless we change that.

Signed-off-by: Lukas Wagner <l.wagner@proxmox.com>
2024-07-08 15:33:58 +02:00
Dietmar Maurer
89d9debadb perl-rs: add further apt api calls
Signed-off-by: Dietmar Maurer <dietmar@proxmox.com>
2024-07-08 15:33:57 +02:00
Dietmar Maurer
5c994bf942 perl-rs: use api functions from proxmox-apt
Signed-off-by: Dietmar Maurer <dietmar@proxmox.com>
2024-07-08 15:33:32 +02:00
Dietmar Maurer
9eda29d688 perl-rs: use proxmox-apt-api-types
Signed-off-by: Dietmar Maurer <dietmar@proxmox.com>
2024-07-08 15:33:29 +02:00
Lukas Wagner
dc02255bdc notify: adapt to Option<Vec<T>> to Vec<T> changes in proxmox_notify
Signed-off-by: Lukas Wagner <l.wagner@proxmox.com>
Tested-by: Max Carrara <m.carrara@proxmox.com>
Reviewed-by: Max Carrara <m.carrara@proxmox.com>
2024-06-04 10:40:53 +02:00
Lukas Wagner
7ac7fa5b00 notify: don't pass config structs by reference
proxmox_notify's api functions have been changed so that they take
ownership of config structs.

Signed-off-by: Lukas Wagner <l.wagner@proxmox.com>
Tested-by: Max Carrara <m.carrara@proxmox.com>
Reviewed-by: Max Carrara <m.carrara@proxmox.com>
2024-06-04 10:40:53 +02:00
Lukas Wagner
627a95bf89 notify: use file based notification templates
Instead of passing literal template strings to the notification
system, we now only pass an identifier. This identifier will be used
load the template files from a product-specific directory.

Signed-off-by: Lukas Wagner <l.wagner@proxmox.com>
Tested-by: Max Carrara <m.carrara@proxmox.com>
Reviewed-by: Max Carrara <m.carrara@proxmox.com>
2024-06-04 10:40:53 +02:00
Wolfgang Bumiller
2860777e61 buildsys improvements for generated files
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2024-06-03 14:00:03 +02:00
Wolfgang Bumiller
4e6598ef85 common: cleanup Proxmox/RS in make clean
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2024-06-03 13:25:32 +02:00
Wolfgang Bumiller
237b276028 bump common to 0.3.3
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2023-12-07 09:58:06 +01:00
Wolfgang Bumiller
62fc43fea9 common: move probe into a new SslProbe package
Because Proxmox::Lib::Common isn't actually `use`d by most packages.

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2023-12-07 09:56:05 +01:00
Wolfgang Bumiller
6a31f73fa3 bump common to 0.3.2
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2023-12-06 11:23:09 +01:00
Wolfgang Bumiller
089e555d51 fixate openssl-probe dependency, probe env vars in perl
This fixes an issue with `openssl-probe` calling `setenv` when (issued
via the `native-tls` crate with the ACME client) which crashes perl.

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2023-12-06 11:21:25 +01:00
Lukas Wagner
036236c278 notify: support 'origin' paramter
This parameter shows the origin of a config entry (builtin,
user-created, modified-builtin)

Signed-off-by: Lukas Wagner <l.wagner@proxmox.com>
2023-11-17 13:30:57 +01:00
Lukas Wagner
36fbb76145 notify: add 'disable' parameter
This parameter disables a matcher/a target.

Signed-off-by: Lukas Wagner <l.wagner@proxmox.com>
2023-11-17 13:30:57 +01:00
Lukas Wagner
7f8cb0c5c3 notify: add bindings for smtp API calls
Signed-off-by: Lukas Wagner <l.wagner@proxmox.com>
2023-11-17 13:30:57 +01:00
Lukas Wagner
29602a4b01 notify: adapt to new matcher-based notification routing
Signed-off-by: Lukas Wagner <l.wagner@proxmox.com>
2023-11-17 13:30:57 +01: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
2be21ff9fa bump common to 0.3.1
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2023-07-24 14:14:06 +02:00
Wolfgang Bumiller
47b7ebbc96 common: bump pve-rs dep to 0.8.5 for Proxmox::RS::Notify
Note: this is more of a soft requirement, since as long as the Notify
module isn't loaded we don't need the latest version.
This is important to keep in mind since we do not currently have a
`pmg-rs` notify `Context` implementation and thus cannot depend on a
newer `pmg-rs`. However, as long as pmg code doesn't try to *use* the
Notify module, this won't be a problem.

Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2023-07-24 14:14:06 +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
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
181b19e2ef buildsys: add clean target for common package
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2023-05-18 12:46:27 +02:00
Thomas Lamprecht
e3d4bb03c9 common: wrap-and-sort & refresh
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2023-05-18 12:45:44 +02:00
Thomas Lamprecht
a53d4737d3 common: d/changelog: fixup distribution to bookworm
got (correctly) uploaded to bookworm, not bullseye

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2023-05-18 12:34:43 +02:00
Wolfgang Bumiller
4917bd4ead bump proxmox-rs-perl to 0.3.0, pmg-rs to 0.7.0
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2023-05-17 15:53:38 +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
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
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
Fabian Grünbichler
8e7330c474 common: bump to 0.2.1
and update versioned depends/breaks

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2022-09-07 12:05:37 +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
Wolfgang Bumiller
db85dc1b7a common: add versioned Breaks
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2022-08-17 13:13:47 +02:00
Wolfgang Bumiller
301bfb5b9a bump common to 0.2.0
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2022-07-21 15:01:47 +02:00
Wolfgang Bumiller
75796e3275 common: depend on next pve-rs/pmg-rs bump
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2022-07-21 15:01:20 +02:00
Fabian Grünbichler
31a1c78845 common: adapt to changes in proxmox_subscription
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2022-07-21 14:44:12 +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
03bba92a8b adapt to proxmox-apt changes
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
2022-07-21 13:00:53 +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
c078098160 bump common version to 0.1.2
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2022-07-08 14:50:46 +02:00