Closed alexellis closed 3 years ago
@MichaelCade I think I assumed that I would find a kannister CLI in the archive, but there's three binaries.
Could you comment on which CLI should be downloaded in the three cases?
arkade get kanister
Do we want kanctl
or kando
? I was expecting a CLI named kanister
, so it feels like we should rename the download to match i.e. arkade get kanctl
. It's worth nothing that neither CLI is used on the project webpage
arkade get kubestr -> kubestr from kastenhq/kubestr
arkade get k10multicluster -> k10multicluster from external-tools
arkade get k10tools -> k10tools from external-tools
There are two command-line tools that are built within the Kanister repository.
Although all Kanister custom resources can be managed using kubectl, there are situations where this may be cumbersome. A canonical example of this is backup/restore - Manually creating a restore ActionSet requires copying Artifacts from the status of the complete backup ActionSet, which is an error prone process. kanctl simplifies this process by allowing the user to create custom Kanister resources - ActionSets and Profiles, override existing ActionSets and validate profiles.
A common use case for Kanister is to transfer data between Kubernetes and an object store like AWS S3. We've found it can be cumbersome to pass Profile configuration to tools like the AWS command line from inside Blueprints.
These are related to the open source project kanister, this is related to the open source project https://kanister.io/ which is used within the commercial product Kasten K10.
Is that clear?
9ad75ff renames kanister to kanctl
Here we are:
alex@alex-nuc8:~/go/src/github.com/alexellis/arkade$ go build && ./arkade get k10multicluster
Downloading: k10multicluster
https://github.com/kastenhq/external-tools/releases/download/4.0.6/k10multicluster_4.0.6_linux_amd64
43.72 MiB / 43.72 MiB [------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------] 100.00%
Tool written to: /home/alex/.arkade/bin/k10multicluster
# Add (k10multicluster) to your PATH variable
export PATH=$PATH:$HOME/.arkade/bin/
# Test the binary:
/home/alex/.arkade/bin/k10multicluster
# Or install with:
sudo mv /home/alex/.arkade/bin/k10multicluster /usr/local/bin/
alex@alex-nuc8:~/go/src/github.com/alexellis/arkade$ go build && ./arkade get k10tools
Downloading: k10tools
https://github.com/kastenhq/external-tools/releases/download/4.0.6/k10tools_4.0.6_linux_amd64
85.91 MiB / 85.91 MiB [------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------] 100.00%
Tool written to: /home/alex/.arkade/bin/k10tools
# Add (k10tools) to your PATH variable
export PATH=$PATH:$HOME/.arkade/bin/
# Test the binary:
/home/alex/.arkade/bin/k10tools
# Or install with:
sudo mv /home/alex/.arkade/bin/k10tools /usr/local/bin/
alex@alex-nuc8:~/go/src/github.com/alexellis/arkade$ go build && ./arkade get kanctl
Downloading: kanctl
https://github.com/kanisterio/kanister/releases/download/0.63.0/kanister_0.63.0_linux_amd64.tar.gz
44.76 MiB / 44.76 MiB [------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------] 100.00%
/tmp/LICENSE LICENSE
/tmp/README.md README.md
/tmp/kanctl kanctl
/tmp/kando kando
/tmp/controller controller
2021/08/05 10:37:55 extracted tarball into /tmp: 5 files, 0 dirs (1.121470384s)
Tool written to: /home/alex/.arkade/bin/kanctl
# Add (kanctl) to your PATH variable
export PATH=$PATH:$HOME/.arkade/bin/
# Test the binary:
/home/alex/.arkade/bin/kanctl
# Or install with:
sudo mv /home/alex/.arkade/bin/kanctl /usr/local/bin/
And testing them:
alex@alex-nuc8:~/go/src/github.com/alexellis/arkade$ export PATH=$PATH:$HOME/.arkade/bin/
alex@alex-nuc8:~/go/src/github.com/alexellis/arkade$ kanctl
A set of helpers to help with management of Kanister custom resources
Usage:
kanctl [command]
Available Commands:
create Create a custom kanister resource
help Help about any command
validate Validate custom Kanister resources
Flags:
-h, --help help for kanctl
-n, --namespace string Override namespace obtained from kubectl context
--verbose Display verbose output
-v, --version version for kanctl
Use "kanctl [command] --help" for more information about a command.
alex@alex-nuc8:~/go/src/github.com/alexellis/arkade$ k10multicluster
k10multicluster is a tool that manages clusters for global multi-cluster dashboard.
Usage:
k10multicluster [command]
Available Commands:
bootstrap Run the bootstrap command
help Help about any command
kubeconfig Commands to work with kubeconfig files
remove Run the remove command
setup-primary Run the setup-Primary command
Flags:
-h, --help help for k10multicluster
Use "k10multicluster [command] --help" for more information about a command.
alex@alex-nuc8:~/go/src/github.com/alexellis/arkade$ k10tools
The k10tools command contains a set of tools for evaluating and debugging K10
Usage:
k10tools [command]
Available Commands:
debug Debug commands related to K10
help Help about any command
k10genericbackup A tool to make Kubernetes workloads compatible for K10 Generic Storage Backup
primer A tool to ensure your cluster can run K10
Flags:
-h, --help help for k10tools
-o, --output string Options(json)
Use "k10tools [command] --help" for more information about a command.
alex@alex-nuc8:~/go/src/github.com/alexellis/arkade$
Add K10 binaries as part of sponsored app
Kasten will be the second sponsored app for arkade - Kasten provides a complete backup solution for Kubernetes apps including persistent volumes and multi-cluster support.
Binaries to add to arkade get:
Questions/observations: