Install¶
You can use cxcli
by installing a pre-compiled binary (in several ways), using Docker, or compiling it from source. In the below sections, you can find the steps for each approach.
Install a pre-compiled binary¶
homebrew tap¶
- Add the Homebrew tap:
brew tap xavidop/tap git@github.com:xavidop/homebrew-tap.git brew update
- Install the Dialogflow CX CLI:
brew install cxcli
snapcraft¶
sudo snap install cxcli
scoop¶
scoop bucket add cxcli https://github.com/xavidop/scoop-bucket.git
scoop install cxcli
apt¶
echo 'deb [trusted=yes] https://apt.fury.io/xavidop/ /' | sudo tee /etc/apt/sources.list.d/cxcli.list
sudo apt update
sudo apt install cxcli
yum¶
echo '[cxcli]
name=Dialogflow CX CLI Repo
baseurl=https://yum.fury.io/xavidop/
enabled=1
gpgcheck=0' | sudo tee /etc/yum.repos.d/cxcli.repo
sudo yum install cxcli
aur¶
yay -S cxcli-bin
nix¶
nixpkgs¶
nix-env -iA cxcli
Info
The package in nixpkgs might be slightly outdated, as it is not updated automatically. Use our NUR to always get the latest updates.
nur¶
First, you'll need to add our NUR to your nix configuration. You can follow the guides here.
Once you do that, you can install the packages.
{ pkgs, lib, ... }: {
home.packages = with pkgs; [
nur.repos.xavidop.cxcli
];
}
deb, rpm and apk packages¶
Download the .deb
, .rpm
or .apk
packages from the OSS releases page and install them with the appropriate tools.
go install¶
go install github.com/xavidop/dialogflow-cx-cli@latest
bash script¶
curl -sfL https://cxcli.xavidop.me/static/run | bash
Additional Options¶
You can also set the VERSION
variable to specify
a version instead of using latest.
You can also pass flags and args to cxcli:
curl -sfL https://cxcli.xavidop.me/static/run |
VERSION=__VERSION__ bash -s -- version
Tip
This script does not install anything, it just downloads, verifies and runs cxcli. Its purpose is to be used within scripts and CIs.
manually¶
Download the pre-compiled binaries from the releases page and copy them to the desired location.
Verifying the artifacts¶
binaries¶
All artifacts are checksummed, and the checksum file is signed with cosign.
- Download the files you want along with the
checksums.txt
,checksum.txt.pem
, andchecksums.txt.sig
files from the releases page:wget https://github.com/xavidop/dialogflow-cx-cli/releases/download/__VERSION__/checksums.txt wget https://github.com/xavidop/dialogflow-cx-cli/releases/download/__VERSION__/checksums.txt.sig wget https://github.com/xavidop/dialogflow-cx-cli/releases/download/__VERSION__/checksums.txt.pem
- Verify the signature:
COSIGN_EXPERIMENTAL=1 cosign verify-blob \ --cert checksums.txt.pem \ --signature checksums.txt.sig \ checksums.txt
- If the signature is valid, you can then verify the SHA256 sums match with the downloaded binary:
sha256sum --ignore-missing -c checksums.txt
docker images¶
Our Docker images are signed with cosign.
Verify the signatures:
COSIGN_EXPERIMENTAL=1 cosign verify xavidop/cxcli
Info
The .pem
and .sig
files are the image name:tag
, replacing /
and :
with -
.
Running with Docker¶
You can also use cxcli
within a Docker container.
To do that, you'll need to execute something more-or-less like the examples below.
Registries:
Example usage:
docker run --rm \
xavidop/cxcli cxcli version
Note that the image will almost always have the last stable Go version.
If you need other packages and dependencies, you are encouraged to keep your own image. You can always use cxcli's own Dockerfile as a starting point and iterate on that.
Compiling from source¶
Here you have two options:
If you want to contribute to the project, please follow the steps on our contributing guide.
If you just want to build from source for whatever reason, follow these steps:
clone:
git clone https://github.com/xavidop/dialogflow-cx-cli
cd dialogflow-cx-cli
get the dependencies:
go mod tidy
build:
go build -o cxcli .
verify that it works:
./cxcli version