alexellis / arkade

Open Source Marketplace For Developer Tools
https://blog.alexellis.io/kubernetes-marketplace-two-year-update/
MIT License
4.24k stars 287 forks source link

Add K10 binaries as part of sponsored app #465

Closed alexellis closed 3 years ago

alexellis commented 3 years ago

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:

alexellis commented 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 
MichaelCade commented 3 years ago

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?

alexellis commented 3 years ago

9ad75ff renames kanister to kanctl

alexellis commented 3 years ago

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$