Commit Graph

297 Commits

Author SHA1 Message Date
Mathieu
d3c655bd49 feat(@xen-orchestra/rest-api): expose get servers and get server (#8385)
Implement the mecanism to expose non XAPI object endpoints:

    Added a new type, NonXapiXoRecord, which represents all XO objects that are not XAPI objects (e.g., users, servers, groups, etc.).
    Split XapiXoController to create BaseController, allowing code reuse between XapiXoController and the new XoController.
    BaseController exposes sendObjects and createAction (unchanged) and enforces subclasses to define the getObject and getObjects methods.
    XoController requires subclasses to implement getAllCollectionObjects and getCollectionObject, as these are used in its getObjects and getObject methods.
    filter and limit are handled by xo-server for XAPI objects. XoController implements its own filter and limit mechanisms for all non XAPI object in getObjects

And finally expose /rest/v0/servers and /rest/v0/servers/<server-id>🥳
2025-03-25 09:38:28 +01:00
mathieuRA
2851bcbc5c feat(@vates/types): add XoVdi(-snapshot|unmanaged) types 2025-03-24 16:37:17 +01:00
Mathieu
8cc6b33ca1 fix(@vates/types): enhance xen-api and xo types (#8434) 2025-03-19 09:05:50 +01:00
Mathieu
1d4b04c777 feat(@xen-orchestra/rest-api): expose get vbd and get vbds (#8404) 2025-03-13 09:41:52 +01:00
Mathieu
ca84af4eda feat(@xen-orchestra/rest-api): migrate vms/:id/actions/start (#8379) 2025-03-11 12:50:42 +01:00
Mathieu
57056b2298 Add XoSr type + expose /rest/v0/srs and /rest/v0/srs/:id (#8419)
* feat(@vates/types): add XoSr type

* feat(@xen-orchestra/rest-api): expose get srs and get sr
2025-03-11 11:18:38 +01:00
mathieuRA
76e23ecdcc feat(@xen-orchestra/rest-api): expose hosts/:id/stats 2025-03-06 16:56:38 +01:00
mathieuRA
a5866bbb6a feat(@vates/types): add XoHost type 2025-03-06 16:56:38 +01:00
Mathieu
034d9b5eca feat(@xen-orchestra/rest-api): expose VM stats (#8359) 2025-03-06 15:06:28 +01:00
OlivierFL
600d8d9e85 feat: technical release (#8403) 2025-03-04 15:37:15 +01:00
OlivierFL
b3d66497b9 feat: technical release (#8383) 2025-02-26 16:34:07 +01:00
Mathieu
ac2ff9b38d fix(@vates/types): add missing VM-template in XapiXoRecord (#8376)
Introduced by 0ef95d9
2025-02-24 15:54:19 +01:00
OlivierFL
f25c67d5a8 feat: technical release (#8375) 2025-02-24 10:48:54 +01:00
Pierre Donias
821c25f864 fix(generator-toolbox): normalize (#8374) 2025-02-24 10:12:19 +01:00
OlivierFL
4eed730a09 feat: technical release (#8370) 2025-02-21 15:29:00 +01:00
Mathieu
780e0bbefa feat(@xen-orchestra/rest-api): expose get vms and get vm (#8356)
@vates/types Added an export to the root of the lib because TSOA requires importing the type from the root library to generate the OpenAPI specification
    @vates/types Tuples ([number, number]) throw errors when generating the OpenAPI specification. They have been updated to number[]
    @vates/types Created a XapiXoRecord to be able to differentiate between XO types that come from xapi-object-to-xo and XO types that come from XO collections
    xo-server Added getObjectsByType to avoid iterating over all XAPI objects when we know what type of object we want
    Branded is not a valid type for the OpenAPI spec. I created a Unbrand type, that convert all Branded to string . (Use Unbrand only for OpenAPI specification definition to maintain Branded type safety)
    Added another error middleware to catch TSOA errors and throw XO errors
    Added a README.md to have consistency of order in the use of decorators
2025-02-21 10:31:57 +01:00
Bastien Nollet
b2ba5abacf docs(fuse-vhd): document cli file restoration (#8355)
Document how to restore a file from a VHD with fuse-vhd CLI.
This will allow users to restore by themselves large files that make the restore fail when done from the UI.
2025-02-21 10:26:12 +01:00
Mathieu
6f5b97f7f3 feat(@xen-orchestra/rest-api): setup simple auth middleware (#8327)
Configure dependency injection + configure authentication middleware for openapi (copy of what actually exists in the current REST API. Will be improved later when implementing ACL/resource set)
2025-02-20 16:07:09 +01:00
Bastien Nollet
fb02bf07f6 fix(@vates/task): ensure compatibility between library versions (#8347) 2025-02-19 17:44:34 +01:00
Florent BEAUCHAMP
9723075253 feat(generator): create a toolbox (#8295) 2025-02-18 17:23:51 +01:00
Florent BEAUCHAMP
aa27e3ba46 fix(fatfs): normalize package 2025-02-18 16:45:23 +01:00
Mathieu
1983025403 fix(@vates/types): normalize package (#8332) 2025-02-17 09:22:07 +01:00
Mathieu
0ef95d9911 feat(@vates/types): create @vates/types lib (#8308) 2025-02-10 10:16:39 +01:00
Florent BEAUCHAMP
7579b3359c docs(async-each): improve the js doc (#8293) 2025-02-03 13:00:25 +01:00
Pierre Donias
42b32eb079 feat: technical release (#8274) 2025-01-28 11:43:52 +01:00
Sebastian CZECH
d864cb57e0 feat: technical release (#8202) 2024-12-18 14:53:31 +01:00
Sebastian CZECH
56a18eba9a feat: technical release (#8196) 2024-12-16 11:02:22 +01:00
Joris K
3b4e772eac feat: technical release (#8166)
* feat(vhd-lib): 4.11.2

* feat(@xen-orchestra/xapi): 7.8.0

* feat(@xen-orchestra/backups): 0.55.0

* feat(@xen-orchestra/backups-cli): 1.0.26

* feat(@xen-orchestra/immutable-backups): 1.0.14

* feat(@xen-orchestra/web-core): 0.7.0

* feat(@xen-orchestra/proxy): 0.29.6

* feat(@xen-orchestra/web): 0.5.0

* feat(xo-server): 5.164.0

* feat(xo-web): 5.163.0

* chore(CHANGELOG): update next
2024-11-28 16:21:17 +01:00
Joris K
01cc733cac feat: technical release (#8163) 2024-11-27 11:01:05 +01:00
Julien Fontanet
be05b69d41 test(task): compat with Node >= 20.18.1
Introduced by ba3753ab1
2024-11-26 10:57:05 +01:00
Mathieu
a22e4a6340 fix(xo-server): support of cloudbase-init (#8154) 2024-11-26 10:01:29 +01:00
Joris K
87b7016669 feat: technical release (#8157)
* feat(@xen-orchestra/fs): 4.3.0

* feat(@xen-orchestra/web-core): 0.5.0

* feat(@xen-orchestra/proxy): 0.29.5

* feat(@xen-orchestra/web): 0.3.2

* feat(xo-server): 5.162.0

* feat(xo-server-perf-alert): 0.6.0

* feat(xo-web): 5.162.0

* chore(CHANGELOG): update next
2024-11-25 14:58:35 +01:00
Julien Fontanet
f9c7aa92f9 feat(@xen-orchestra/log): 0.7.1 2024-11-14 16:28:42 +01:00
Florent BEAUCHAMP
d8c4b60b63 feat: technical release (#8116) 2024-11-07 15:38:43 +01:00
Florent BEAUCHAMP
41bc59bdf4 fix(nbd): connect to only one host at a time per disk (#8086)
connecting to multiple host in parallel sometimes lead to a race condition in xapi-nbd while updating the sm_config property of the vdi. This lead to VDI that are not disconnected, thus VDI_IN_USE error at the next step of the backup

from : https://xcp-ng.org/forum/topic/9864/vdi-staying-connected-to-dom0-when-using-nbd-backups/46?_=1730797966321
2024-11-07 14:49:57 +01:00
b-Nollet
34bccbda56 feat: technical release (#8087) 2024-10-30 16:06:56 +01:00
Julien Fontanet
297b9b2025 feat(task/{failure,success}): ensure not called during run
Introduced by ba3753ab1
2024-10-29 08:34:48 +01:00
b-Nollet
04b3fc26fb feat: technical release (#8079) 2024-10-28 16:42:40 +01:00
Julien Fontanet
41e847a32f chore: use native node:test instead of test package 2024-10-28 16:33:21 +01:00
Julien Fontanet
c79efa0fe8 docs(xml-rpc): don't normalize or trim whitespaces when parsing XML 2024-10-24 11:21:42 +02:00
Julien Fontanet
ba3753ab1a feat(task): add start, success & failure methods (#8061)
* feat(task): add start, success & failure methods

Allow managing the task manually instead of using `.run()` and `.runInside()`.
2024-10-22 17:08:57 +02:00
b-Nollet
bfb2ea6b17 feat: technical release (#8035) 2024-10-04 10:17:23 +02:00
Florent BEAUCHAMP
30172caa1f fix(task/combineEvents): remove ended tasks from map (#8030) 2024-10-03 14:35:10 +02:00
Stephane
e5b833dada feat: technical release (#8022) 2024-09-30 11:26:12 +02:00
Stephane
cfea2b3a2b feat: technical release (#8020) 2024-09-27 16:21:46 +02:00
Stephane
9ad13608eb feat: technical release (#8015) 2024-09-26 14:55:46 +02:00
Stephane M.
381c83d0b3 test(parse-duration): create unit tests (#7968) 2024-09-22 20:50:42 +02:00
Julien Fontanet
4d768252f0 feat(@vates/json-hash): 0.2.0 2024-08-05 17:56:58 +02:00
Julien Fontanet
8cc3d0cbaf feat(json-hash): use base64url instead of base64 2024-08-05 17:12:09 +02:00
Julien Fontanet
3284021964 fix(json-hash): strict mode and Node version
Introduced by 14325fe99
2024-08-05 14:43:28 +02:00