Is wxctl infrastructure-as-code?
Is wxctl infrastructure-as-code?
No. Infrastructure-as-code tools like Terraform and Pulumi provision infrastructure: VMs, networks, DNS. wxctl manages IBM product resources (AI agents, governance policies, data catalogs, object storage) that span services with incompatible identifier schemes. The two are complementary: IaC stands up the platform, wxctl declares the product resources on it. See How wxctl compares.
How do I install wxctl?
How do I install wxctl?
On macOS or Linux, run the install script, which downloads the release binary for your platform, verifies its SHA-256 checksum, and installs it to On Windows, run To build from source instead, use Rust 1.88 or newer (
~/.local/bin:irm https://raw.githubusercontent.com/randyphoa/wxctl/main/install.ps1 | iex in PowerShell. As an alternative on any platform, install with npm, which skips the macOS Gatekeeper and Windows SmartScreen prompts:cargo build --release). Upgrade with wxctl update, or npm update -g wxctl for npm installs. Package-manager channels (Homebrew, cargo install) are on the roadmap. See Installation.What is the difference between SaaS and Software authentication?
What is the difference between SaaS and Software authentication?
SaaS services authenticate with an IBM Cloud API key (
auth_type: apikey). Software services (Cloud Pak for Data / Software Hub) use cp4d (username + password) or zenapikey (username + API key). apikey is rejected on Software and zenapikey on SaaS. Object-storage services use hmac. See Profiles & credentials.Why are resource IDs resolved at execution time?
Why are resource IDs resolved at execution time?
Because it makes the same config portable. You reference resources by
${kind.ref_name} instead of a literal ID. wxctl resolves each reference into whatever the consuming API expects (UUID, GUID, href, CRN, or a nested object) at execution time. With no embedded IDs, the same YAML runs unchanged across dev, staging, and prod. See Declarative model.Does wxctl keep a state file?
Does wxctl keep a state file?
No. wxctl reconciles your config against live API state on every run, so there is no local state file to store, share, or drift. This is what makes re-applying an unchanged config a no-op. See Pipeline.
How do I reset a profile?
How do I reset a profile?
Re-run
wxctl init -p <name> --force to re-scaffold a named profile to placeholders (other profiles and preferences are preserved), or delete ~/.wxctl/profiles.yaml to start fresh. The active profile is resolved as -p flag, then WXCTL_PROFILE, then ~/.wxctl/active_profile, then default. See Profiles & credentials.Next steps
How wxctl compares
wxctl next to Terraform, Pulumi, and Ansible.
Quickstart
Declare resources and run your first plan.

