proxctl 0.2.3__tar.gz → 0.2.4__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.
- {proxctl-0.2.3 → proxctl-0.2.4}/CHANGELOG.md +7 -0
- {proxctl-0.2.3 → proxctl-0.2.4}/Cargo.lock +1 -1
- {proxctl-0.2.3 → proxctl-0.2.4}/Cargo.toml +1 -1
- {proxctl-0.2.3 → proxctl-0.2.4}/PKG-INFO +1 -1
- {proxctl-0.2.3 → proxctl-0.2.4}/src/main.rs +54 -5
- {proxctl-0.2.3 → proxctl-0.2.4}/.github/workflows/ci.yml +0 -0
- {proxctl-0.2.3 → proxctl-0.2.4}/.github/workflows/release.yml +0 -0
- {proxctl-0.2.3 → proxctl-0.2.4}/.gitignore +0 -0
- {proxctl-0.2.3 → proxctl-0.2.4}/LICENSE +0 -0
- {proxctl-0.2.3 → proxctl-0.2.4}/Makefile +0 -0
- {proxctl-0.2.3 → proxctl-0.2.4}/README.md +0 -0
- {proxctl-0.2.3 → proxctl-0.2.4}/prek.toml +0 -0
- {proxctl-0.2.3 → proxctl-0.2.4}/proxctl_py/__init__.py +0 -0
- {proxctl-0.2.3 → proxctl-0.2.4}/proxctl_py/__main__.py +0 -0
- {proxctl-0.2.3 → proxctl-0.2.4}/pyproject.toml +0 -0
- {proxctl-0.2.3 → proxctl-0.2.4}/src/api/client.rs +0 -0
- {proxctl-0.2.3 → proxctl-0.2.4}/src/api/error.rs +0 -0
- {proxctl-0.2.3 → proxctl-0.2.4}/src/api/mod.rs +0 -0
- {proxctl-0.2.3 → proxctl-0.2.4}/src/api/token.rs +0 -0
- {proxctl-0.2.3 → proxctl-0.2.4}/src/api/types.rs +0 -0
- {proxctl-0.2.3 → proxctl-0.2.4}/src/commands/access.rs +0 -0
- {proxctl-0.2.3 → proxctl-0.2.4}/src/commands/api.rs +0 -0
- {proxctl-0.2.3 → proxctl-0.2.4}/src/commands/apply/container.rs +0 -0
- {proxctl-0.2.3 → proxctl-0.2.4}/src/commands/apply/diff.rs +0 -0
- {proxctl-0.2.3 → proxctl-0.2.4}/src/commands/apply/firewall.rs +0 -0
- {proxctl-0.2.3 → proxctl-0.2.4}/src/commands/apply/manifest.rs +0 -0
- {proxctl-0.2.3 → proxctl-0.2.4}/src/commands/apply/mod.rs +0 -0
- {proxctl-0.2.3 → proxctl-0.2.4}/src/commands/apply/reconciler.rs +0 -0
- {proxctl-0.2.3 → proxctl-0.2.4}/src/commands/apply/vm.rs +0 -0
- {proxctl-0.2.3 → proxctl-0.2.4}/src/commands/backup.rs +0 -0
- {proxctl-0.2.3 → proxctl-0.2.4}/src/commands/ceph.rs +0 -0
- {proxctl-0.2.3 → proxctl-0.2.4}/src/commands/cluster.rs +0 -0
- {proxctl-0.2.3 → proxctl-0.2.4}/src/commands/container/config.rs +0 -0
- {proxctl-0.2.3 → proxctl-0.2.4}/src/commands/container/firewall.rs +0 -0
- {proxctl-0.2.3 → proxctl-0.2.4}/src/commands/container/lifecycle.rs +0 -0
- {proxctl-0.2.3 → proxctl-0.2.4}/src/commands/container/migrate.rs +0 -0
- {proxctl-0.2.3 → proxctl-0.2.4}/src/commands/container/mod.rs +0 -0
- {proxctl-0.2.3 → proxctl-0.2.4}/src/commands/container/snapshot.rs +0 -0
- {proxctl-0.2.3 → proxctl-0.2.4}/src/commands/export.rs +0 -0
- {proxctl-0.2.3 → proxctl-0.2.4}/src/commands/firewall.rs +0 -0
- {proxctl-0.2.3 → proxctl-0.2.4}/src/commands/mod.rs +0 -0
- {proxctl-0.2.3 → proxctl-0.2.4}/src/commands/node.rs +0 -0
- {proxctl-0.2.3 → proxctl-0.2.4}/src/commands/pool.rs +0 -0
- {proxctl-0.2.3 → proxctl-0.2.4}/src/commands/storage.rs +0 -0
- {proxctl-0.2.3 → proxctl-0.2.4}/src/commands/task.rs +0 -0
- {proxctl-0.2.3 → proxctl-0.2.4}/src/commands/vm/agent.rs +0 -0
- {proxctl-0.2.3 → proxctl-0.2.4}/src/commands/vm/cloudinit.rs +0 -0
- {proxctl-0.2.3 → proxctl-0.2.4}/src/commands/vm/config.rs +0 -0
- {proxctl-0.2.3 → proxctl-0.2.4}/src/commands/vm/firewall.rs +0 -0
- {proxctl-0.2.3 → proxctl-0.2.4}/src/commands/vm/lifecycle.rs +0 -0
- {proxctl-0.2.3 → proxctl-0.2.4}/src/commands/vm/migrate.rs +0 -0
- {proxctl-0.2.3 → proxctl-0.2.4}/src/commands/vm/mod.rs +0 -0
- {proxctl-0.2.3 → proxctl-0.2.4}/src/commands/vm/snapshot.rs +0 -0
- {proxctl-0.2.3 → proxctl-0.2.4}/src/lib.rs +0 -0
- {proxctl-0.2.3 → proxctl-0.2.4}/src/output.rs +0 -0
- {proxctl-0.2.3 → proxctl-0.2.4}/src/schema.rs +0 -0
|
@@ -5,6 +5,13 @@ All notable changes to this project will be documented in this file.
|
|
|
5
5
|
|
|
6
6
|
|
|
7
7
|
|
|
8
|
+
|
|
9
|
+
## [0.2.4](https://github.com/rvben/proxctl/compare/v0.2.3...v0.2.4) - 2026-04-03
|
|
10
|
+
|
|
11
|
+
### Added
|
|
12
|
+
|
|
13
|
+
- **init**: add API docs URL, colored output, and next steps to config init ([53e3ca9](https://github.com/rvben/proxctl/commit/53e3ca91dfd0f448205afb8da4902ace2c98880f))
|
|
14
|
+
|
|
8
15
|
## [0.2.3](https://github.com/rvben/proxctl/compare/v0.2.2...v0.2.3) - 2026-04-03
|
|
9
16
|
|
|
10
17
|
## [0.2.2](https://github.com/rvben/proxctl/compare/v0.2.1...v0.2.2) - 2026-04-03
|
|
@@ -537,6 +537,24 @@ fn normalize_host(host: &str) -> String {
|
|
|
537
537
|
}
|
|
538
538
|
}
|
|
539
539
|
|
|
540
|
+
fn sym_ok() -> String {
|
|
541
|
+
use owo_colors::OwoColorize;
|
|
542
|
+
if proxctl::output::use_color() {
|
|
543
|
+
"✔".green().to_string()
|
|
544
|
+
} else {
|
|
545
|
+
"✔".to_owned()
|
|
546
|
+
}
|
|
547
|
+
}
|
|
548
|
+
|
|
549
|
+
fn sym_dim(s: &str) -> String {
|
|
550
|
+
use owo_colors::OwoColorize;
|
|
551
|
+
if proxctl::output::use_color() {
|
|
552
|
+
s.dimmed().to_string()
|
|
553
|
+
} else {
|
|
554
|
+
s.to_owned()
|
|
555
|
+
}
|
|
556
|
+
}
|
|
557
|
+
|
|
540
558
|
async fn run_config_init() -> Result<(), Error> {
|
|
541
559
|
use dialoguer::{Confirm, Input};
|
|
542
560
|
|
|
@@ -589,7 +607,9 @@ async fn run_config_init() -> Result<(), Error> {
|
|
|
589
607
|
.map_err(|e| Error::Other(format!("failed to read password: {e}")))?;
|
|
590
608
|
|
|
591
609
|
// Step 6: Verify credentials — POST to /api2/json/access/ticket
|
|
592
|
-
|
|
610
|
+
let sep = sym_dim("──────────────");
|
|
611
|
+
eprintln!();
|
|
612
|
+
eprintln!(" Connecting to {base_url} ...");
|
|
593
613
|
|
|
594
614
|
let http = reqwest::Client::builder()
|
|
595
615
|
.danger_accept_invalid_certs(insecure)
|
|
@@ -627,7 +647,16 @@ async fn run_config_init() -> Result<(), Error> {
|
|
|
627
647
|
.ok_or_else(|| Error::Auth("ticket response missing data.CSRFPreventionToken".to_string()))?
|
|
628
648
|
.to_string();
|
|
629
649
|
|
|
630
|
-
|
|
650
|
+
eprintln!(" {} Authenticated", sym_ok());
|
|
651
|
+
eprintln!();
|
|
652
|
+
eprintln!(
|
|
653
|
+
" {}",
|
|
654
|
+
sym_dim(&format!(
|
|
655
|
+
"API docs: {base_url}/pve-docs/api-viewer/index.html"
|
|
656
|
+
))
|
|
657
|
+
);
|
|
658
|
+
eprintln!();
|
|
659
|
+
eprintln!(" Creating API token ...");
|
|
631
660
|
|
|
632
661
|
// Step 7: Create API token
|
|
633
662
|
let token_id = "proxctl";
|
|
@@ -644,7 +673,7 @@ async fn run_config_init() -> Result<(), Error> {
|
|
|
644
673
|
|
|
645
674
|
let token_json: serde_json::Value = if create_resp.status().as_u16() == 400 {
|
|
646
675
|
// Token already exists — delete it and recreate
|
|
647
|
-
|
|
676
|
+
eprintln!(" Token already exists, recreating ...");
|
|
648
677
|
|
|
649
678
|
let del_resp = http
|
|
650
679
|
.delete(&token_url)
|
|
@@ -705,8 +734,28 @@ async fn run_config_init() -> Result<(), Error> {
|
|
|
705
734
|
insecure,
|
|
706
735
|
)?;
|
|
707
736
|
|
|
708
|
-
|
|
709
|
-
|
|
737
|
+
eprintln!();
|
|
738
|
+
eprintln!(
|
|
739
|
+
" {} Configuration saved to {}",
|
|
740
|
+
sym_ok(),
|
|
741
|
+
config_path.display()
|
|
742
|
+
);
|
|
743
|
+
eprintln!();
|
|
744
|
+
eprintln!("{sep}");
|
|
745
|
+
eprintln!(" Next steps:");
|
|
746
|
+
eprintln!(
|
|
747
|
+
" {}",
|
|
748
|
+
sym_dim("proxctl health # verify connectivity")
|
|
749
|
+
);
|
|
750
|
+
eprintln!(
|
|
751
|
+
" {}",
|
|
752
|
+
sym_dim("proxctl vm list # list virtual machines")
|
|
753
|
+
);
|
|
754
|
+
eprintln!(
|
|
755
|
+
" {}",
|
|
756
|
+
sym_dim("proxctl completions zsh # shell completions")
|
|
757
|
+
);
|
|
758
|
+
eprintln!("{sep}");
|
|
710
759
|
|
|
711
760
|
Ok(())
|
|
712
761
|
}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|