opencloudtool 0.4.2__tar.gz → 0.5.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {opencloudtool-0.4.2 → opencloudtool-0.5.1}/Cargo.lock +74 -90
- {opencloudtool-0.4.2 → opencloudtool-0.5.1}/Cargo.toml +13 -12
- opencloudtool-0.5.1/PKG-INFO +112 -0
- opencloudtool-0.5.1/README.md +105 -0
- {opencloudtool-0.4.2 → opencloudtool-0.5.1}/crates/oct-cloud/README.md +18 -69
- {opencloudtool-0.4.2 → opencloudtool-0.5.1}/crates/oct-cloud/src/aws/client.rs +10 -1
- opencloudtool-0.5.1/crates/oct-cloud/src/aws/resource.rs +309 -0
- opencloudtool-0.5.1/crates/oct-cloud/src/infra/graph.rs +1493 -0
- {opencloudtool-0.4.2 → opencloudtool-0.5.1}/crates/oct-cloud/src/infra/resource.rs +32 -29
- opencloudtool-0.5.1/crates/oct-cloud/src/infra/state.rs +323 -0
- {opencloudtool-0.4.2 → opencloudtool-0.5.1}/crates/oct-cloud/src/lib.rs +0 -1
- opencloudtool-0.5.1/crates/oct-ctl-sdk/Cargo.toml +26 -0
- {opencloudtool-0.4.2/crates/oct-orchestrator → opencloudtool-0.5.1/crates/oct-ctl-sdk}/README.md +18 -69
- opencloudtool-0.4.2/crates/oct-orchestrator/src/oct_ctl_sdk.rs → opencloudtool-0.5.1/crates/oct-ctl-sdk/src/lib.rs +10 -10
- {opencloudtool-0.4.2 → opencloudtool-0.5.1}/crates/oct-orchestrator/Cargo.toml +2 -1
- opencloudtool-0.5.1/crates/oct-orchestrator/README.md +230 -0
- {opencloudtool-0.4.2 → opencloudtool-0.5.1}/crates/oct-orchestrator/src/backend.rs +36 -13
- {opencloudtool-0.4.2 → opencloudtool-0.5.1}/crates/oct-orchestrator/src/config.rs +206 -9
- opencloudtool-0.5.1/crates/oct-orchestrator/src/lib.rs +468 -0
- {opencloudtool-0.4.2 → opencloudtool-0.5.1}/crates/oct-orchestrator/src/scheduler.rs +1 -2
- {opencloudtool-0.4.2 → opencloudtool-0.5.1}/crates/oct-py/Cargo.toml +1 -1
- opencloudtool-0.5.1/crates/oct-py/README.md +105 -0
- opencloudtool-0.5.1/crates/oct-py/python/opencloudtool/__init__.py +3 -0
- opencloudtool-0.5.1/crates/oct-py/python/opencloudtool/py_api.py +142 -0
- {opencloudtool-0.4.2 → opencloudtool-0.5.1}/crates/oct-py/src/lib.rs +14 -24
- {opencloudtool-0.4.2 → opencloudtool-0.5.1}/crates/oct-py/uv.lock +33 -3
- {opencloudtool-0.4.2 → opencloudtool-0.5.1}/pyproject.toml +2 -1
- opencloudtool-0.5.1/python/opencloudtool/__init__.py +3 -0
- opencloudtool-0.5.1/python/opencloudtool/py_api.py +142 -0
- opencloudtool-0.4.2/PKG-INFO +0 -45
- opencloudtool-0.4.2/README.md +0 -38
- opencloudtool-0.4.2/crates/oct-cloud/src/aws/resource.rs +0 -2599
- opencloudtool-0.4.2/crates/oct-cloud/src/infra/graph.rs +0 -809
- opencloudtool-0.4.2/crates/oct-cloud/src/infra/state.rs +0 -112
- opencloudtool-0.4.2/crates/oct-cloud/src/state.rs +0 -1599
- opencloudtool-0.4.2/crates/oct-orchestrator/src/lib.rs +0 -909
- opencloudtool-0.4.2/crates/oct-py/README.md +0 -38
- opencloudtool-0.4.2/crates/oct-py/python/opencloudtool/__init__.py +0 -3
- opencloudtool-0.4.2/crates/oct-py/python/opencloudtool/py_api.py +0 -66
- opencloudtool-0.4.2/python/opencloudtool/__init__.py +0 -3
- opencloudtool-0.4.2/python/opencloudtool/py_api.py +0 -66
- {opencloudtool-0.4.2 → opencloudtool-0.5.1}/crates/oct-cloud/Cargo.toml +0 -0
- {opencloudtool-0.4.2 → opencloudtool-0.5.1}/crates/oct-cloud/src/aws/mod.rs +0 -0
- {opencloudtool-0.4.2 → opencloudtool-0.5.1}/crates/oct-cloud/src/aws/types.rs +0 -0
- {opencloudtool-0.4.2 → opencloudtool-0.5.1}/crates/oct-cloud/src/infra/mod.rs +0 -0
- {opencloudtool-0.4.2 → opencloudtool-0.5.1}/crates/oct-cloud/src/resource.rs +0 -0
- {opencloudtool-0.4.2 → opencloudtool-0.5.1}/crates/oct-orchestrator/src/user_state.rs +0 -0
- {opencloudtool-0.4.2 → opencloudtool-0.5.1}/crates/oct-py/.python-version +0 -0
|
@@ -667,9 +667,9 @@ dependencies = [
|
|
|
667
667
|
|
|
668
668
|
[[package]]
|
|
669
669
|
name = "axum"
|
|
670
|
-
version = "0.8.
|
|
670
|
+
version = "0.8.6"
|
|
671
671
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
672
|
-
checksum = "
|
|
672
|
+
checksum = "8a18ed336352031311f4e0b4dd2ff392d4fbb370777c9d18d7fc9d7359f73871"
|
|
673
673
|
dependencies = [
|
|
674
674
|
"axum-core",
|
|
675
675
|
"bytes",
|
|
@@ -686,8 +686,7 @@ dependencies = [
|
|
|
686
686
|
"mime",
|
|
687
687
|
"percent-encoding",
|
|
688
688
|
"pin-project-lite",
|
|
689
|
-
"
|
|
690
|
-
"serde",
|
|
689
|
+
"serde_core",
|
|
691
690
|
"serde_json",
|
|
692
691
|
"serde_path_to_error",
|
|
693
692
|
"serde_urlencoded",
|
|
@@ -701,9 +700,9 @@ dependencies = [
|
|
|
701
700
|
|
|
702
701
|
[[package]]
|
|
703
702
|
name = "axum-core"
|
|
704
|
-
version = "0.5.
|
|
703
|
+
version = "0.5.5"
|
|
705
704
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
706
|
-
checksum = "
|
|
705
|
+
checksum = "59446ce19cd142f8833f856eb31f3eb097812d1479ab224f54d72428ca21ea22"
|
|
707
706
|
dependencies = [
|
|
708
707
|
"bytes",
|
|
709
708
|
"futures-core",
|
|
@@ -712,7 +711,6 @@ dependencies = [
|
|
|
712
711
|
"http-body-util",
|
|
713
712
|
"mime",
|
|
714
713
|
"pin-project-lite",
|
|
715
|
-
"rustversion",
|
|
716
714
|
"sync_wrapper",
|
|
717
715
|
"tower-layer",
|
|
718
716
|
"tower-service",
|
|
@@ -912,9 +910,9 @@ dependencies = [
|
|
|
912
910
|
|
|
913
911
|
[[package]]
|
|
914
912
|
name = "clap"
|
|
915
|
-
version = "4.5.
|
|
913
|
+
version = "4.5.48"
|
|
916
914
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
917
|
-
checksum = "
|
|
915
|
+
checksum = "e2134bb3ea021b78629caa971416385309e0131b351b25e01dc16fb54e1b5fae"
|
|
918
916
|
dependencies = [
|
|
919
917
|
"clap_builder",
|
|
920
918
|
"clap_derive",
|
|
@@ -922,9 +920,9 @@ dependencies = [
|
|
|
922
920
|
|
|
923
921
|
[[package]]
|
|
924
922
|
name = "clap_builder"
|
|
925
|
-
version = "4.5.
|
|
923
|
+
version = "4.5.48"
|
|
926
924
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
927
|
-
checksum = "
|
|
925
|
+
checksum = "c2ba64afa3c0a6df7fa517765e31314e983f51dda798ffba27b988194fb65dc9"
|
|
928
926
|
dependencies = [
|
|
929
927
|
"anstream",
|
|
930
928
|
"anstyle",
|
|
@@ -934,11 +932,11 @@ dependencies = [
|
|
|
934
932
|
|
|
935
933
|
[[package]]
|
|
936
934
|
name = "clap_derive"
|
|
937
|
-
version = "4.5.
|
|
935
|
+
version = "4.5.47"
|
|
938
936
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
939
|
-
checksum = "
|
|
937
|
+
checksum = "bbfd7eae0b0f1a6e63d4b13c9c478de77c2eb546fba158ad50b4203dc24b9f9c"
|
|
940
938
|
dependencies = [
|
|
941
|
-
"heck
|
|
939
|
+
"heck",
|
|
942
940
|
"proc-macro2",
|
|
943
941
|
"quote",
|
|
944
942
|
"syn",
|
|
@@ -1513,12 +1511,6 @@ dependencies = [
|
|
|
1513
1511
|
"foldhash",
|
|
1514
1512
|
]
|
|
1515
1513
|
|
|
1516
|
-
[[package]]
|
|
1517
|
-
name = "heck"
|
|
1518
|
-
version = "0.4.1"
|
|
1519
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1520
|
-
checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8"
|
|
1521
|
-
|
|
1522
1514
|
[[package]]
|
|
1523
1515
|
name = "heck"
|
|
1524
1516
|
version = "0.5.0"
|
|
@@ -2065,9 +2057,9 @@ dependencies = [
|
|
|
2065
2057
|
|
|
2066
2058
|
[[package]]
|
|
2067
2059
|
name = "log"
|
|
2068
|
-
version = "0.4.
|
|
2060
|
+
version = "0.4.28"
|
|
2069
2061
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
2070
|
-
checksum = "
|
|
2062
|
+
checksum = "34080505efa8e45a4b816c349525ebe327ceaa8559756f0356cba97ef3bf7432"
|
|
2071
2063
|
|
|
2072
2064
|
[[package]]
|
|
2073
2065
|
name = "lru"
|
|
@@ -2226,12 +2218,11 @@ checksum = "61807f77802ff30975e01f4f071c8ba10c022052f98b3294119f3e615d13e5be"
|
|
|
2226
2218
|
|
|
2227
2219
|
[[package]]
|
|
2228
2220
|
name = "nu-ansi-term"
|
|
2229
|
-
version = "0.
|
|
2221
|
+
version = "0.50.1"
|
|
2230
2222
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
2231
|
-
checksum = "
|
|
2223
|
+
checksum = "d4a28e057d01f97e61255210fcff094d74ed0466038633e95017f5beb68e4399"
|
|
2232
2224
|
dependencies = [
|
|
2233
|
-
"
|
|
2234
|
-
"winapi",
|
|
2225
|
+
"windows-sys 0.52.0",
|
|
2235
2226
|
]
|
|
2236
2227
|
|
|
2237
2228
|
[[package]]
|
|
@@ -2269,7 +2260,7 @@ dependencies = [
|
|
|
2269
2260
|
|
|
2270
2261
|
[[package]]
|
|
2271
2262
|
name = "oct-cli"
|
|
2272
|
-
version = "0.
|
|
2263
|
+
version = "0.5.1"
|
|
2273
2264
|
dependencies = [
|
|
2274
2265
|
"assert_cmd",
|
|
2275
2266
|
"clap",
|
|
@@ -2281,7 +2272,7 @@ dependencies = [
|
|
|
2281
2272
|
|
|
2282
2273
|
[[package]]
|
|
2283
2274
|
name = "oct-cloud"
|
|
2284
|
-
version = "0.
|
|
2275
|
+
version = "0.5.1"
|
|
2285
2276
|
dependencies = [
|
|
2286
2277
|
"aws-config",
|
|
2287
2278
|
"aws-sdk-ec2",
|
|
@@ -2301,7 +2292,7 @@ dependencies = [
|
|
|
2301
2292
|
|
|
2302
2293
|
[[package]]
|
|
2303
2294
|
name = "oct-ctl"
|
|
2304
|
-
version = "0.
|
|
2295
|
+
version = "0.5.1"
|
|
2305
2296
|
dependencies = [
|
|
2306
2297
|
"axum",
|
|
2307
2298
|
"log",
|
|
@@ -2315,15 +2306,27 @@ dependencies = [
|
|
|
2315
2306
|
"tracing-subscriber",
|
|
2316
2307
|
]
|
|
2317
2308
|
|
|
2309
|
+
[[package]]
|
|
2310
|
+
name = "oct-ctl-sdk"
|
|
2311
|
+
version = "0.5.1"
|
|
2312
|
+
dependencies = [
|
|
2313
|
+
"mockito",
|
|
2314
|
+
"reqwest",
|
|
2315
|
+
"serde",
|
|
2316
|
+
"serde_json",
|
|
2317
|
+
"tokio",
|
|
2318
|
+
]
|
|
2319
|
+
|
|
2318
2320
|
[[package]]
|
|
2319
2321
|
name = "oct-orchestrator"
|
|
2320
|
-
version = "0.
|
|
2322
|
+
version = "0.5.1"
|
|
2321
2323
|
dependencies = [
|
|
2322
2324
|
"async-trait",
|
|
2323
2325
|
"log",
|
|
2324
2326
|
"mockito",
|
|
2325
2327
|
"oct-cloud",
|
|
2326
|
-
"
|
|
2328
|
+
"oct-ctl-sdk",
|
|
2329
|
+
"petgraph",
|
|
2327
2330
|
"serde",
|
|
2328
2331
|
"serde_json",
|
|
2329
2332
|
"tempfile",
|
|
@@ -2334,7 +2337,7 @@ dependencies = [
|
|
|
2334
2337
|
|
|
2335
2338
|
[[package]]
|
|
2336
2339
|
name = "oct-py"
|
|
2337
|
-
version = "0.
|
|
2340
|
+
version = "0.5.1"
|
|
2338
2341
|
dependencies = [
|
|
2339
2342
|
"env_logger",
|
|
2340
2343
|
"log",
|
|
@@ -2405,12 +2408,6 @@ version = "0.5.2"
|
|
|
2405
2408
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
2406
2409
|
checksum = "1a80800c0488c3a21695ea981a54918fbb37abf04f4d0720c453632255e2ff0e"
|
|
2407
2410
|
|
|
2408
|
-
[[package]]
|
|
2409
|
-
name = "overload"
|
|
2410
|
-
version = "0.1.1"
|
|
2411
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
2412
|
-
checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39"
|
|
2413
|
-
|
|
2414
2411
|
[[package]]
|
|
2415
2412
|
name = "p256"
|
|
2416
2413
|
version = "0.11.1"
|
|
@@ -2506,9 +2503,9 @@ dependencies = [
|
|
|
2506
2503
|
|
|
2507
2504
|
[[package]]
|
|
2508
2505
|
name = "petgraph"
|
|
2509
|
-
version = "0.8.
|
|
2506
|
+
version = "0.8.3"
|
|
2510
2507
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
2511
|
-
checksum = "
|
|
2508
|
+
checksum = "8701b58ea97060d5e5b155d383a69952a60943f0e6dfe30b04c287beb0b27455"
|
|
2512
2509
|
dependencies = [
|
|
2513
2510
|
"fixedbitset",
|
|
2514
2511
|
"hashbrown",
|
|
@@ -2672,15 +2669,14 @@ dependencies = [
|
|
|
2672
2669
|
|
|
2673
2670
|
[[package]]
|
|
2674
2671
|
name = "pyo3"
|
|
2675
|
-
version = "0.
|
|
2672
|
+
version = "0.26.0"
|
|
2676
2673
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
2677
|
-
checksum = "
|
|
2674
|
+
checksum = "7ba0117f4212101ee6544044dae45abe1083d30ce7b29c4b5cbdfa2354e07383"
|
|
2678
2675
|
dependencies = [
|
|
2679
|
-
"cfg-if",
|
|
2680
2676
|
"indoc",
|
|
2681
2677
|
"libc",
|
|
2682
2678
|
"memoffset",
|
|
2683
|
-
"
|
|
2679
|
+
"once_cell",
|
|
2684
2680
|
"portable-atomic",
|
|
2685
2681
|
"pyo3-build-config",
|
|
2686
2682
|
"pyo3-ffi",
|
|
@@ -2690,19 +2686,18 @@ dependencies = [
|
|
|
2690
2686
|
|
|
2691
2687
|
[[package]]
|
|
2692
2688
|
name = "pyo3-build-config"
|
|
2693
|
-
version = "0.
|
|
2689
|
+
version = "0.26.0"
|
|
2694
2690
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
2695
|
-
checksum = "
|
|
2691
|
+
checksum = "4fc6ddaf24947d12a9aa31ac65431fb1b851b8f4365426e182901eabfb87df5f"
|
|
2696
2692
|
dependencies = [
|
|
2697
|
-
"once_cell",
|
|
2698
2693
|
"target-lexicon",
|
|
2699
2694
|
]
|
|
2700
2695
|
|
|
2701
2696
|
[[package]]
|
|
2702
2697
|
name = "pyo3-ffi"
|
|
2703
|
-
version = "0.
|
|
2698
|
+
version = "0.26.0"
|
|
2704
2699
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
2705
|
-
checksum = "
|
|
2700
|
+
checksum = "025474d3928738efb38ac36d4744a74a400c901c7596199e20e45d98eb194105"
|
|
2706
2701
|
dependencies = [
|
|
2707
2702
|
"libc",
|
|
2708
2703
|
"pyo3-build-config",
|
|
@@ -2710,9 +2705,9 @@ dependencies = [
|
|
|
2710
2705
|
|
|
2711
2706
|
[[package]]
|
|
2712
2707
|
name = "pyo3-macros"
|
|
2713
|
-
version = "0.
|
|
2708
|
+
version = "0.26.0"
|
|
2714
2709
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
2715
|
-
checksum = "
|
|
2710
|
+
checksum = "2e64eb489f22fe1c95911b77c44cc41e7c19f3082fc81cce90f657cdc42ffded"
|
|
2716
2711
|
dependencies = [
|
|
2717
2712
|
"proc-macro2",
|
|
2718
2713
|
"pyo3-macros-backend",
|
|
@@ -2722,11 +2717,11 @@ dependencies = [
|
|
|
2722
2717
|
|
|
2723
2718
|
[[package]]
|
|
2724
2719
|
name = "pyo3-macros-backend"
|
|
2725
|
-
version = "0.
|
|
2720
|
+
version = "0.26.0"
|
|
2726
2721
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
2727
|
-
checksum = "
|
|
2722
|
+
checksum = "100246c0ecf400b475341b8455a9213344569af29a3c841d29270e53102e0fcf"
|
|
2728
2723
|
dependencies = [
|
|
2729
|
-
"heck
|
|
2724
|
+
"heck",
|
|
2730
2725
|
"proc-macro2",
|
|
2731
2726
|
"pyo3-build-config",
|
|
2732
2727
|
"quote",
|
|
@@ -3157,18 +3152,28 @@ checksum = "56e6fa9c48d24d85fb3de5ad847117517440f6beceb7798af16b4a87d616b8d0"
|
|
|
3157
3152
|
|
|
3158
3153
|
[[package]]
|
|
3159
3154
|
name = "serde"
|
|
3160
|
-
version = "1.0.
|
|
3155
|
+
version = "1.0.228"
|
|
3161
3156
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
3162
|
-
checksum = "
|
|
3157
|
+
checksum = "9a8e94ea7f378bd32cbbd37198a4a91436180c5bb472411e48b5ec2e2124ae9e"
|
|
3158
|
+
dependencies = [
|
|
3159
|
+
"serde_core",
|
|
3160
|
+
"serde_derive",
|
|
3161
|
+
]
|
|
3162
|
+
|
|
3163
|
+
[[package]]
|
|
3164
|
+
name = "serde_core"
|
|
3165
|
+
version = "1.0.228"
|
|
3166
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
3167
|
+
checksum = "41d385c7d4ca58e59fc732af25c3983b67ac852c1a25000afe1175de458b67ad"
|
|
3163
3168
|
dependencies = [
|
|
3164
3169
|
"serde_derive",
|
|
3165
3170
|
]
|
|
3166
3171
|
|
|
3167
3172
|
[[package]]
|
|
3168
3173
|
name = "serde_derive"
|
|
3169
|
-
version = "1.0.
|
|
3174
|
+
version = "1.0.228"
|
|
3170
3175
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
3171
|
-
checksum = "
|
|
3176
|
+
checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79"
|
|
3172
3177
|
dependencies = [
|
|
3173
3178
|
"proc-macro2",
|
|
3174
3179
|
"quote",
|
|
@@ -3177,14 +3182,15 @@ dependencies = [
|
|
|
3177
3182
|
|
|
3178
3183
|
[[package]]
|
|
3179
3184
|
name = "serde_json"
|
|
3180
|
-
version = "1.0.
|
|
3185
|
+
version = "1.0.145"
|
|
3181
3186
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
3182
|
-
checksum = "
|
|
3187
|
+
checksum = "402a6f66d8c709116cf22f558eab210f5a50187f702eb4d7e5ef38d9a7f1c79c"
|
|
3183
3188
|
dependencies = [
|
|
3184
3189
|
"itoa",
|
|
3185
3190
|
"memchr",
|
|
3186
3191
|
"ryu",
|
|
3187
3192
|
"serde",
|
|
3193
|
+
"serde_core",
|
|
3188
3194
|
]
|
|
3189
3195
|
|
|
3190
3196
|
[[package]]
|
|
@@ -3410,15 +3416,15 @@ dependencies = [
|
|
|
3410
3416
|
|
|
3411
3417
|
[[package]]
|
|
3412
3418
|
name = "target-lexicon"
|
|
3413
|
-
version = "0.
|
|
3419
|
+
version = "0.13.3"
|
|
3414
3420
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
3415
|
-
checksum = "
|
|
3421
|
+
checksum = "df7f62577c25e07834649fc3b39fafdc597c0a3527dc1c60129201ccfcbaa50c"
|
|
3416
3422
|
|
|
3417
3423
|
[[package]]
|
|
3418
3424
|
name = "tempfile"
|
|
3419
|
-
version = "3.
|
|
3425
|
+
version = "3.23.0"
|
|
3420
3426
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
3421
|
-
checksum = "
|
|
3427
|
+
checksum = "2d31c77bdf42a745371d260a26ca7163f1e0924b64afa0b688e61b5a9fa02f16"
|
|
3422
3428
|
dependencies = [
|
|
3423
3429
|
"fastrand",
|
|
3424
3430
|
"getrandom 0.3.3",
|
|
@@ -3731,9 +3737,9 @@ dependencies = [
|
|
|
3731
3737
|
|
|
3732
3738
|
[[package]]
|
|
3733
3739
|
name = "tracing-subscriber"
|
|
3734
|
-
version = "0.3.
|
|
3740
|
+
version = "0.3.20"
|
|
3735
3741
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
3736
|
-
checksum = "
|
|
3742
|
+
checksum = "2054a14f5307d601f88daf0553e1cbf472acc4f2c51afab632431cdcd72124d5"
|
|
3737
3743
|
dependencies = [
|
|
3738
3744
|
"nu-ansi-term",
|
|
3739
3745
|
"sharded-slab",
|
|
@@ -3860,9 +3866,9 @@ checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821"
|
|
|
3860
3866
|
|
|
3861
3867
|
[[package]]
|
|
3862
3868
|
name = "uuid"
|
|
3863
|
-
version = "1.18.
|
|
3869
|
+
version = "1.18.1"
|
|
3864
3870
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
3865
|
-
checksum = "
|
|
3871
|
+
checksum = "2f87b8aa10b915a06587d0dec516c282ff295b475d94abf425d62b57710070a2"
|
|
3866
3872
|
dependencies = [
|
|
3867
3873
|
"getrandom 0.3.3",
|
|
3868
3874
|
"js-sys",
|
|
@@ -4029,22 +4035,6 @@ dependencies = [
|
|
|
4029
4035
|
"rustix 0.38.44",
|
|
4030
4036
|
]
|
|
4031
4037
|
|
|
4032
|
-
[[package]]
|
|
4033
|
-
name = "winapi"
|
|
4034
|
-
version = "0.3.9"
|
|
4035
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
4036
|
-
checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
|
|
4037
|
-
dependencies = [
|
|
4038
|
-
"winapi-i686-pc-windows-gnu",
|
|
4039
|
-
"winapi-x86_64-pc-windows-gnu",
|
|
4040
|
-
]
|
|
4041
|
-
|
|
4042
|
-
[[package]]
|
|
4043
|
-
name = "winapi-i686-pc-windows-gnu"
|
|
4044
|
-
version = "0.4.0"
|
|
4045
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
4046
|
-
checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
|
|
4047
|
-
|
|
4048
4038
|
[[package]]
|
|
4049
4039
|
name = "winapi-util"
|
|
4050
4040
|
version = "0.1.9"
|
|
@@ -4054,12 +4044,6 @@ dependencies = [
|
|
|
4054
4044
|
"windows-sys 0.59.0",
|
|
4055
4045
|
]
|
|
4056
4046
|
|
|
4057
|
-
[[package]]
|
|
4058
|
-
name = "winapi-x86_64-pc-windows-gnu"
|
|
4059
|
-
version = "0.4.0"
|
|
4060
|
-
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
4061
|
-
checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
|
|
4062
|
-
|
|
4063
4047
|
[[package]]
|
|
4064
4048
|
name = "windows-core"
|
|
4065
4049
|
version = "0.61.2"
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
[workspace.package]
|
|
2
|
-
version = "0.
|
|
2
|
+
version = "0.5.1"
|
|
3
3
|
authors = ["opencloudtool Contributors"]
|
|
4
4
|
categories = ["command-line-utilities"]
|
|
5
5
|
documentation = "https://opencloudtool.com/docs"
|
|
@@ -25,8 +25,9 @@ members = ["crates/*"]
|
|
|
25
25
|
resolver = "3"
|
|
26
26
|
|
|
27
27
|
[workspace.dependencies]
|
|
28
|
-
oct-cloud = { package = "oct-cloud", path = "crates/oct-cloud", version = "0.
|
|
29
|
-
oct-orchestrator = { package = "oct-orchestrator", path = "crates/oct-orchestrator", version = "0.
|
|
28
|
+
oct-cloud = { package = "oct-cloud", path = "crates/oct-cloud", version = "0.5.1" }
|
|
29
|
+
oct-orchestrator = { package = "oct-orchestrator", path = "crates/oct-orchestrator", version = "0.5.1" }
|
|
30
|
+
oct-ctl-sdk = { package = "oct-ctl-sdk", path = "crates/oct-ctl-sdk", version = "0.5.1" }
|
|
30
31
|
|
|
31
32
|
assert_cmd = "2.0.17"
|
|
32
33
|
async-trait = "0.1.89"
|
|
@@ -36,22 +37,22 @@ aws-sdk-ecr = "1.87.0"
|
|
|
36
37
|
aws-sdk-iam = "1.83.0"
|
|
37
38
|
aws-sdk-route53 = "1.88.0"
|
|
38
39
|
aws-sdk-s3 = "1.100.0"
|
|
39
|
-
axum = "0.8.
|
|
40
|
+
axum = "0.8.6"
|
|
40
41
|
base64 = "0.22.1"
|
|
41
|
-
clap = { version = "4.5.
|
|
42
|
-
petgraph = "0.8.
|
|
42
|
+
clap = { version = "4.5.48", features = ["derive"] }
|
|
43
|
+
petgraph = "0.8.3"
|
|
43
44
|
predicates = "3.1.3"
|
|
44
|
-
serde = "1.0.
|
|
45
|
+
serde = "1.0.228"
|
|
45
46
|
serde_derive = "1.0.213"
|
|
46
|
-
serde_json = "1.0.
|
|
47
|
-
tempfile = "3.
|
|
47
|
+
serde_json = "1.0.145"
|
|
48
|
+
tempfile = "3.23.0"
|
|
48
49
|
tera = { git = "https://github.com/minev-dev/tera.git", rev = "1e36d2f8ba66833ce9ad2b46044e21f8240b5299", version = "1.20.0" } # Contains custom logic to render variables ignoring unknown variables
|
|
49
50
|
tokio = { version = "1.47.1", features = ["full"] }
|
|
50
51
|
mockall = "0.13.1"
|
|
51
52
|
mockito = "1.7.0"
|
|
52
|
-
pyo3 = { version = "0.
|
|
53
|
-
uuid = { version = "1.18.
|
|
54
|
-
log = "0.4.
|
|
53
|
+
pyo3 = { version = "0.26.0", features = ["extension-module"] }
|
|
54
|
+
uuid = { version = "1.18.1", features = ["v4"] }
|
|
55
|
+
log = "0.4.28"
|
|
55
56
|
env_logger = "0.11.6"
|
|
56
57
|
toml = "0.8.23"
|
|
57
58
|
reqwest = { version = "0.12.23", features = ["json"] }
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: opencloudtool
|
|
3
|
+
Version: 0.5.1
|
|
4
|
+
Requires-Python: >=3.8
|
|
5
|
+
Description-Content-Type: text/markdown; charset=UTF-8; variant=GFM
|
|
6
|
+
|
|
7
|
+
# Opencloudtool Python Library
|
|
8
|
+
|
|
9
|
+
A tool to hide the complexity of the cloud, now available as a Python library.
|
|
10
|
+
This library allows you to deploy services directly from your Python scripts.The core of this library is written in Rust
|
|
11
|
+
for high performance and reliability.
|
|
12
|
+
|
|
13
|
+
## Installation
|
|
14
|
+
|
|
15
|
+
You can install the library from PyPI using `pip`
|
|
16
|
+
|
|
17
|
+
```bash
|
|
18
|
+
pip install opencloudtool
|
|
19
|
+
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
## Basic Usage
|
|
23
|
+
|
|
24
|
+
To use the library, you need an `oct.toml` configuration file in your project directory.
|
|
25
|
+
The library provides `deploy` and `destroy` functions to manage your stack.
|
|
26
|
+
|
|
27
|
+
Example `deploy.py`
|
|
28
|
+
|
|
29
|
+
```python
|
|
30
|
+
import opencloudtool as oct
|
|
31
|
+
|
|
32
|
+
# The path to the project directory containing oct.toml
|
|
33
|
+
project_path = "./my-app"
|
|
34
|
+
|
|
35
|
+
oct.deploy(path=project_path)
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
To destroy infrastructure:
|
|
39
|
+
|
|
40
|
+
```python
|
|
41
|
+
oct.destroy(path=project_path)
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
Main repo [opencloudtool](https://github.com/opencloudtool/opencloudtool)
|
|
45
|
+
|
|
46
|
+
### Dev
|
|
47
|
+
|
|
48
|
+
#### How it works: Python-Rust binding
|
|
49
|
+
|
|
50
|
+
#### The connection between Python and Rust is managed by `maturin` and `PyO3`
|
|
51
|
+
|
|
52
|
+
1. `maturin` compiles the Rust code in the `oct-py` crate into a native Python module.
|
|
53
|
+
2. We configure the name of this compiled module in `pyproject.toml` to be `opencloudtool._internal`.
|
|
54
|
+
3. The leading underscore (`_`) is a standard Python convention that signals that `_internal` is a low-level module not meant for direct use.
|
|
55
|
+
4. Our user-facing Python code in `opencloudtool/py_api.py` imports functions from `_internal` and presents them as a clean, stable API.
|
|
56
|
+
|
|
57
|
+
#### 1. Navigate to the Python Directory
|
|
58
|
+
|
|
59
|
+
```bash
|
|
60
|
+
cd crates/oct-py
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
#### 2. Create and activate the Virtual environment
|
|
64
|
+
|
|
65
|
+
```bash
|
|
66
|
+
uv venv
|
|
67
|
+
|
|
68
|
+
source .venv/bin/activate # Windows: .venv\Scripts\activate
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
#### 3. Install dependencies
|
|
72
|
+
|
|
73
|
+
```bash
|
|
74
|
+
uv sync --group dev
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
#### 4. Build the Library
|
|
78
|
+
|
|
79
|
+
```bash
|
|
80
|
+
maturin develop
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
#### 5. Run the example
|
|
84
|
+
|
|
85
|
+
```bash
|
|
86
|
+
cd ../../examples/projects/single-host-python-lib
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
You can now run `python deploy.py` or `python destroy.py` to test your changes.
|
|
90
|
+
|
|
91
|
+
### Releasing the Python Library
|
|
92
|
+
|
|
93
|
+
#### Bump the Version Number
|
|
94
|
+
|
|
95
|
+
1. Before releasing, you must increment the version number. PyPI will not accept a version that already exists.
|
|
96
|
+
|
|
97
|
+
- `crates/oct-py/pyproject.toml`
|
|
98
|
+
|
|
99
|
+
2. Build & upload the Release Packages:
|
|
100
|
+
|
|
101
|
+
```bash
|
|
102
|
+
cd crates/oct-py
|
|
103
|
+
|
|
104
|
+
maturin sdist
|
|
105
|
+
|
|
106
|
+
maturin build --release
|
|
107
|
+
|
|
108
|
+
cd ../..
|
|
109
|
+
|
|
110
|
+
twine upload target/wheels/*
|
|
111
|
+
```
|
|
112
|
+
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
# Opencloudtool Python Library
|
|
2
|
+
|
|
3
|
+
A tool to hide the complexity of the cloud, now available as a Python library.
|
|
4
|
+
This library allows you to deploy services directly from your Python scripts.The core of this library is written in Rust
|
|
5
|
+
for high performance and reliability.
|
|
6
|
+
|
|
7
|
+
## Installation
|
|
8
|
+
|
|
9
|
+
You can install the library from PyPI using `pip`
|
|
10
|
+
|
|
11
|
+
```bash
|
|
12
|
+
pip install opencloudtool
|
|
13
|
+
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
## Basic Usage
|
|
17
|
+
|
|
18
|
+
To use the library, you need an `oct.toml` configuration file in your project directory.
|
|
19
|
+
The library provides `deploy` and `destroy` functions to manage your stack.
|
|
20
|
+
|
|
21
|
+
Example `deploy.py`
|
|
22
|
+
|
|
23
|
+
```python
|
|
24
|
+
import opencloudtool as oct
|
|
25
|
+
|
|
26
|
+
# The path to the project directory containing oct.toml
|
|
27
|
+
project_path = "./my-app"
|
|
28
|
+
|
|
29
|
+
oct.deploy(path=project_path)
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
To destroy infrastructure:
|
|
33
|
+
|
|
34
|
+
```python
|
|
35
|
+
oct.destroy(path=project_path)
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
Main repo [opencloudtool](https://github.com/opencloudtool/opencloudtool)
|
|
39
|
+
|
|
40
|
+
### Dev
|
|
41
|
+
|
|
42
|
+
#### How it works: Python-Rust binding
|
|
43
|
+
|
|
44
|
+
#### The connection between Python and Rust is managed by `maturin` and `PyO3`
|
|
45
|
+
|
|
46
|
+
1. `maturin` compiles the Rust code in the `oct-py` crate into a native Python module.
|
|
47
|
+
2. We configure the name of this compiled module in `pyproject.toml` to be `opencloudtool._internal`.
|
|
48
|
+
3. The leading underscore (`_`) is a standard Python convention that signals that `_internal` is a low-level module not meant for direct use.
|
|
49
|
+
4. Our user-facing Python code in `opencloudtool/py_api.py` imports functions from `_internal` and presents them as a clean, stable API.
|
|
50
|
+
|
|
51
|
+
#### 1. Navigate to the Python Directory
|
|
52
|
+
|
|
53
|
+
```bash
|
|
54
|
+
cd crates/oct-py
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
#### 2. Create and activate the Virtual environment
|
|
58
|
+
|
|
59
|
+
```bash
|
|
60
|
+
uv venv
|
|
61
|
+
|
|
62
|
+
source .venv/bin/activate # Windows: .venv\Scripts\activate
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
#### 3. Install dependencies
|
|
66
|
+
|
|
67
|
+
```bash
|
|
68
|
+
uv sync --group dev
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
#### 4. Build the Library
|
|
72
|
+
|
|
73
|
+
```bash
|
|
74
|
+
maturin develop
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
#### 5. Run the example
|
|
78
|
+
|
|
79
|
+
```bash
|
|
80
|
+
cd ../../examples/projects/single-host-python-lib
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
You can now run `python deploy.py` or `python destroy.py` to test your changes.
|
|
84
|
+
|
|
85
|
+
### Releasing the Python Library
|
|
86
|
+
|
|
87
|
+
#### Bump the Version Number
|
|
88
|
+
|
|
89
|
+
1. Before releasing, you must increment the version number. PyPI will not accept a version that already exists.
|
|
90
|
+
|
|
91
|
+
- `crates/oct-py/pyproject.toml`
|
|
92
|
+
|
|
93
|
+
2. Build & upload the Release Packages:
|
|
94
|
+
|
|
95
|
+
```bash
|
|
96
|
+
cd crates/oct-py
|
|
97
|
+
|
|
98
|
+
maturin sdist
|
|
99
|
+
|
|
100
|
+
maturin build --release
|
|
101
|
+
|
|
102
|
+
cd ../..
|
|
103
|
+
|
|
104
|
+
twine upload target/wheels/*
|
|
105
|
+
```
|