Command Reference

This the list of all command available within k3ai

To get the list simply type k3ai -h

 k3ai is a lightweight infrastructure-in-a-box solution specifically built to
 install and configure AI tools and platforms in production environments on Edge
 and IoT devices as easily as local test environments.

Usage:
  k3ai [command]

Available Commands:
  apply       Apply a plugin or a plugin group
  delete      Delete a plugin or a plugin group
  help        Help about any command
  init        Initialize K3ai Client
  list        List all plugins or plugin groups
  version     Print CLI version

Flags:
  -h, --help          help for k3ai-cli
      --repo string   URI for the plugins repository.  

Use "k3ai-cli [command] --help" for more information about a command.

Apply

with apply you deploy the various plugins or group-plugins.

Apply a plugin or a plugin group

Usage:
  k3ai apply <plugin_name> [flags]

Flags:
  -g, --group   Apply a plugin group
  -h, --help    help for apply

Global Flags:
      --repo string   URI for the plugins repository.  
      (default "https://api.github.com/repos/kf5i/k3ai-plugins/contents/core/")

Init

With init you may deploy a cluster either local or remote

Initialize K3ai Client, allowing user to deploy a new K8's cluster, 
list plugins and groups

Usage:
  k3ai init [flags]

Examples:
k3ai init                                   #Will use config from $HOME/.k3ai/config.yaml and use interactive menus
k3ai init --config /myfolder/myconfig.yaml  #Use a custom config.yaml in another location(local or remote)
k3ai init --local k3s                       #Use config target marked local and of type k3s
k3ai init --cloud civo                      #Use config target marked as cloud and of type civo

Flags:
      --cloud string    Options availabe for cloud providers
      --config string   Custom config file [default is $HOME/.k3ai/config.yaml] (default "/.k3ai/config.yaml")
  -h, --help            help for init
      --local string    Options availabe k3s,k0s,kind

Global Flags:
      --repo string   URI for the plugins repository.  
      (default "https://api.github.com/repos/kf5i/k3ai-plugins/contents/core/")

List

List is used to retrieve the available plugins or group-plugins

List all plugins or plugin groups

Usage:
  k3ai list [flags]

Flags:
  -g, --group   List the plugin groups
  -h, --help    help for list

Global Flags:
      --repo string   URI for the plugins repository.  
      (default "https://api.github.com/repos/kf5i/k3ai-plugins/contents/core/")

Delete

Delete is used to remove a deployed plugin

Delete a plugin or a plugin group

Usage:
  k3ai delete <plugin_name> [flags]

Flags:
  -g, --group   Delete a plugin group
  -h, --help    help for delete

Global Flags:
      --repo string   URI for the plugins repository.  
      (default "https://api.github.com/repos/kf5i/k3ai-plugins/contents/core/")

k3ai use a config file to support auomated deployment of cluster through the init command.

The sample template install by defauly KinD

kind: cluster
targetCustomizations:
- name: localK3s #name of the cluster instance not the name of the cluster
  enabled: false
  type: k3s
  config: "/etc/rancher/k3s/k3s.yaml" #default location of config file or your existing config file to copy
  clusterName: demo-wsl-k3s #name of the cluster (this need to be the same as in a config file)
  clusterDeployment: local
  clusterStart: "sudo bash -ic 'k3s server --write-kubeconfig-mode 644 > /dev/null 2>&1 &'"
  spec:
  # If the OS is not needed may be removed so the three below are mutually exclusive, if not needed set them to null or remove it
    wsl: "https://github.com/rancher/k3s/releases/download/v1.19.4%2Bk3s1/k3s"
    mac: 
    linux: "https://get.k3s.io | K3S_KUBECONFIG_MODE=644 sh -s -"
    windows: 
    # Everything from this repo will be ran in this cluster. You trust me right?
  plugins: 
  - repo: 
    name: 
  - repo: 
    name: 

