Dietmar Maurer
d6644e29fe
move src/shared_rate_limiter.rs to src/tools/shared_rate_limiter.rs
...
Signed-off-by: Dietmar Maurer <dietmar@proxmox.com>
2022-02-14 14:57:56 +01:00
Dietmar Maurer
e705b3057f
rename cached_traffic_control.rs to traffic_control_cache.rs, improve dev docs
...
Keep things inside crate::traffic_control_cache (do not pollute root namespace).
Signed-off-by: Dietmar Maurer <dietmar@proxmox.com>
2022-02-14 13:45:44 +01:00
Dietmar Maurer
a0172d766b
traffic-controls: add API/CLI to show current traffic
...
Signed-off-by: Dietmar Maurer <dietmar@proxmox.com>
2021-11-14 17:21:45 +01:00
Dietmar Maurer
de21d4efdc
implement rate limiter in shared memory
...
This kind of rate limiter can be used among several processes (as long
as all set the same rate/burst).
2021-11-13 17:49:38 +01:00
Dietmar Maurer
610150a4b4
implement a traffic control cache for fast rate control limiter lockups
...
Signed-off-by: Dietmar Maurer <dietmar@proxmox.com>
2021-11-10 10:15:40 +01:00
Dietmar Maurer
fae4f6c509
cleanup: move rrd cache related code into extra file
2021-10-14 07:57:27 +02:00
Dietmar Maurer
c68fa58a59
remove proxmox-rrd-api-types crate, s/RRDTimeFrameResolution/RRDTimeFrame/
...
Because the types used inside the RRD have other requirements
than the API types:
- other serialization format
- the API may not support all RRD features
Signed-off-by: Dietmar Maurer <dietmar@proxmox.com>
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-10-13 13:36:02 +02:00
Dietmar Maurer
eb37d4ece2
proxmox-rrd: remove dependency to proxmox-rrd-api-types
...
Signed-off-by: Dietmar Maurer <dietmar@proxmox.com>
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-10-13 13:36:02 +02:00
Dietmar Maurer
fa49d0fde9
RRD_CACHE: use a OnceCell instead of lazy_static
...
And initialize only with proxmox-backup-proxy. Other binaries dont need it.
Signed-off-by: Dietmar Maurer <dietmar@proxmox.com>
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-10-13 13:36:02 +02:00
Dietmar Maurer
1d44f175c6
proxmox-rrd: use a journal to reduce amount of bytes written
...
Append pending changes in a simple text based format that allows for
lockless appends as long as we stay below 4 KiB data per write.
Apply the journal every 30 minutes and on daemon startup.
Note that we do not ensure that the journal is synced, this is a
perfomance optimization we can make as the kernel defaults to
writeback in-flight data every 30s (sysctl vm/dirty_expire_centisecs)
anyway, so we lose at max half a minute of data on a crash, here one
should have in mind that we normally expose 1 minute as finest
granularity anyway, so not really much lost.
Signed-off-by: Dietmar Maurer <dietmar@proxmox.com>
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2021-10-13 13:36:02 +02:00
Dietmar Maurer
09340f28f5
move RRD code into proxmox-rrd crate
2021-10-06 08:13:28 +02:00
Wolfgang Bumiller
450105b0c3
make pbs_tools::cert not depend on pbs-buildcfg
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2021-09-29 14:11:26 +02:00
Wolfgang Bumiller
01a080215d
drop pbs_tools::auth
...
`pbs_client::connect_to_localhost` now requires the key as
optional parameter
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2021-09-29 11:08:52 +02:00
Wolfgang Bumiller
2b7f8dd5ea
move client to pbs-client subcrate
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2021-07-19 12:58:43 +02:00
Wolfgang Bumiller
c23192d34e
move chunk_store to pbs-datastore
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2021-07-07 14:37:47 +02:00
Wolfgang Bumiller
af06decd1b
split out pbs-buildcfg module
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2021-07-06 12:00:14 +02:00
Wolfgang Bumiller
f2f526b61d
add acme client
...
This is the highlevel part using proxmox-acme-rs to create
requests and our hyper code to issue them to the acme
server.
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2021-05-04 07:56:52 +02:00
Dietmar Maurer
8c15560b68
tape: add file format definitions
2020-12-05 10:45:08 +01:00
Stefan Reiter
254b1f2213
rustdoc: add crate level doc
...
Contains a link to the 'backup' module's doc, as that explains a lot
about the inner workings of PBS and probably marks a good entry point
for new readers.
Signed-off-by: Stefan Reiter <s.reiter@proxmox.com>
2020-10-16 09:37:50 +02:00
Wolfgang Bumiller
d1993187b6
introduce TaskState trait
...
Used to not require access to the WorkerTask struct outside
the `server` and `api2` module, so it'll be easier to
separate those backup/server/client parts into separate
crates.
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2020-10-12 14:11:57 +02:00
Dietmar Maurer
6359dc891a
add simple rrd implementation
2020-05-23 10:42:48 +02:00
Dietmar Maurer
7d817b0358
implement auth framework
2020-04-08 14:06:15 +02:00
Dietmar Maurer
ca26db1140
delete unused src/storage/config.rs
2020-03-02 13:31:38 +01:00
Dietmar Maurer
90c5239d46
use SectionConfig from proxmox 0.1.18-1
2020-03-02 12:52:11 +01:00
Dietmar Maurer
7eea56ca00
use cli from proxmox::api
2019-12-02 11:56:29 +01:00
Wolfgang Bumiller
be2bb37205
remove api_schema submodule
...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2019-11-22 09:31:45 +01:00
Wolfgang Bumiller
236761a3e6
drop src/storage/futures.rs
...
it's unused and uses a tokio::Task I don't want to lookup
the std-future conversion for...
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2019-09-02 15:17:58 +02:00
Dietmar Maurer
986bef16be
src/backup.rs; use a macro to define PROXMOX_BACKUP_PROTOCOL_ID_V1
...
So that we can include it in static doc strings.
2019-06-05 08:41:20 +02:00
Dietmar Maurer
882594c5e9
src/server.rs: improve crate layout
2019-04-06 09:17:25 +02:00
Dietmar Maurer
479f6e40ec
src/server/worker_task.rs: implement task registry
2019-04-04 08:58:39 +02:00
Dietmar Maurer
8968258b66
rename catar into pxar
...
To avoid confusion with the casync implementation.
2019-03-14 10:54:09 +01:00
Dietmar Maurer
4de0e142a0
cleanup cli library structure
2019-02-21 09:08:03 +01:00
Dietmar Maurer
dc9a007b11
rename src/api to src/api_schema
2019-02-17 09:59:20 +01:00
Dietmar Maurer
a8f268afbb
fix configuration dir permission
...
Carefully set and check permissions ...
2019-02-16 12:19:13 +01:00
Dietmar Maurer
151c6ce27d
src/client.rs: improve library structure and docu
2019-02-14 11:11:39 +01:00
Wolfgang Bumiller
9f4962d396
introduce buildcfg module and PROXMOX_CONFIGDIR
...
buildcfg.rs should contain convenience variables or macros
for using build-time configured variables
For now we replace hardcoded "/etc/proxmox-backup/<foo>"
with configdir!("<foo>").
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
2019-02-04 15:13:08 +01:00
Dietmar Maurer
6c30068ebf
auth_helpers.rs: split code into separate file
2019-01-29 16:55:49 +01:00
Dietmar Maurer
0f253593c6
move rpc environment implementation to separate files
2019-01-26 15:08:02 +01:00
Dietmar Maurer
8f973f8181
api2/node/dns.rs: implement resolv.conf parser
2019-01-24 14:59:40 +01:00
Dietmar Maurer
576e3bf252
rename api3 back to api2
...
There is no real need to change the path, so using api2 we can reuse
all helpers (like tools from proxmox widget toolkit).
2019-01-22 12:10:38 +01:00
Dietmar Maurer
597641fdd5
client/http_client.rs: new helper class
2019-01-17 11:38:03 +01:00
Dietmar Maurer
e8edbbd49c
client/catar_backup_stream.rs: new helper for catar uploads to server
2019-01-16 10:15:39 +01:00
Dietmar Maurer
7e21da6e23
api/router.rs: allow different types of api methods
...
Added a prototype for file/backup uploads.
2019-01-14 12:26:04 +01:00
Dietmar Maurer
1006acd626
remove dead code
2019-01-05 16:55:21 +01:00
Dietmar Maurer
51b499db74
tools.rs: improve docs
2019-01-05 16:53:28 +01:00
Dietmar Maurer
cbdd8c54ae
create backup mod in backup.rs, improve docu
2018-12-31 16:08:04 +01:00
Dietmar Maurer
cb4412b18e
move chunker.rs to backup/
2018-12-31 15:46:16 +01:00
Dietmar Maurer
4fa71e0573
improve catar docs
2018-12-30 13:47:27 +01:00
Dietmar Maurer
95bd5dfec7
src/catar/encoder.rs: correctly sort goodby items
2018-12-29 17:00:48 +01:00
Dietmar Maurer
fb8365b79f
catar/encoder.rs: first try
2018-12-27 13:15:47 +01:00