Personal collection of Kubernetes things.

Let's try doing this in Rust

+2047 -3
+1
.gitignore
··· 1 + /target
+1936
Cargo.lock
··· 1 + # This file is automatically @generated by Cargo. 2 + # It is not intended for manual editing. 3 + version = 4 4 + 5 + [[package]] 6 + name = "ahash" 7 + version = "0.8.12" 8 + source = "registry+https://github.com/rust-lang/crates.io-index" 9 + checksum = "5a15f179cd60c4584b8a8c596927aadc462e27f2ca70c04e0071964a73ba7a75" 10 + dependencies = [ 11 + "cfg-if", 12 + "getrandom 0.3.4", 13 + "once_cell", 14 + "version_check", 15 + "zerocopy", 16 + ] 17 + 18 + [[package]] 19 + name = "aho-corasick" 20 + version = "1.1.4" 21 + source = "registry+https://github.com/rust-lang/crates.io-index" 22 + checksum = "ddd31a130427c27518df266943a5308ed92d4b226cc639f5a8f1002816174301" 23 + dependencies = [ 24 + "memchr", 25 + ] 26 + 27 + [[package]] 28 + name = "allocator-api2" 29 + version = "0.2.21" 30 + source = "registry+https://github.com/rust-lang/crates.io-index" 31 + checksum = "683d7910e743518b0e34f1186f92494becacb047c7b6bf616c96772180fef923" 32 + 33 + [[package]] 34 + name = "anyhow" 35 + version = "1.0.100" 36 + source = "registry+https://github.com/rust-lang/crates.io-index" 37 + checksum = "a23eb6b1614318a8071c9b2521f36b424b2c83db5eb3a0fead4a6c0809af6e61" 38 + 39 + [[package]] 40 + name = "async-broadcast" 41 + version = "0.7.2" 42 + source = "registry+https://github.com/rust-lang/crates.io-index" 43 + checksum = "435a87a52755b8f27fcf321ac4f04b2802e337c8c4872923137471ec39c37532" 44 + dependencies = [ 45 + "event-listener", 46 + "event-listener-strategy", 47 + "futures-core", 48 + "pin-project-lite", 49 + ] 50 + 51 + [[package]] 52 + name = "async-stream" 53 + version = "0.3.6" 54 + source = "registry+https://github.com/rust-lang/crates.io-index" 55 + checksum = "0b5a71a6f37880a80d1d7f19efd781e4b5de42c88f0722cc13bcb6cc2cfe8476" 56 + dependencies = [ 57 + "async-stream-impl", 58 + "futures-core", 59 + "pin-project-lite", 60 + ] 61 + 62 + [[package]] 63 + name = "async-stream-impl" 64 + version = "0.3.6" 65 + source = "registry+https://github.com/rust-lang/crates.io-index" 66 + checksum = "c7c24de15d275a1ecfd47a380fb4d5ec9bfe0933f309ed5e705b775596a3574d" 67 + dependencies = [ 68 + "proc-macro2", 69 + "quote", 70 + "syn", 71 + ] 72 + 73 + [[package]] 74 + name = "atomic-waker" 75 + version = "1.1.2" 76 + source = "registry+https://github.com/rust-lang/crates.io-index" 77 + checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" 78 + 79 + [[package]] 80 + name = "autocfg" 81 + version = "1.5.0" 82 + source = "registry+https://github.com/rust-lang/crates.io-index" 83 + checksum = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8" 84 + 85 + [[package]] 86 + name = "backon" 87 + version = "1.6.0" 88 + source = "registry+https://github.com/rust-lang/crates.io-index" 89 + checksum = "cffb0e931875b666fc4fcb20fee52e9bbd1ef836fd9e9e04ec21555f9f85f7ef" 90 + dependencies = [ 91 + "fastrand", 92 + "gloo-timers", 93 + "tokio", 94 + ] 95 + 96 + [[package]] 97 + name = "base64" 98 + version = "0.22.1" 99 + source = "registry+https://github.com/rust-lang/crates.io-index" 100 + checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" 101 + 102 + [[package]] 103 + name = "bitflags" 104 + version = "2.10.0" 105 + source = "registry+https://github.com/rust-lang/crates.io-index" 106 + checksum = "812e12b5285cc515a9c72a5c1d3b6d46a19dac5acfef5265968c166106e31dd3" 107 + 108 + [[package]] 109 + name = "block-buffer" 110 + version = "0.10.4" 111 + source = "registry+https://github.com/rust-lang/crates.io-index" 112 + checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" 113 + dependencies = [ 114 + "generic-array", 115 + ] 116 + 117 + [[package]] 118 + name = "bumpalo" 119 + version = "3.19.1" 120 + source = "registry+https://github.com/rust-lang/crates.io-index" 121 + checksum = "5dd9dc738b7a8311c7ade152424974d8115f2cdad61e8dab8dac9f2362298510" 122 + 123 + [[package]] 124 + name = "bytes" 125 + version = "1.11.1" 126 + source = "registry+https://github.com/rust-lang/crates.io-index" 127 + checksum = "1e748733b7cbc798e1434b6ac524f0c1ff2ab456fe201501e6497c8417a4fc33" 128 + 129 + [[package]] 130 + name = "cc" 131 + version = "1.2.55" 132 + source = "registry+https://github.com/rust-lang/crates.io-index" 133 + checksum = "47b26a0954ae34af09b50f0de26458fa95369a0d478d8236d3f93082b219bd29" 134 + dependencies = [ 135 + "find-msvc-tools", 136 + "shlex", 137 + ] 138 + 139 + [[package]] 140 + name = "cfg-if" 141 + version = "1.0.4" 142 + source = "registry+https://github.com/rust-lang/crates.io-index" 143 + checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801" 144 + 145 + [[package]] 146 + name = "concurrent-queue" 147 + version = "2.5.0" 148 + source = "registry+https://github.com/rust-lang/crates.io-index" 149 + checksum = "4ca0197aee26d1ae37445ee532fefce43251d24cc7c166799f4d46817f1d3973" 150 + dependencies = [ 151 + "crossbeam-utils", 152 + ] 153 + 154 + [[package]] 155 + name = "core-foundation" 156 + version = "0.10.1" 157 + source = "registry+https://github.com/rust-lang/crates.io-index" 158 + checksum = "b2a6cd9ae233e7f62ba4e9353e81a88df7fc8a5987b8d445b4d90c879bd156f6" 159 + dependencies = [ 160 + "core-foundation-sys", 161 + "libc", 162 + ] 163 + 164 + [[package]] 165 + name = "core-foundation-sys" 166 + version = "0.8.7" 167 + source = "registry+https://github.com/rust-lang/crates.io-index" 168 + checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" 169 + 170 + [[package]] 171 + name = "cpufeatures" 172 + version = "0.2.17" 173 + source = "registry+https://github.com/rust-lang/crates.io-index" 174 + checksum = "59ed5838eebb26a2bb2e58f6d5b5316989ae9d08bab10e0e6d103e656d1b0280" 175 + dependencies = [ 176 + "libc", 177 + ] 178 + 179 + [[package]] 180 + name = "crossbeam-utils" 181 + version = "0.8.21" 182 + source = "registry+https://github.com/rust-lang/crates.io-index" 183 + checksum = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28" 184 + 185 + [[package]] 186 + name = "crypto-common" 187 + version = "0.1.7" 188 + source = "registry+https://github.com/rust-lang/crates.io-index" 189 + checksum = "78c8292055d1c1df0cce5d180393dc8cce0abec0a7102adb6c7b1eef6016d60a" 190 + dependencies = [ 191 + "generic-array", 192 + "typenum", 193 + ] 194 + 195 + [[package]] 196 + name = "darling" 197 + version = "0.23.0" 198 + source = "registry+https://github.com/rust-lang/crates.io-index" 199 + checksum = "25ae13da2f202d56bd7f91c25fba009e7717a1e4a1cc98a76d844b65ae912e9d" 200 + dependencies = [ 201 + "darling_core", 202 + "darling_macro", 203 + ] 204 + 205 + [[package]] 206 + name = "darling_core" 207 + version = "0.23.0" 208 + source = "registry+https://github.com/rust-lang/crates.io-index" 209 + checksum = "9865a50f7c335f53564bb694ef660825eb8610e0a53d3e11bf1b0d3df31e03b0" 210 + dependencies = [ 211 + "ident_case", 212 + "proc-macro2", 213 + "quote", 214 + "strsim", 215 + "syn", 216 + ] 217 + 218 + [[package]] 219 + name = "darling_macro" 220 + version = "0.23.0" 221 + source = "registry+https://github.com/rust-lang/crates.io-index" 222 + checksum = "ac3984ec7bd6cfa798e62b4a642426a5be0e68f9401cfc2a01e3fa9ea2fcdb8d" 223 + dependencies = [ 224 + "darling_core", 225 + "quote", 226 + "syn", 227 + ] 228 + 229 + [[package]] 230 + name = "derive_more" 231 + version = "2.1.1" 232 + source = "registry+https://github.com/rust-lang/crates.io-index" 233 + checksum = "d751e9e49156b02b44f9c1815bcb94b984cdcc4396ecc32521c739452808b134" 234 + dependencies = [ 235 + "derive_more-impl", 236 + ] 237 + 238 + [[package]] 239 + name = "derive_more-impl" 240 + version = "2.1.1" 241 + source = "registry+https://github.com/rust-lang/crates.io-index" 242 + checksum = "799a97264921d8623a957f6c3b9011f3b5492f557bbb7a5a19b7fa6d06ba8dcb" 243 + dependencies = [ 244 + "proc-macro2", 245 + "quote", 246 + "rustc_version", 247 + "syn", 248 + ] 249 + 250 + [[package]] 251 + name = "digest" 252 + version = "0.10.7" 253 + source = "registry+https://github.com/rust-lang/crates.io-index" 254 + checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" 255 + dependencies = [ 256 + "block-buffer", 257 + "crypto-common", 258 + ] 259 + 260 + [[package]] 261 + name = "dyn-clone" 262 + version = "1.0.20" 263 + source = "registry+https://github.com/rust-lang/crates.io-index" 264 + checksum = "d0881ea181b1df73ff77ffaaf9c7544ecc11e82fba9b5f27b262a3c73a332555" 265 + 266 + [[package]] 267 + name = "educe" 268 + version = "0.6.0" 269 + source = "registry+https://github.com/rust-lang/crates.io-index" 270 + checksum = "1d7bc049e1bd8cdeb31b68bbd586a9464ecf9f3944af3958a7a9d0f8b9799417" 271 + dependencies = [ 272 + "enum-ordinalize", 273 + "proc-macro2", 274 + "quote", 275 + "syn", 276 + ] 277 + 278 + [[package]] 279 + name = "either" 280 + version = "1.15.0" 281 + source = "registry+https://github.com/rust-lang/crates.io-index" 282 + checksum = "48c757948c5ede0e46177b7add2e67155f70e33c07fea8284df6576da70b3719" 283 + 284 + [[package]] 285 + name = "enum-ordinalize" 286 + version = "4.3.2" 287 + source = "registry+https://github.com/rust-lang/crates.io-index" 288 + checksum = "4a1091a7bb1f8f2c4b28f1fe2cef4980ca2d410a3d727d67ecc3178c9b0800f0" 289 + dependencies = [ 290 + "enum-ordinalize-derive", 291 + ] 292 + 293 + [[package]] 294 + name = "enum-ordinalize-derive" 295 + version = "4.3.2" 296 + source = "registry+https://github.com/rust-lang/crates.io-index" 297 + checksum = "8ca9601fb2d62598ee17836250842873a413586e5d7ed88b356e38ddbb0ec631" 298 + dependencies = [ 299 + "proc-macro2", 300 + "quote", 301 + "syn", 302 + ] 303 + 304 + [[package]] 305 + name = "equivalent" 306 + version = "1.0.2" 307 + source = "registry+https://github.com/rust-lang/crates.io-index" 308 + checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" 309 + 310 + [[package]] 311 + name = "errno" 312 + version = "0.3.14" 313 + source = "registry+https://github.com/rust-lang/crates.io-index" 314 + checksum = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb" 315 + dependencies = [ 316 + "libc", 317 + "windows-sys 0.61.2", 318 + ] 319 + 320 + [[package]] 321 + name = "event-listener" 322 + version = "5.4.1" 323 + source = "registry+https://github.com/rust-lang/crates.io-index" 324 + checksum = "e13b66accf52311f30a0db42147dadea9850cb48cd070028831ae5f5d4b856ab" 325 + dependencies = [ 326 + "concurrent-queue", 327 + "parking", 328 + "pin-project-lite", 329 + ] 330 + 331 + [[package]] 332 + name = "event-listener-strategy" 333 + version = "0.5.4" 334 + source = "registry+https://github.com/rust-lang/crates.io-index" 335 + checksum = "8be9f3dfaaffdae2972880079a491a1a8bb7cbed0b8dd7a347f668b4150a3b93" 336 + dependencies = [ 337 + "event-listener", 338 + "pin-project-lite", 339 + ] 340 + 341 + [[package]] 342 + name = "fastrand" 343 + version = "2.3.0" 344 + source = "registry+https://github.com/rust-lang/crates.io-index" 345 + checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be" 346 + 347 + [[package]] 348 + name = "find-msvc-tools" 349 + version = "0.1.9" 350 + source = "registry+https://github.com/rust-lang/crates.io-index" 351 + checksum = "5baebc0774151f905a1a2cc41989300b1e6fbb29aff0ceffa1064fdd3088d582" 352 + 353 + [[package]] 354 + name = "foldhash" 355 + version = "0.2.0" 356 + source = "registry+https://github.com/rust-lang/crates.io-index" 357 + checksum = "77ce24cb58228fbb8aa041425bb1050850ac19177686ea6e0f41a70416f56fdb" 358 + 359 + [[package]] 360 + name = "form_urlencoded" 361 + version = "1.2.2" 362 + source = "registry+https://github.com/rust-lang/crates.io-index" 363 + checksum = "cb4cb245038516f5f85277875cdaa4f7d2c9a0fa0468de06ed190163b1581fcf" 364 + dependencies = [ 365 + "percent-encoding", 366 + ] 367 + 368 + [[package]] 369 + name = "futures" 370 + version = "0.3.31" 371 + source = "registry+https://github.com/rust-lang/crates.io-index" 372 + checksum = "65bc07b1a8bc7c85c5f2e110c476c7389b4554ba72af57d8445ea63a576b0876" 373 + dependencies = [ 374 + "futures-channel", 375 + "futures-core", 376 + "futures-io", 377 + "futures-sink", 378 + "futures-task", 379 + "futures-util", 380 + ] 381 + 382 + [[package]] 383 + name = "futures-channel" 384 + version = "0.3.31" 385 + source = "registry+https://github.com/rust-lang/crates.io-index" 386 + checksum = "2dff15bf788c671c1934e366d07e30c1814a8ef514e1af724a602e8a2fbe1b10" 387 + dependencies = [ 388 + "futures-core", 389 + "futures-sink", 390 + ] 391 + 392 + [[package]] 393 + name = "futures-core" 394 + version = "0.3.31" 395 + source = "registry+https://github.com/rust-lang/crates.io-index" 396 + checksum = "05f29059c0c2090612e8d742178b0580d2dc940c837851ad723096f87af6663e" 397 + 398 + [[package]] 399 + name = "futures-io" 400 + version = "0.3.31" 401 + source = "registry+https://github.com/rust-lang/crates.io-index" 402 + checksum = "9e5c1b78ca4aae1ac06c48a526a655760685149f0d465d21f37abfe57ce075c6" 403 + 404 + [[package]] 405 + name = "futures-macro" 406 + version = "0.3.31" 407 + source = "registry+https://github.com/rust-lang/crates.io-index" 408 + checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" 409 + dependencies = [ 410 + "proc-macro2", 411 + "quote", 412 + "syn", 413 + ] 414 + 415 + [[package]] 416 + name = "futures-sink" 417 + version = "0.3.31" 418 + source = "registry+https://github.com/rust-lang/crates.io-index" 419 + checksum = "e575fab7d1e0dcb8d0c7bcf9a63ee213816ab51902e6d244a95819acacf1d4f7" 420 + 421 + [[package]] 422 + name = "futures-task" 423 + version = "0.3.31" 424 + source = "registry+https://github.com/rust-lang/crates.io-index" 425 + checksum = "f90f7dce0722e95104fcb095585910c0977252f286e354b5e3bd38902cd99988" 426 + 427 + [[package]] 428 + name = "futures-util" 429 + version = "0.3.31" 430 + source = "registry+https://github.com/rust-lang/crates.io-index" 431 + checksum = "9fa08315bb612088cc391249efdc3bc77536f16c91f6cf495e6fbe85b20a4a81" 432 + dependencies = [ 433 + "futures-channel", 434 + "futures-core", 435 + "futures-io", 436 + "futures-macro", 437 + "futures-sink", 438 + "futures-task", 439 + "memchr", 440 + "pin-project-lite", 441 + "pin-utils", 442 + "slab", 443 + ] 444 + 445 + [[package]] 446 + name = "generic-array" 447 + version = "0.14.7" 448 + source = "registry+https://github.com/rust-lang/crates.io-index" 449 + checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" 450 + dependencies = [ 451 + "typenum", 452 + "version_check", 453 + ] 454 + 455 + [[package]] 456 + name = "getrandom" 457 + version = "0.2.17" 458 + source = "registry+https://github.com/rust-lang/crates.io-index" 459 + checksum = "ff2abc00be7fca6ebc474524697ae276ad847ad0a6b3faa4bcb027e9a4614ad0" 460 + dependencies = [ 461 + "cfg-if", 462 + "libc", 463 + "wasi", 464 + ] 465 + 466 + [[package]] 467 + name = "getrandom" 468 + version = "0.3.4" 469 + source = "registry+https://github.com/rust-lang/crates.io-index" 470 + checksum = "899def5c37c4fd7b2664648c28120ecec138e4d395b459e5ca34f9cce2dd77fd" 471 + dependencies = [ 472 + "cfg-if", 473 + "libc", 474 + "r-efi", 475 + "wasip2", 476 + ] 477 + 478 + [[package]] 479 + name = "gloo-timers" 480 + version = "0.3.0" 481 + source = "registry+https://github.com/rust-lang/crates.io-index" 482 + checksum = "bbb143cf96099802033e0d4f4963b19fd2e0b728bcf076cd9cf7f6634f092994" 483 + dependencies = [ 484 + "futures-channel", 485 + "futures-core", 486 + "js-sys", 487 + "wasm-bindgen", 488 + ] 489 + 490 + [[package]] 491 + name = "hashbrown" 492 + version = "0.16.1" 493 + source = "registry+https://github.com/rust-lang/crates.io-index" 494 + checksum = "841d1cc9bed7f9236f321df977030373f4a4163ae1a7dbfe1a51a2c1a51d9100" 495 + dependencies = [ 496 + "allocator-api2", 497 + "equivalent", 498 + "foldhash", 499 + ] 500 + 501 + [[package]] 502 + name = "hostname" 503 + version = "0.4.2" 504 + source = "registry+https://github.com/rust-lang/crates.io-index" 505 + checksum = "617aaa3557aef3810a6369d0a99fac8a080891b68bd9f9812a1eeda0c0730cbd" 506 + dependencies = [ 507 + "cfg-if", 508 + "libc", 509 + "windows-link", 510 + ] 511 + 512 + [[package]] 513 + name = "http" 514 + version = "1.4.0" 515 + source = "registry+https://github.com/rust-lang/crates.io-index" 516 + checksum = "e3ba2a386d7f85a81f119ad7498ebe444d2e22c2af0b86b069416ace48b3311a" 517 + dependencies = [ 518 + "bytes", 519 + "itoa", 520 + ] 521 + 522 + [[package]] 523 + name = "http-body" 524 + version = "1.0.1" 525 + source = "registry+https://github.com/rust-lang/crates.io-index" 526 + checksum = "1efedce1fb8e6913f23e0c92de8e62cd5b772a67e7b3946df930a62566c93184" 527 + dependencies = [ 528 + "bytes", 529 + "http", 530 + ] 531 + 532 + [[package]] 533 + name = "http-body-util" 534 + version = "0.1.3" 535 + source = "registry+https://github.com/rust-lang/crates.io-index" 536 + checksum = "b021d93e26becf5dc7e1b75b1bed1fd93124b374ceb73f43d4d4eafec896a64a" 537 + dependencies = [ 538 + "bytes", 539 + "futures-core", 540 + "http", 541 + "http-body", 542 + "pin-project-lite", 543 + ] 544 + 545 + [[package]] 546 + name = "httparse" 547 + version = "1.10.1" 548 + source = "registry+https://github.com/rust-lang/crates.io-index" 549 + checksum = "6dbf3de79e51f3d586ab4cb9d5c3e2c14aa28ed23d180cf89b4df0454a69cc87" 550 + 551 + [[package]] 552 + name = "hyper" 553 + version = "1.8.1" 554 + source = "registry+https://github.com/rust-lang/crates.io-index" 555 + checksum = "2ab2d4f250c3d7b1c9fcdff1cece94ea4e2dfbec68614f7b87cb205f24ca9d11" 556 + dependencies = [ 557 + "atomic-waker", 558 + "bytes", 559 + "futures-channel", 560 + "futures-core", 561 + "http", 562 + "http-body", 563 + "httparse", 564 + "itoa", 565 + "pin-project-lite", 566 + "pin-utils", 567 + "smallvec", 568 + "tokio", 569 + "want", 570 + ] 571 + 572 + [[package]] 573 + name = "hyper-rustls" 574 + version = "0.27.7" 575 + source = "registry+https://github.com/rust-lang/crates.io-index" 576 + checksum = "e3c93eb611681b207e1fe55d5a71ecf91572ec8a6705cdb6857f7d8d5242cf58" 577 + dependencies = [ 578 + "http", 579 + "hyper", 580 + "hyper-util", 581 + "log", 582 + "rustls", 583 + "rustls-native-certs", 584 + "rustls-pki-types", 585 + "tokio", 586 + "tokio-rustls", 587 + "tower-service", 588 + ] 589 + 590 + [[package]] 591 + name = "hyper-timeout" 592 + version = "0.5.2" 593 + source = "registry+https://github.com/rust-lang/crates.io-index" 594 + checksum = "2b90d566bffbce6a75bd8b09a05aa8c2cb1fabb6cb348f8840c9e4c90a0d83b0" 595 + dependencies = [ 596 + "hyper", 597 + "hyper-util", 598 + "pin-project-lite", 599 + "tokio", 600 + "tower-service", 601 + ] 602 + 603 + [[package]] 604 + name = "hyper-util" 605 + version = "0.1.20" 606 + source = "registry+https://github.com/rust-lang/crates.io-index" 607 + checksum = "96547c2556ec9d12fb1578c4eaf448b04993e7fb79cbaad930a656880a6bdfa0" 608 + dependencies = [ 609 + "bytes", 610 + "futures-channel", 611 + "futures-util", 612 + "http", 613 + "http-body", 614 + "hyper", 615 + "libc", 616 + "pin-project-lite", 617 + "socket2", 618 + "tokio", 619 + "tower-service", 620 + "tracing", 621 + ] 622 + 623 + [[package]] 624 + name = "ident_case" 625 + version = "1.0.1" 626 + source = "registry+https://github.com/rust-lang/crates.io-index" 627 + checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" 628 + 629 + [[package]] 630 + name = "indexmap" 631 + version = "2.13.0" 632 + source = "registry+https://github.com/rust-lang/crates.io-index" 633 + checksum = "7714e70437a7dc3ac8eb7e6f8df75fd8eb422675fc7678aff7364301092b1017" 634 + dependencies = [ 635 + "equivalent", 636 + "hashbrown", 637 + ] 638 + 639 + [[package]] 640 + name = "itoa" 641 + version = "1.0.17" 642 + source = "registry+https://github.com/rust-lang/crates.io-index" 643 + checksum = "92ecc6618181def0457392ccd0ee51198e065e016d1d527a7ac1b6dc7c1f09d2" 644 + 645 + [[package]] 646 + name = "jiff" 647 + version = "0.2.18" 648 + source = "registry+https://github.com/rust-lang/crates.io-index" 649 + checksum = "e67e8da4c49d6d9909fe03361f9b620f58898859f5c7aded68351e85e71ecf50" 650 + dependencies = [ 651 + "jiff-static", 652 + "log", 653 + "portable-atomic", 654 + "portable-atomic-util", 655 + "serde_core", 656 + ] 657 + 658 + [[package]] 659 + name = "jiff-static" 660 + version = "0.2.18" 661 + source = "registry+https://github.com/rust-lang/crates.io-index" 662 + checksum = "e0c84ee7f197eca9a86c6fd6cb771e55eb991632f15f2bc3ca6ec838929e6e78" 663 + dependencies = [ 664 + "proc-macro2", 665 + "quote", 666 + "syn", 667 + ] 668 + 669 + [[package]] 670 + name = "js-sys" 671 + version = "0.3.85" 672 + source = "registry+https://github.com/rust-lang/crates.io-index" 673 + checksum = "8c942ebf8e95485ca0d52d97da7c5a2c387d0e7f0ba4c35e93bfcaee045955b3" 674 + dependencies = [ 675 + "once_cell", 676 + "wasm-bindgen", 677 + ] 678 + 679 + [[package]] 680 + name = "json-patch" 681 + version = "4.1.0" 682 + source = "registry+https://github.com/rust-lang/crates.io-index" 683 + checksum = "f300e415e2134745ef75f04562dd0145405c2f7fd92065db029ac4b16b57fe90" 684 + dependencies = [ 685 + "jsonptr", 686 + "serde", 687 + "serde_json", 688 + "thiserror 1.0.69", 689 + ] 690 + 691 + [[package]] 692 + name = "jsonpath-rust" 693 + version = "1.0.4" 694 + source = "registry+https://github.com/rust-lang/crates.io-index" 695 + checksum = "633a7320c4bb672863a3782e89b9094ad70285e097ff6832cddd0ec615beadfa" 696 + dependencies = [ 697 + "pest", 698 + "pest_derive", 699 + "regex", 700 + "serde_json", 701 + "thiserror 2.0.18", 702 + ] 703 + 704 + [[package]] 705 + name = "jsonptr" 706 + version = "0.7.1" 707 + source = "registry+https://github.com/rust-lang/crates.io-index" 708 + checksum = "a5a3cc660ba5d72bce0b3bb295bf20847ccbb40fd423f3f05b61273672e561fe" 709 + dependencies = [ 710 + "serde", 711 + "serde_json", 712 + ] 713 + 714 + [[package]] 715 + name = "k8s-openapi" 716 + version = "0.27.0" 717 + source = "registry+https://github.com/rust-lang/crates.io-index" 718 + checksum = "05a6d6f3611ad1d21732adbd7a2e921f598af6c92d71ae6e2620da4b67ee1f0d" 719 + dependencies = [ 720 + "base64", 721 + "jiff", 722 + "schemars", 723 + "serde", 724 + "serde_json", 725 + ] 726 + 727 + [[package]] 728 + name = "kaap" 729 + version = "0.1.0" 730 + dependencies = [ 731 + "anyhow", 732 + "k8s-openapi", 733 + "kube", 734 + "schemars", 735 + "serde", 736 + "serde_json", 737 + "tokio", 738 + "tokio-macros", 739 + ] 740 + 741 + [[package]] 742 + name = "kube" 743 + version = "3.0.1" 744 + source = "registry+https://github.com/rust-lang/crates.io-index" 745 + checksum = "f96b537b4c4f61fc183594edbecbbefa3037e403feac0701bb24e6eff78e0034" 746 + dependencies = [ 747 + "k8s-openapi", 748 + "kube-client", 749 + "kube-core", 750 + "kube-derive", 751 + "kube-runtime", 752 + ] 753 + 754 + [[package]] 755 + name = "kube-client" 756 + version = "3.0.1" 757 + source = "registry+https://github.com/rust-lang/crates.io-index" 758 + checksum = "af97b8b696eb737e5694f087c498ca725b172c2a5bc3a6916328d160225537ee" 759 + dependencies = [ 760 + "base64", 761 + "bytes", 762 + "either", 763 + "futures", 764 + "http", 765 + "http-body", 766 + "http-body-util", 767 + "hyper", 768 + "hyper-rustls", 769 + "hyper-timeout", 770 + "hyper-util", 771 + "jiff", 772 + "jsonpath-rust", 773 + "k8s-openapi", 774 + "kube-core", 775 + "pem", 776 + "rustls", 777 + "secrecy", 778 + "serde", 779 + "serde_json", 780 + "serde_yaml", 781 + "thiserror 2.0.18", 782 + "tokio", 783 + "tokio-util", 784 + "tower", 785 + "tower-http", 786 + "tracing", 787 + ] 788 + 789 + [[package]] 790 + name = "kube-core" 791 + version = "3.0.1" 792 + source = "registry+https://github.com/rust-lang/crates.io-index" 793 + checksum = "e7aeade7d2e9f165f96b3c1749ff01a8e2dc7ea954bd333bcfcecc37d5226bdd" 794 + dependencies = [ 795 + "derive_more", 796 + "form_urlencoded", 797 + "http", 798 + "jiff", 799 + "json-patch", 800 + "k8s-openapi", 801 + "schemars", 802 + "serde", 803 + "serde-value", 804 + "serde_json", 805 + "thiserror 2.0.18", 806 + ] 807 + 808 + [[package]] 809 + name = "kube-derive" 810 + version = "3.0.1" 811 + source = "registry+https://github.com/rust-lang/crates.io-index" 812 + checksum = "c98f59f4e68864624a0b993a1cc2424439ab7238eaede5c299e89943e2a093ff" 813 + dependencies = [ 814 + "darling", 815 + "proc-macro2", 816 + "quote", 817 + "serde", 818 + "serde_json", 819 + "syn", 820 + ] 821 + 822 + [[package]] 823 + name = "kube-runtime" 824 + version = "3.0.1" 825 + source = "registry+https://github.com/rust-lang/crates.io-index" 826 + checksum = "fc158473d6d86ec22692874bd5ddccf07474eab5c6bb41f226c522e945da5244" 827 + dependencies = [ 828 + "ahash", 829 + "async-broadcast", 830 + "async-stream", 831 + "backon", 832 + "educe", 833 + "futures", 834 + "hashbrown", 835 + "hostname", 836 + "json-patch", 837 + "k8s-openapi", 838 + "kube-client", 839 + "parking_lot", 840 + "pin-project", 841 + "serde", 842 + "serde_json", 843 + "thiserror 2.0.18", 844 + "tokio", 845 + "tokio-util", 846 + "tracing", 847 + ] 848 + 849 + [[package]] 850 + name = "libc" 851 + version = "0.2.180" 852 + source = "registry+https://github.com/rust-lang/crates.io-index" 853 + checksum = "bcc35a38544a891a5f7c865aca548a982ccb3b8650a5b06d0fd33a10283c56fc" 854 + 855 + [[package]] 856 + name = "lock_api" 857 + version = "0.4.14" 858 + source = "registry+https://github.com/rust-lang/crates.io-index" 859 + checksum = "224399e74b87b5f3557511d98dff8b14089b3dadafcab6bb93eab67d3aace965" 860 + dependencies = [ 861 + "scopeguard", 862 + ] 863 + 864 + [[package]] 865 + name = "log" 866 + version = "0.4.29" 867 + source = "registry+https://github.com/rust-lang/crates.io-index" 868 + checksum = "5e5032e24019045c762d3c0f28f5b6b8bbf38563a65908389bf7978758920897" 869 + 870 + [[package]] 871 + name = "memchr" 872 + version = "2.7.6" 873 + source = "registry+https://github.com/rust-lang/crates.io-index" 874 + checksum = "f52b00d39961fc5b2736ea853c9cc86238e165017a493d1d5c8eac6bdc4cc273" 875 + 876 + [[package]] 877 + name = "mime" 878 + version = "0.3.17" 879 + source = "registry+https://github.com/rust-lang/crates.io-index" 880 + checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" 881 + 882 + [[package]] 883 + name = "mio" 884 + version = "1.1.1" 885 + source = "registry+https://github.com/rust-lang/crates.io-index" 886 + checksum = "a69bcab0ad47271a0234d9422b131806bf3968021e5dc9328caf2d4cd58557fc" 887 + dependencies = [ 888 + "libc", 889 + "wasi", 890 + "windows-sys 0.61.2", 891 + ] 892 + 893 + [[package]] 894 + name = "num-traits" 895 + version = "0.2.19" 896 + source = "registry+https://github.com/rust-lang/crates.io-index" 897 + checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" 898 + dependencies = [ 899 + "autocfg", 900 + ] 901 + 902 + [[package]] 903 + name = "once_cell" 904 + version = "1.21.3" 905 + source = "registry+https://github.com/rust-lang/crates.io-index" 906 + checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d" 907 + 908 + [[package]] 909 + name = "openssl-probe" 910 + version = "0.2.1" 911 + source = "registry+https://github.com/rust-lang/crates.io-index" 912 + checksum = "7c87def4c32ab89d880effc9e097653c8da5d6ef28e6b539d313baaacfbafcbe" 913 + 914 + [[package]] 915 + name = "ordered-float" 916 + version = "2.10.1" 917 + source = "registry+https://github.com/rust-lang/crates.io-index" 918 + checksum = "68f19d67e5a2795c94e73e0bb1cc1a7edeb2e28efd39e2e1c9b7a40c1108b11c" 919 + dependencies = [ 920 + "num-traits", 921 + ] 922 + 923 + [[package]] 924 + name = "parking" 925 + version = "2.2.1" 926 + source = "registry+https://github.com/rust-lang/crates.io-index" 927 + checksum = "f38d5652c16fde515bb1ecef450ab0f6a219d619a7274976324d5e377f7dceba" 928 + 929 + [[package]] 930 + name = "parking_lot" 931 + version = "0.12.5" 932 + source = "registry+https://github.com/rust-lang/crates.io-index" 933 + checksum = "93857453250e3077bd71ff98b6a65ea6621a19bb0f559a85248955ac12c45a1a" 934 + dependencies = [ 935 + "lock_api", 936 + "parking_lot_core", 937 + ] 938 + 939 + [[package]] 940 + name = "parking_lot_core" 941 + version = "0.9.12" 942 + source = "registry+https://github.com/rust-lang/crates.io-index" 943 + checksum = "2621685985a2ebf1c516881c026032ac7deafcda1a2c9b7850dc81e3dfcb64c1" 944 + dependencies = [ 945 + "cfg-if", 946 + "libc", 947 + "redox_syscall", 948 + "smallvec", 949 + "windows-link", 950 + ] 951 + 952 + [[package]] 953 + name = "pem" 954 + version = "3.0.6" 955 + source = "registry+https://github.com/rust-lang/crates.io-index" 956 + checksum = "1d30c53c26bc5b31a98cd02d20f25a7c8567146caf63ed593a9d87b2775291be" 957 + dependencies = [ 958 + "base64", 959 + "serde_core", 960 + ] 961 + 962 + [[package]] 963 + name = "percent-encoding" 964 + version = "2.3.2" 965 + source = "registry+https://github.com/rust-lang/crates.io-index" 966 + checksum = "9b4f627cb1b25917193a259e49bdad08f671f8d9708acfd5fe0a8c1455d87220" 967 + 968 + [[package]] 969 + name = "pest" 970 + version = "2.8.5" 971 + source = "registry+https://github.com/rust-lang/crates.io-index" 972 + checksum = "2c9eb05c21a464ea704b53158d358a31e6425db2f63a1a7312268b05fe2b75f7" 973 + dependencies = [ 974 + "memchr", 975 + "ucd-trie", 976 + ] 977 + 978 + [[package]] 979 + name = "pest_derive" 980 + version = "2.8.5" 981 + source = "registry+https://github.com/rust-lang/crates.io-index" 982 + checksum = "68f9dbced329c441fa79d80472764b1a2c7e57123553b8519b36663a2fb234ed" 983 + dependencies = [ 984 + "pest", 985 + "pest_generator", 986 + ] 987 + 988 + [[package]] 989 + name = "pest_generator" 990 + version = "2.8.5" 991 + source = "registry+https://github.com/rust-lang/crates.io-index" 992 + checksum = "3bb96d5051a78f44f43c8f712d8e810adb0ebf923fc9ed2655a7f66f63ba8ee5" 993 + dependencies = [ 994 + "pest", 995 + "pest_meta", 996 + "proc-macro2", 997 + "quote", 998 + "syn", 999 + ] 1000 + 1001 + [[package]] 1002 + name = "pest_meta" 1003 + version = "2.8.5" 1004 + source = "registry+https://github.com/rust-lang/crates.io-index" 1005 + checksum = "602113b5b5e8621770cfd490cfd90b9f84ab29bd2b0e49ad83eb6d186cef2365" 1006 + dependencies = [ 1007 + "pest", 1008 + "sha2", 1009 + ] 1010 + 1011 + [[package]] 1012 + name = "pin-project" 1013 + version = "1.1.10" 1014 + source = "registry+https://github.com/rust-lang/crates.io-index" 1015 + checksum = "677f1add503faace112b9f1373e43e9e054bfdd22ff1a63c1bc485eaec6a6a8a" 1016 + dependencies = [ 1017 + "pin-project-internal", 1018 + ] 1019 + 1020 + [[package]] 1021 + name = "pin-project-internal" 1022 + version = "1.1.10" 1023 + source = "registry+https://github.com/rust-lang/crates.io-index" 1024 + checksum = "6e918e4ff8c4549eb882f14b3a4bc8c8bc93de829416eacf579f1207a8fbf861" 1025 + dependencies = [ 1026 + "proc-macro2", 1027 + "quote", 1028 + "syn", 1029 + ] 1030 + 1031 + [[package]] 1032 + name = "pin-project-lite" 1033 + version = "0.2.16" 1034 + source = "registry+https://github.com/rust-lang/crates.io-index" 1035 + checksum = "3b3cff922bd51709b605d9ead9aa71031d81447142d828eb4a6eba76fe619f9b" 1036 + 1037 + [[package]] 1038 + name = "pin-utils" 1039 + version = "0.1.0" 1040 + source = "registry+https://github.com/rust-lang/crates.io-index" 1041 + checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" 1042 + 1043 + [[package]] 1044 + name = "portable-atomic" 1045 + version = "1.13.1" 1046 + source = "registry+https://github.com/rust-lang/crates.io-index" 1047 + checksum = "c33a9471896f1c69cecef8d20cbe2f7accd12527ce60845ff44c153bb2a21b49" 1048 + 1049 + [[package]] 1050 + name = "portable-atomic-util" 1051 + version = "0.2.5" 1052 + source = "registry+https://github.com/rust-lang/crates.io-index" 1053 + checksum = "7a9db96d7fa8782dd8c15ce32ffe8680bbd1e978a43bf51a34d39483540495f5" 1054 + dependencies = [ 1055 + "portable-atomic", 1056 + ] 1057 + 1058 + [[package]] 1059 + name = "proc-macro2" 1060 + version = "1.0.106" 1061 + source = "registry+https://github.com/rust-lang/crates.io-index" 1062 + checksum = "8fd00f0bb2e90d81d1044c2b32617f68fcb9fa3bb7640c23e9c748e53fb30934" 1063 + dependencies = [ 1064 + "unicode-ident", 1065 + ] 1066 + 1067 + [[package]] 1068 + name = "quote" 1069 + version = "1.0.44" 1070 + source = "registry+https://github.com/rust-lang/crates.io-index" 1071 + checksum = "21b2ebcf727b7760c461f091f9f0f539b77b8e87f2fd88131e7f1b433b3cece4" 1072 + dependencies = [ 1073 + "proc-macro2", 1074 + ] 1075 + 1076 + [[package]] 1077 + name = "r-efi" 1078 + version = "5.3.0" 1079 + source = "registry+https://github.com/rust-lang/crates.io-index" 1080 + checksum = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f" 1081 + 1082 + [[package]] 1083 + name = "redox_syscall" 1084 + version = "0.5.18" 1085 + source = "registry+https://github.com/rust-lang/crates.io-index" 1086 + checksum = "ed2bf2547551a7053d6fdfafda3f938979645c44812fbfcda098faae3f1a362d" 1087 + dependencies = [ 1088 + "bitflags", 1089 + ] 1090 + 1091 + [[package]] 1092 + name = "ref-cast" 1093 + version = "1.0.25" 1094 + source = "registry+https://github.com/rust-lang/crates.io-index" 1095 + checksum = "f354300ae66f76f1c85c5f84693f0ce81d747e2c3f21a45fef496d89c960bf7d" 1096 + dependencies = [ 1097 + "ref-cast-impl", 1098 + ] 1099 + 1100 + [[package]] 1101 + name = "ref-cast-impl" 1102 + version = "1.0.25" 1103 + source = "registry+https://github.com/rust-lang/crates.io-index" 1104 + checksum = "b7186006dcb21920990093f30e3dea63b7d6e977bf1256be20c3563a5db070da" 1105 + dependencies = [ 1106 + "proc-macro2", 1107 + "quote", 1108 + "syn", 1109 + ] 1110 + 1111 + [[package]] 1112 + name = "regex" 1113 + version = "1.12.3" 1114 + source = "registry+https://github.com/rust-lang/crates.io-index" 1115 + checksum = "e10754a14b9137dd7b1e3e5b0493cc9171fdd105e0ab477f51b72e7f3ac0e276" 1116 + dependencies = [ 1117 + "aho-corasick", 1118 + "memchr", 1119 + "regex-automata", 1120 + "regex-syntax", 1121 + ] 1122 + 1123 + [[package]] 1124 + name = "regex-automata" 1125 + version = "0.4.14" 1126 + source = "registry+https://github.com/rust-lang/crates.io-index" 1127 + checksum = "6e1dd4122fc1595e8162618945476892eefca7b88c52820e74af6262213cae8f" 1128 + dependencies = [ 1129 + "aho-corasick", 1130 + "memchr", 1131 + "regex-syntax", 1132 + ] 1133 + 1134 + [[package]] 1135 + name = "regex-syntax" 1136 + version = "0.8.9" 1137 + source = "registry+https://github.com/rust-lang/crates.io-index" 1138 + checksum = "a96887878f22d7bad8a3b6dc5b7440e0ada9a245242924394987b21cf2210a4c" 1139 + 1140 + [[package]] 1141 + name = "ring" 1142 + version = "0.17.14" 1143 + source = "registry+https://github.com/rust-lang/crates.io-index" 1144 + checksum = "a4689e6c2294d81e88dc6261c768b63bc4fcdb852be6d1352498b114f61383b7" 1145 + dependencies = [ 1146 + "cc", 1147 + "cfg-if", 1148 + "getrandom 0.2.17", 1149 + "libc", 1150 + "untrusted", 1151 + "windows-sys 0.52.0", 1152 + ] 1153 + 1154 + [[package]] 1155 + name = "rustc_version" 1156 + version = "0.4.1" 1157 + source = "registry+https://github.com/rust-lang/crates.io-index" 1158 + checksum = "cfcb3a22ef46e85b45de6ee7e79d063319ebb6594faafcf1c225ea92ab6e9b92" 1159 + dependencies = [ 1160 + "semver", 1161 + ] 1162 + 1163 + [[package]] 1164 + name = "rustls" 1165 + version = "0.23.36" 1166 + source = "registry+https://github.com/rust-lang/crates.io-index" 1167 + checksum = "c665f33d38cea657d9614f766881e4d510e0eda4239891eea56b4cadcf01801b" 1168 + dependencies = [ 1169 + "log", 1170 + "once_cell", 1171 + "ring", 1172 + "rustls-pki-types", 1173 + "rustls-webpki", 1174 + "subtle", 1175 + "zeroize", 1176 + ] 1177 + 1178 + [[package]] 1179 + name = "rustls-native-certs" 1180 + version = "0.8.3" 1181 + source = "registry+https://github.com/rust-lang/crates.io-index" 1182 + checksum = "612460d5f7bea540c490b2b6395d8e34a953e52b491accd6c86c8164c5932a63" 1183 + dependencies = [ 1184 + "openssl-probe", 1185 + "rustls-pki-types", 1186 + "schannel", 1187 + "security-framework", 1188 + ] 1189 + 1190 + [[package]] 1191 + name = "rustls-pki-types" 1192 + version = "1.14.0" 1193 + source = "registry+https://github.com/rust-lang/crates.io-index" 1194 + checksum = "be040f8b0a225e40375822a563fa9524378b9d63112f53e19ffff34df5d33fdd" 1195 + dependencies = [ 1196 + "zeroize", 1197 + ] 1198 + 1199 + [[package]] 1200 + name = "rustls-webpki" 1201 + version = "0.103.9" 1202 + source = "registry+https://github.com/rust-lang/crates.io-index" 1203 + checksum = "d7df23109aa6c1567d1c575b9952556388da57401e4ace1d15f79eedad0d8f53" 1204 + dependencies = [ 1205 + "ring", 1206 + "rustls-pki-types", 1207 + "untrusted", 1208 + ] 1209 + 1210 + [[package]] 1211 + name = "rustversion" 1212 + version = "1.0.22" 1213 + source = "registry+https://github.com/rust-lang/crates.io-index" 1214 + checksum = "b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d" 1215 + 1216 + [[package]] 1217 + name = "ryu" 1218 + version = "1.0.22" 1219 + source = "registry+https://github.com/rust-lang/crates.io-index" 1220 + checksum = "a50f4cf475b65d88e057964e0e9bb1f0aa9bbb2036dc65c64596b42932536984" 1221 + 1222 + [[package]] 1223 + name = "schannel" 1224 + version = "0.1.28" 1225 + source = "registry+https://github.com/rust-lang/crates.io-index" 1226 + checksum = "891d81b926048e76efe18581bf793546b4c0eaf8448d72be8de2bbee5fd166e1" 1227 + dependencies = [ 1228 + "windows-sys 0.61.2", 1229 + ] 1230 + 1231 + [[package]] 1232 + name = "schemars" 1233 + version = "1.2.1" 1234 + source = "registry+https://github.com/rust-lang/crates.io-index" 1235 + checksum = "a2b42f36aa1cd011945615b92222f6bf73c599a102a300334cd7f8dbeec726cc" 1236 + dependencies = [ 1237 + "dyn-clone", 1238 + "ref-cast", 1239 + "schemars_derive", 1240 + "serde", 1241 + "serde_json", 1242 + ] 1243 + 1244 + [[package]] 1245 + name = "schemars_derive" 1246 + version = "1.2.1" 1247 + source = "registry+https://github.com/rust-lang/crates.io-index" 1248 + checksum = "7d115b50f4aaeea07e79c1912f645c7513d81715d0420f8bc77a18c6260b307f" 1249 + dependencies = [ 1250 + "proc-macro2", 1251 + "quote", 1252 + "serde_derive_internals", 1253 + "syn", 1254 + ] 1255 + 1256 + [[package]] 1257 + name = "scopeguard" 1258 + version = "1.2.0" 1259 + source = "registry+https://github.com/rust-lang/crates.io-index" 1260 + checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" 1261 + 1262 + [[package]] 1263 + name = "secrecy" 1264 + version = "0.10.3" 1265 + source = "registry+https://github.com/rust-lang/crates.io-index" 1266 + checksum = "e891af845473308773346dc847b2c23ee78fe442e0472ac50e22a18a93d3ae5a" 1267 + dependencies = [ 1268 + "zeroize", 1269 + ] 1270 + 1271 + [[package]] 1272 + name = "security-framework" 1273 + version = "3.5.1" 1274 + source = "registry+https://github.com/rust-lang/crates.io-index" 1275 + checksum = "b3297343eaf830f66ede390ea39da1d462b6b0c1b000f420d0a83f898bbbe6ef" 1276 + dependencies = [ 1277 + "bitflags", 1278 + "core-foundation", 1279 + "core-foundation-sys", 1280 + "libc", 1281 + "security-framework-sys", 1282 + ] 1283 + 1284 + [[package]] 1285 + name = "security-framework-sys" 1286 + version = "2.15.0" 1287 + source = "registry+https://github.com/rust-lang/crates.io-index" 1288 + checksum = "cc1f0cbffaac4852523ce30d8bd3c5cdc873501d96ff467ca09b6767bb8cd5c0" 1289 + dependencies = [ 1290 + "core-foundation-sys", 1291 + "libc", 1292 + ] 1293 + 1294 + [[package]] 1295 + name = "semver" 1296 + version = "1.0.27" 1297 + source = "registry+https://github.com/rust-lang/crates.io-index" 1298 + checksum = "d767eb0aabc880b29956c35734170f26ed551a859dbd361d140cdbeca61ab1e2" 1299 + 1300 + [[package]] 1301 + name = "serde" 1302 + version = "1.0.228" 1303 + source = "registry+https://github.com/rust-lang/crates.io-index" 1304 + checksum = "9a8e94ea7f378bd32cbbd37198a4a91436180c5bb472411e48b5ec2e2124ae9e" 1305 + dependencies = [ 1306 + "serde_core", 1307 + "serde_derive", 1308 + ] 1309 + 1310 + [[package]] 1311 + name = "serde-value" 1312 + version = "0.7.0" 1313 + source = "registry+https://github.com/rust-lang/crates.io-index" 1314 + checksum = "f3a1a3341211875ef120e117ea7fd5228530ae7e7036a779fdc9117be6b3282c" 1315 + dependencies = [ 1316 + "ordered-float", 1317 + "serde", 1318 + ] 1319 + 1320 + [[package]] 1321 + name = "serde_core" 1322 + version = "1.0.228" 1323 + source = "registry+https://github.com/rust-lang/crates.io-index" 1324 + checksum = "41d385c7d4ca58e59fc732af25c3983b67ac852c1a25000afe1175de458b67ad" 1325 + dependencies = [ 1326 + "serde_derive", 1327 + ] 1328 + 1329 + [[package]] 1330 + name = "serde_derive" 1331 + version = "1.0.228" 1332 + source = "registry+https://github.com/rust-lang/crates.io-index" 1333 + checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79" 1334 + dependencies = [ 1335 + "proc-macro2", 1336 + "quote", 1337 + "syn", 1338 + ] 1339 + 1340 + [[package]] 1341 + name = "serde_derive_internals" 1342 + version = "0.29.1" 1343 + source = "registry+https://github.com/rust-lang/crates.io-index" 1344 + checksum = "18d26a20a969b9e3fdf2fc2d9f21eda6c40e2de84c9408bb5d3b05d499aae711" 1345 + dependencies = [ 1346 + "proc-macro2", 1347 + "quote", 1348 + "syn", 1349 + ] 1350 + 1351 + [[package]] 1352 + name = "serde_json" 1353 + version = "1.0.149" 1354 + source = "registry+https://github.com/rust-lang/crates.io-index" 1355 + checksum = "83fc039473c5595ace860d8c4fafa220ff474b3fc6bfdb4293327f1a37e94d86" 1356 + dependencies = [ 1357 + "itoa", 1358 + "memchr", 1359 + "serde", 1360 + "serde_core", 1361 + "zmij", 1362 + ] 1363 + 1364 + [[package]] 1365 + name = "serde_yaml" 1366 + version = "0.9.34+deprecated" 1367 + source = "registry+https://github.com/rust-lang/crates.io-index" 1368 + checksum = "6a8b1a1a2ebf674015cc02edccce75287f1a0130d394307b36743c2f5d504b47" 1369 + dependencies = [ 1370 + "indexmap", 1371 + "itoa", 1372 + "ryu", 1373 + "serde", 1374 + "unsafe-libyaml", 1375 + ] 1376 + 1377 + [[package]] 1378 + name = "sha2" 1379 + version = "0.10.9" 1380 + source = "registry+https://github.com/rust-lang/crates.io-index" 1381 + checksum = "a7507d819769d01a365ab707794a4084392c824f54a7a6a7862f8c3d0892b283" 1382 + dependencies = [ 1383 + "cfg-if", 1384 + "cpufeatures", 1385 + "digest", 1386 + ] 1387 + 1388 + [[package]] 1389 + name = "shlex" 1390 + version = "1.3.0" 1391 + source = "registry+https://github.com/rust-lang/crates.io-index" 1392 + checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" 1393 + 1394 + [[package]] 1395 + name = "signal-hook-registry" 1396 + version = "1.4.8" 1397 + source = "registry+https://github.com/rust-lang/crates.io-index" 1398 + checksum = "c4db69cba1110affc0e9f7bcd48bbf87b3f4fc7c61fc9155afd4c469eb3d6c1b" 1399 + dependencies = [ 1400 + "errno", 1401 + "libc", 1402 + ] 1403 + 1404 + [[package]] 1405 + name = "slab" 1406 + version = "0.4.12" 1407 + source = "registry+https://github.com/rust-lang/crates.io-index" 1408 + checksum = "0c790de23124f9ab44544d7ac05d60440adc586479ce501c1d6d7da3cd8c9cf5" 1409 + 1410 + [[package]] 1411 + name = "smallvec" 1412 + version = "1.15.1" 1413 + source = "registry+https://github.com/rust-lang/crates.io-index" 1414 + checksum = "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03" 1415 + 1416 + [[package]] 1417 + name = "socket2" 1418 + version = "0.6.2" 1419 + source = "registry+https://github.com/rust-lang/crates.io-index" 1420 + checksum = "86f4aa3ad99f2088c990dfa82d367e19cb29268ed67c574d10d0a4bfe71f07e0" 1421 + dependencies = [ 1422 + "libc", 1423 + "windows-sys 0.60.2", 1424 + ] 1425 + 1426 + [[package]] 1427 + name = "strsim" 1428 + version = "0.11.1" 1429 + source = "registry+https://github.com/rust-lang/crates.io-index" 1430 + checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" 1431 + 1432 + [[package]] 1433 + name = "subtle" 1434 + version = "2.6.1" 1435 + source = "registry+https://github.com/rust-lang/crates.io-index" 1436 + checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" 1437 + 1438 + [[package]] 1439 + name = "syn" 1440 + version = "2.0.114" 1441 + source = "registry+https://github.com/rust-lang/crates.io-index" 1442 + checksum = "d4d107df263a3013ef9b1879b0df87d706ff80f65a86ea879bd9c31f9b307c2a" 1443 + dependencies = [ 1444 + "proc-macro2", 1445 + "quote", 1446 + "unicode-ident", 1447 + ] 1448 + 1449 + [[package]] 1450 + name = "sync_wrapper" 1451 + version = "1.0.2" 1452 + source = "registry+https://github.com/rust-lang/crates.io-index" 1453 + checksum = "0bf256ce5efdfa370213c1dabab5935a12e49f2c58d15e9eac2870d3b4f27263" 1454 + 1455 + [[package]] 1456 + name = "thiserror" 1457 + version = "1.0.69" 1458 + source = "registry+https://github.com/rust-lang/crates.io-index" 1459 + checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52" 1460 + dependencies = [ 1461 + "thiserror-impl 1.0.69", 1462 + ] 1463 + 1464 + [[package]] 1465 + name = "thiserror" 1466 + version = "2.0.18" 1467 + source = "registry+https://github.com/rust-lang/crates.io-index" 1468 + checksum = "4288b5bcbc7920c07a1149a35cf9590a2aa808e0bc1eafaade0b80947865fbc4" 1469 + dependencies = [ 1470 + "thiserror-impl 2.0.18", 1471 + ] 1472 + 1473 + [[package]] 1474 + name = "thiserror-impl" 1475 + version = "1.0.69" 1476 + source = "registry+https://github.com/rust-lang/crates.io-index" 1477 + checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" 1478 + dependencies = [ 1479 + "proc-macro2", 1480 + "quote", 1481 + "syn", 1482 + ] 1483 + 1484 + [[package]] 1485 + name = "thiserror-impl" 1486 + version = "2.0.18" 1487 + source = "registry+https://github.com/rust-lang/crates.io-index" 1488 + checksum = "ebc4ee7f67670e9b64d05fa4253e753e016c6c95ff35b89b7941d6b856dec1d5" 1489 + dependencies = [ 1490 + "proc-macro2", 1491 + "quote", 1492 + "syn", 1493 + ] 1494 + 1495 + [[package]] 1496 + name = "tokio" 1497 + version = "1.49.0" 1498 + source = "registry+https://github.com/rust-lang/crates.io-index" 1499 + checksum = "72a2903cd7736441aac9df9d7688bd0ce48edccaadf181c3b90be801e81d3d86" 1500 + dependencies = [ 1501 + "bytes", 1502 + "libc", 1503 + "mio", 1504 + "parking_lot", 1505 + "pin-project-lite", 1506 + "signal-hook-registry", 1507 + "socket2", 1508 + "tokio-macros", 1509 + "windows-sys 0.61.2", 1510 + ] 1511 + 1512 + [[package]] 1513 + name = "tokio-macros" 1514 + version = "2.6.0" 1515 + source = "registry+https://github.com/rust-lang/crates.io-index" 1516 + checksum = "af407857209536a95c8e56f8231ef2c2e2aff839b22e07a1ffcbc617e9db9fa5" 1517 + dependencies = [ 1518 + "proc-macro2", 1519 + "quote", 1520 + "syn", 1521 + ] 1522 + 1523 + [[package]] 1524 + name = "tokio-rustls" 1525 + version = "0.26.4" 1526 + source = "registry+https://github.com/rust-lang/crates.io-index" 1527 + checksum = "1729aa945f29d91ba541258c8df89027d5792d85a8841fb65e8bf0f4ede4ef61" 1528 + dependencies = [ 1529 + "rustls", 1530 + "tokio", 1531 + ] 1532 + 1533 + [[package]] 1534 + name = "tokio-util" 1535 + version = "0.7.18" 1536 + source = "registry+https://github.com/rust-lang/crates.io-index" 1537 + checksum = "9ae9cec805b01e8fc3fd2fe289f89149a9b66dd16786abd8b19cfa7b48cb0098" 1538 + dependencies = [ 1539 + "bytes", 1540 + "futures-core", 1541 + "futures-sink", 1542 + "pin-project-lite", 1543 + "slab", 1544 + "tokio", 1545 + ] 1546 + 1547 + [[package]] 1548 + name = "tower" 1549 + version = "0.5.3" 1550 + source = "registry+https://github.com/rust-lang/crates.io-index" 1551 + checksum = "ebe5ef63511595f1344e2d5cfa636d973292adc0eec1f0ad45fae9f0851ab1d4" 1552 + dependencies = [ 1553 + "futures-core", 1554 + "futures-util", 1555 + "pin-project-lite", 1556 + "sync_wrapper", 1557 + "tokio", 1558 + "tokio-util", 1559 + "tower-layer", 1560 + "tower-service", 1561 + "tracing", 1562 + ] 1563 + 1564 + [[package]] 1565 + name = "tower-http" 1566 + version = "0.6.8" 1567 + source = "registry+https://github.com/rust-lang/crates.io-index" 1568 + checksum = "d4e6559d53cc268e5031cd8429d05415bc4cb4aefc4aa5d6cc35fbf5b924a1f8" 1569 + dependencies = [ 1570 + "base64", 1571 + "bitflags", 1572 + "bytes", 1573 + "http", 1574 + "http-body", 1575 + "mime", 1576 + "pin-project-lite", 1577 + "tower", 1578 + "tower-layer", 1579 + "tower-service", 1580 + "tracing", 1581 + ] 1582 + 1583 + [[package]] 1584 + name = "tower-layer" 1585 + version = "0.3.3" 1586 + source = "registry+https://github.com/rust-lang/crates.io-index" 1587 + checksum = "121c2a6cda46980bb0fcd1647ffaf6cd3fc79a013de288782836f6df9c48780e" 1588 + 1589 + [[package]] 1590 + name = "tower-service" 1591 + version = "0.3.3" 1592 + source = "registry+https://github.com/rust-lang/crates.io-index" 1593 + checksum = "8df9b6e13f2d32c91b9bd719c00d1958837bc7dec474d94952798cc8e69eeec3" 1594 + 1595 + [[package]] 1596 + name = "tracing" 1597 + version = "0.1.44" 1598 + source = "registry+https://github.com/rust-lang/crates.io-index" 1599 + checksum = "63e71662fa4b2a2c3a26f570f037eb95bb1f85397f3cd8076caed2f026a6d100" 1600 + dependencies = [ 1601 + "log", 1602 + "pin-project-lite", 1603 + "tracing-attributes", 1604 + "tracing-core", 1605 + ] 1606 + 1607 + [[package]] 1608 + name = "tracing-attributes" 1609 + version = "0.1.31" 1610 + source = "registry+https://github.com/rust-lang/crates.io-index" 1611 + checksum = "7490cfa5ec963746568740651ac6781f701c9c5ea257c58e057f3ba8cf69e8da" 1612 + dependencies = [ 1613 + "proc-macro2", 1614 + "quote", 1615 + "syn", 1616 + ] 1617 + 1618 + [[package]] 1619 + name = "tracing-core" 1620 + version = "0.1.36" 1621 + source = "registry+https://github.com/rust-lang/crates.io-index" 1622 + checksum = "db97caf9d906fbde555dd62fa95ddba9eecfd14cb388e4f491a66d74cd5fb79a" 1623 + dependencies = [ 1624 + "once_cell", 1625 + ] 1626 + 1627 + [[package]] 1628 + name = "try-lock" 1629 + version = "0.2.5" 1630 + source = "registry+https://github.com/rust-lang/crates.io-index" 1631 + checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" 1632 + 1633 + [[package]] 1634 + name = "typenum" 1635 + version = "1.19.0" 1636 + source = "registry+https://github.com/rust-lang/crates.io-index" 1637 + checksum = "562d481066bde0658276a35467c4af00bdc6ee726305698a55b86e61d7ad82bb" 1638 + 1639 + [[package]] 1640 + name = "ucd-trie" 1641 + version = "0.1.7" 1642 + source = "registry+https://github.com/rust-lang/crates.io-index" 1643 + checksum = "2896d95c02a80c6d6a5d6e953d479f5ddf2dfdb6a244441010e373ac0fb88971" 1644 + 1645 + [[package]] 1646 + name = "unicode-ident" 1647 + version = "1.0.22" 1648 + source = "registry+https://github.com/rust-lang/crates.io-index" 1649 + checksum = "9312f7c4f6ff9069b165498234ce8be658059c6728633667c526e27dc2cf1df5" 1650 + 1651 + [[package]] 1652 + name = "unsafe-libyaml" 1653 + version = "0.2.11" 1654 + source = "registry+https://github.com/rust-lang/crates.io-index" 1655 + checksum = "673aac59facbab8a9007c7f6108d11f63b603f7cabff99fabf650fea5c32b861" 1656 + 1657 + [[package]] 1658 + name = "untrusted" 1659 + version = "0.9.0" 1660 + source = "registry+https://github.com/rust-lang/crates.io-index" 1661 + checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" 1662 + 1663 + [[package]] 1664 + name = "version_check" 1665 + version = "0.9.5" 1666 + source = "registry+https://github.com/rust-lang/crates.io-index" 1667 + checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" 1668 + 1669 + [[package]] 1670 + name = "want" 1671 + version = "0.3.1" 1672 + source = "registry+https://github.com/rust-lang/crates.io-index" 1673 + checksum = "bfa7760aed19e106de2c7c0b581b509f2f25d3dacaf737cb82ac61bc6d760b0e" 1674 + dependencies = [ 1675 + "try-lock", 1676 + ] 1677 + 1678 + [[package]] 1679 + name = "wasi" 1680 + version = "0.11.1+wasi-snapshot-preview1" 1681 + source = "registry+https://github.com/rust-lang/crates.io-index" 1682 + checksum = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b" 1683 + 1684 + [[package]] 1685 + name = "wasip2" 1686 + version = "1.0.2+wasi-0.2.9" 1687 + source = "registry+https://github.com/rust-lang/crates.io-index" 1688 + checksum = "9517f9239f02c069db75e65f174b3da828fe5f5b945c4dd26bd25d89c03ebcf5" 1689 + dependencies = [ 1690 + "wit-bindgen", 1691 + ] 1692 + 1693 + [[package]] 1694 + name = "wasm-bindgen" 1695 + version = "0.2.108" 1696 + source = "registry+https://github.com/rust-lang/crates.io-index" 1697 + checksum = "64024a30ec1e37399cf85a7ffefebdb72205ca1c972291c51512360d90bd8566" 1698 + dependencies = [ 1699 + "cfg-if", 1700 + "once_cell", 1701 + "rustversion", 1702 + "wasm-bindgen-macro", 1703 + "wasm-bindgen-shared", 1704 + ] 1705 + 1706 + [[package]] 1707 + name = "wasm-bindgen-macro" 1708 + version = "0.2.108" 1709 + source = "registry+https://github.com/rust-lang/crates.io-index" 1710 + checksum = "008b239d9c740232e71bd39e8ef6429d27097518b6b30bdf9086833bd5b6d608" 1711 + dependencies = [ 1712 + "quote", 1713 + "wasm-bindgen-macro-support", 1714 + ] 1715 + 1716 + [[package]] 1717 + name = "wasm-bindgen-macro-support" 1718 + version = "0.2.108" 1719 + source = "registry+https://github.com/rust-lang/crates.io-index" 1720 + checksum = "5256bae2d58f54820e6490f9839c49780dff84c65aeab9e772f15d5f0e913a55" 1721 + dependencies = [ 1722 + "bumpalo", 1723 + "proc-macro2", 1724 + "quote", 1725 + "syn", 1726 + "wasm-bindgen-shared", 1727 + ] 1728 + 1729 + [[package]] 1730 + name = "wasm-bindgen-shared" 1731 + version = "0.2.108" 1732 + source = "registry+https://github.com/rust-lang/crates.io-index" 1733 + checksum = "1f01b580c9ac74c8d8f0c0e4afb04eeef2acf145458e52c03845ee9cd23e3d12" 1734 + dependencies = [ 1735 + "unicode-ident", 1736 + ] 1737 + 1738 + [[package]] 1739 + name = "windows-link" 1740 + version = "0.2.1" 1741 + source = "registry+https://github.com/rust-lang/crates.io-index" 1742 + checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" 1743 + 1744 + [[package]] 1745 + name = "windows-sys" 1746 + version = "0.52.0" 1747 + source = "registry+https://github.com/rust-lang/crates.io-index" 1748 + checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" 1749 + dependencies = [ 1750 + "windows-targets 0.52.6", 1751 + ] 1752 + 1753 + [[package]] 1754 + name = "windows-sys" 1755 + version = "0.60.2" 1756 + source = "registry+https://github.com/rust-lang/crates.io-index" 1757 + checksum = "f2f500e4d28234f72040990ec9d39e3a6b950f9f22d3dba18416c35882612bcb" 1758 + dependencies = [ 1759 + "windows-targets 0.53.5", 1760 + ] 1761 + 1762 + [[package]] 1763 + name = "windows-sys" 1764 + version = "0.61.2" 1765 + source = "registry+https://github.com/rust-lang/crates.io-index" 1766 + checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" 1767 + dependencies = [ 1768 + "windows-link", 1769 + ] 1770 + 1771 + [[package]] 1772 + name = "windows-targets" 1773 + version = "0.52.6" 1774 + source = "registry+https://github.com/rust-lang/crates.io-index" 1775 + checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" 1776 + dependencies = [ 1777 + "windows_aarch64_gnullvm 0.52.6", 1778 + "windows_aarch64_msvc 0.52.6", 1779 + "windows_i686_gnu 0.52.6", 1780 + "windows_i686_gnullvm 0.52.6", 1781 + "windows_i686_msvc 0.52.6", 1782 + "windows_x86_64_gnu 0.52.6", 1783 + "windows_x86_64_gnullvm 0.52.6", 1784 + "windows_x86_64_msvc 0.52.6", 1785 + ] 1786 + 1787 + [[package]] 1788 + name = "windows-targets" 1789 + version = "0.53.5" 1790 + source = "registry+https://github.com/rust-lang/crates.io-index" 1791 + checksum = "4945f9f551b88e0d65f3db0bc25c33b8acea4d9e41163edf90dcd0b19f9069f3" 1792 + dependencies = [ 1793 + "windows-link", 1794 + "windows_aarch64_gnullvm 0.53.1", 1795 + "windows_aarch64_msvc 0.53.1", 1796 + "windows_i686_gnu 0.53.1", 1797 + "windows_i686_gnullvm 0.53.1", 1798 + "windows_i686_msvc 0.53.1", 1799 + "windows_x86_64_gnu 0.53.1", 1800 + "windows_x86_64_gnullvm 0.53.1", 1801 + "windows_x86_64_msvc 0.53.1", 1802 + ] 1803 + 1804 + [[package]] 1805 + name = "windows_aarch64_gnullvm" 1806 + version = "0.52.6" 1807 + source = "registry+https://github.com/rust-lang/crates.io-index" 1808 + checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" 1809 + 1810 + [[package]] 1811 + name = "windows_aarch64_gnullvm" 1812 + version = "0.53.1" 1813 + source = "registry+https://github.com/rust-lang/crates.io-index" 1814 + checksum = "a9d8416fa8b42f5c947f8482c43e7d89e73a173cead56d044f6a56104a6d1b53" 1815 + 1816 + [[package]] 1817 + name = "windows_aarch64_msvc" 1818 + version = "0.52.6" 1819 + source = "registry+https://github.com/rust-lang/crates.io-index" 1820 + checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" 1821 + 1822 + [[package]] 1823 + name = "windows_aarch64_msvc" 1824 + version = "0.53.1" 1825 + source = "registry+https://github.com/rust-lang/crates.io-index" 1826 + checksum = "b9d782e804c2f632e395708e99a94275910eb9100b2114651e04744e9b125006" 1827 + 1828 + [[package]] 1829 + name = "windows_i686_gnu" 1830 + version = "0.52.6" 1831 + source = "registry+https://github.com/rust-lang/crates.io-index" 1832 + checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" 1833 + 1834 + [[package]] 1835 + name = "windows_i686_gnu" 1836 + version = "0.53.1" 1837 + source = "registry+https://github.com/rust-lang/crates.io-index" 1838 + checksum = "960e6da069d81e09becb0ca57a65220ddff016ff2d6af6a223cf372a506593a3" 1839 + 1840 + [[package]] 1841 + name = "windows_i686_gnullvm" 1842 + version = "0.52.6" 1843 + source = "registry+https://github.com/rust-lang/crates.io-index" 1844 + checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" 1845 + 1846 + [[package]] 1847 + name = "windows_i686_gnullvm" 1848 + version = "0.53.1" 1849 + source = "registry+https://github.com/rust-lang/crates.io-index" 1850 + checksum = "fa7359d10048f68ab8b09fa71c3daccfb0e9b559aed648a8f95469c27057180c" 1851 + 1852 + [[package]] 1853 + name = "windows_i686_msvc" 1854 + version = "0.52.6" 1855 + source = "registry+https://github.com/rust-lang/crates.io-index" 1856 + checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" 1857 + 1858 + [[package]] 1859 + name = "windows_i686_msvc" 1860 + version = "0.53.1" 1861 + source = "registry+https://github.com/rust-lang/crates.io-index" 1862 + checksum = "1e7ac75179f18232fe9c285163565a57ef8d3c89254a30685b57d83a38d326c2" 1863 + 1864 + [[package]] 1865 + name = "windows_x86_64_gnu" 1866 + version = "0.52.6" 1867 + source = "registry+https://github.com/rust-lang/crates.io-index" 1868 + checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" 1869 + 1870 + [[package]] 1871 + name = "windows_x86_64_gnu" 1872 + version = "0.53.1" 1873 + source = "registry+https://github.com/rust-lang/crates.io-index" 1874 + checksum = "9c3842cdd74a865a8066ab39c8a7a473c0778a3f29370b5fd6b4b9aa7df4a499" 1875 + 1876 + [[package]] 1877 + name = "windows_x86_64_gnullvm" 1878 + version = "0.52.6" 1879 + source = "registry+https://github.com/rust-lang/crates.io-index" 1880 + checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" 1881 + 1882 + [[package]] 1883 + name = "windows_x86_64_gnullvm" 1884 + version = "0.53.1" 1885 + source = "registry+https://github.com/rust-lang/crates.io-index" 1886 + checksum = "0ffa179e2d07eee8ad8f57493436566c7cc30ac536a3379fdf008f47f6bb7ae1" 1887 + 1888 + [[package]] 1889 + name = "windows_x86_64_msvc" 1890 + version = "0.52.6" 1891 + source = "registry+https://github.com/rust-lang/crates.io-index" 1892 + checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" 1893 + 1894 + [[package]] 1895 + name = "windows_x86_64_msvc" 1896 + version = "0.53.1" 1897 + source = "registry+https://github.com/rust-lang/crates.io-index" 1898 + checksum = "d6bbff5f0aada427a1e5a6da5f1f98158182f26556f345ac9e04d36d0ebed650" 1899 + 1900 + [[package]] 1901 + name = "wit-bindgen" 1902 + version = "0.51.0" 1903 + source = "registry+https://github.com/rust-lang/crates.io-index" 1904 + checksum = "d7249219f66ced02969388cf2bb044a09756a083d0fab1e566056b04d9fbcaa5" 1905 + 1906 + [[package]] 1907 + name = "zerocopy" 1908 + version = "0.8.38" 1909 + source = "registry+https://github.com/rust-lang/crates.io-index" 1910 + checksum = "57cf3aa6855b23711ee9852dfc97dfaa51c45feaba5b645d0c777414d494a961" 1911 + dependencies = [ 1912 + "zerocopy-derive", 1913 + ] 1914 + 1915 + [[package]] 1916 + name = "zerocopy-derive" 1917 + version = "0.8.38" 1918 + source = "registry+https://github.com/rust-lang/crates.io-index" 1919 + checksum = "8a616990af1a287837c4fe6596ad77ef57948f787e46ce28e166facc0cc1cb75" 1920 + dependencies = [ 1921 + "proc-macro2", 1922 + "quote", 1923 + "syn", 1924 + ] 1925 + 1926 + [[package]] 1927 + name = "zeroize" 1928 + version = "1.8.2" 1929 + source = "registry+https://github.com/rust-lang/crates.io-index" 1930 + checksum = "b97154e67e32c85465826e8bcc1c59429aaaf107c1e4a9e53c8d8ccd5eff88d0" 1931 + 1932 + [[package]] 1933 + name = "zmij" 1934 + version = "1.0.19" 1935 + source = "registry+https://github.com/rust-lang/crates.io-index" 1936 + checksum = "3ff05f8caa9038894637571ae6b9e29466c1f4f829d26c9b28f869a29cbe3445"
+20
Cargo.toml
··· 1 + [package] 2 + name = "kaap" 3 + version = "0.1.0" 4 + edition = "2024" 5 + 6 + [dependencies] 7 + anyhow = "1.0.100" 8 + k8s-openapi = { version = "0.27.0", features = ["latest", "schemars"] } 9 + kube = { version = "3.0.1", features = ["runtime", "derive"] } 10 + schemars = "1" 11 + serde = { version = "1.0.228", features = ["derive"] } 12 + serde_json = "1.0.149" 13 + tokio = { version = "1.49.0", features = ["full"] } 14 + tokio-macros = "2.6.0" 15 + 16 + [[bin]] 17 + name = "manager" 18 + 19 + [[bin]] 20 + name = "crdgen"
-3
go.mod
··· 1 - module go.nesv.ca/kube 2 - 3 - go 1.25.7
+1
src/api/mod.rs
··· 1 + pub mod v1alpha1;
+46
src/api/v1alpha1/application.rs
··· 1 + use k8s_openapi::apimachinery::pkg::api::resource::Quantity; 2 + use k8s_openapi::apimachinery::pkg::apis::meta::v1::Condition; 3 + use kube::CustomResource; 4 + use schemars::JsonSchema; 5 + use serde::{Deserialize, Serialize}; 6 + 7 + #[derive(CustomResource, Debug, Serialize, Deserialize, Default, Clone, JsonSchema)] 8 + #[kube( 9 + group = "kaap.nesv.ca", 10 + version = "v1alpha1", 11 + kind = "Application", 12 + plural = "apps", 13 + status = "ApplicationStatus", 14 + namespaced 15 + )] 16 + pub struct ApplicationSpec { 17 + pub replicas: Option<i32>, 18 + pub image: String, 19 + pub memory: Quantity, 20 + pub ports: Option<Vec<ApplicationPort>>, 21 + } 22 + 23 + #[derive(Debug, Clone, JsonSchema, Serialize, Deserialize)] 24 + pub struct ApplicationPort { 25 + /// The name of the port. It must be unique across all port definitions. While required, this 26 + /// is mostly used for diagnostic purposes. 27 + pub name: String, 28 + /// The port exposed by this application. 29 + /// This is the port clients will be expected to connect to. 30 + pub port: i32, 31 + /// Maps the external `port` to a different port on the container. This allows the container to 32 + /// listen on an unprivileged port. 33 + /// 34 + /// For example, the application may specify an external port 443 for HTTPS clients, but listen 35 + /// on port 8443 within the container. 36 + pub container_port: Option<i32>, 37 + /// The IP protocol for this port. Supports "TCP", "UDP", and "SCTP". Defaults to "TCP". 38 + pub protocol: Option<String>, 39 + } 40 + 41 + #[derive(Debug, Clone, Serialize, Deserialize, PartialEq, JsonSchema)] 42 + pub struct ApplicationStatus { 43 + #[serde(default, skip_serializing_if = "Vec::is_empty")] 44 + // #[schemars(schema_with = "conditions")] 45 + pub conditions: Vec<Condition>, 46 + }
+2
src/api/v1alpha1/mod.rs
··· 1 + mod application; 2 + pub use application::{Application, ApplicationPort, ApplicationSpec};
+13
src/bin/crdgen.rs
··· 1 + //! Generate and write the custom resource definitions (CRDs). 2 + 3 + use anyhow::Result; 4 + use kube::core::crd::CustomResourceExt; 5 + 6 + use kaap::api::v1alpha1::Application; 7 + 8 + fn main() -> Result<()> { 9 + let app_crd = Application::crd(); 10 + println!("{}", serde_json::to_string_pretty(&app_crd)?); 11 + 12 + Ok(()) 13 + }
+12
src/bin/manager.rs
··· 1 + use anyhow::Result; 2 + // use k8s_openapi::apiextensions_apiserver::pkg::apis::apiextensions::v1::CustomResourceDefinition; 3 + use kube::core::crd::CustomResourceExt; 4 + 5 + use kaap::api::v1alpha1::Application; 6 + 7 + #[tokio::main] 8 + async fn main() -> Result<()> { 9 + let app_crd = Application::crd(); 10 + println!("{}", serde_json::to_string_pretty(&app_crd)?); 11 + Ok(()) 12 + }
+16
src/lib.rs
··· 1 + pub mod api; 2 + 3 + pub fn add(left: u64, right: u64) -> u64 { 4 + left + right 5 + } 6 + 7 + #[cfg(test)] 8 + mod tests { 9 + use super::*; 10 + 11 + #[test] 12 + fn it_works() { 13 + let result = add(2, 2); 14 + assert_eq!(result, 4); 15 + } 16 + }