- name: localK0s #name of the cluster instance not the name of the cluster
  enabled: false
  type: k0s
  config: "${HOME}/.k3ai/kubeconfig" #default location of config file or your existing config file to copy
  clusterName: demo-wsl-k0s #name of the cluster (this need to be the same as in a config file)
  clusterDeployment: local
  clusterStart: "k0s default-config | tee ${HOME}/.k3ai/k0s.yaml && sudo bash -ic 'k0s server -c ${HOME}/.k3ai/k0s.yaml --enable-worker > /dev/null 2>&1 &' && sudo cat /var/lib/k0s/pki/admin.conf > $HOME/.k3ai/k0s-config"
  spec:
  # If the OS is not needed may be removed so the three below are mutually exclusive, if not needed set them to null or remove it
    wsl: "https://github.com/k0sproject/k0s/releases/download/v0.8.1/k0s-v0.8.1-amd64"
    mac: 
    linux: "https://github.com/k0sproject/k0s/releases/download/v0.8.1/k0s-v0.8.1-amd64"
    windows:
    # Everything from this repo will be ran in this cluster. You trust me right?
  plugins: 
  - repo: 
    name: 
  - repo: 
    name: 

- name: localKind #name of the cluster instance not the name of the cluster
  enabled: true
  type: kind
  config:  #default location of config file or your existing config file to copy
  clusterName: demo-win-kind #name of the cluster (this need to be the same as in a config file)
  clusterDeployment: local
  clusterStart: "kind create cluster"
  spec:
  # If the OS is not needed may be removed so the three below are mutually exclusive, if not needed set them to null or remove it
    wsl: "https://kind.sigs.k8s.io/dl/v0.9.0/kind-linux-amd64"
    mac: "https://kind.sigs.k8s.io/dl/v0.9.0/kind-darwin-amd64"
    linux: "https://kind.sigs.k8s.io/dl/v0.9.0/kind-linux-amd64"
    windows: "https://kind.sigs.k8s.io/dl/v0.9.0/kind-windows-amd64"
    # Everything from this repo will be ran in this cluster. You trust me right?
  plugins: 
  - repo: 
    name: jupyter-minimal
  - repo: 
    name: 

- name: localK3d #name of the cluster instance not the name of the cluster
  enabled: false
  type: k3d
  config:  #default location of config file or your existing config file to copy
  clusterName: demo-win-k3d #name of the cluster (this need to be the same as in a config file)
  clusterDeployment: local
  clusterStart: "k3d cluster create"
  spec:
  # If the OS is not needed may be removed so the three below are mutually exclusive, if not needed set them to null or remove it
    wsl: "https://kind.sigs.k8s.io/dl/v0.9.0/kind-linux-amd64"
    mac: "https://kind.sigs.k8s.io/dl/v0.9.0/kind-darwin-amd64"
    linux: "https://kind.sigs.k8s.io/dl/v0.9.0/kind-linux-amd64"
    windows: "https://github.com/rancher/k3d/releases/download/v3.4.0-test.0/k3d-windows-amd64.exe"
    # Everything from this repo will be ran in this cluster. You trust me right?
  plugins: 
  - repo: 
    name: jupyter-minimal
  - repo: 
    name: 

- name: remoteK3s #name of the cluster instance not the name of the cluster
  enabled: false
  type: k3s
  config: remote #default location of config file or your existing config file to copy  if Remote will be copy from remote location
  clusterName: demo-cluster-remote #name of the cluster (this need to be the same as in a config file)
  clusterDeployment: cloud
  clusterStart: 
  spec:
  # If the OS is not needed may be removed so the three below are mutually exclusive, if not needed set them to null or remove it
    wsl: 
    mac: 
    linux:
    windows:
    cloudType: civo
    cloudNodes: 1
    cloudSecretPath: $HOME/.k3ai/secret.txt
    # Everything from this repo will be ran in this cluster. You trust me right?
  plugins: 
  - repo: "https://github.com/alfsuse/demo-plugins"
    name: "demo"
  - repo: "https://github.com/alfsuse/demo-plugins-2"
    name: "demo2"

Last updated