- I wrote a scripts to copy and generate all commands missing in iris from fig repo: https://github.com/withfig/autocomplete - Add a new script to generate commands docs about which commands currently are inside commands folder 377d4aac663590e504fe39a92eb4dac4cbd333b2 - Add more icons e64d4e70a1db61e62053460a882e093bd6373ab1
100 lines
6.5 KiB
Go
100 lines
6.5 KiB
Go
package ops
|
|
|
|
import (
|
|
"github.com/versenilvis/iris/commands/core"
|
|
)
|
|
|
|
func init() {
|
|
core.Register(&core.Spec{
|
|
Name: "k3d",
|
|
Description: "Little helper to run k3s in Docker",
|
|
Subcommands: []core.Subcommand{
|
|
{Name: "cluster", Description: "Manage k3s clusters"},
|
|
{Name: "create", Description: "Create a new k3s cluster"},
|
|
{Name: "cluster name", Description: "Name of the cluster to create"},
|
|
{Name: "number of agents", Description: "Number of agents to create"},
|
|
{Name: "memory limit", Description: "Memory limit imposed on the agents nodes"},
|
|
{Name: "port", Description: "Specify the Kubernetes API server port exposed on the LoadBalancer"},
|
|
{Name: "path", Description: "Path of a config file to use"},
|
|
{Name: "environment variables", Description: "Add environment variables to nodes"},
|
|
{Name: "devices", Description: "GPU devices to add to the cluster node containers"},
|
|
{Name: "ip:host[,host,...]", Description: "Add ip:host[,host,...] mappings"},
|
|
{Name: "image", Description: "Specify k3s image that you want to use for the nodes"},
|
|
{Name: "ARG@NODEFILTER[;@NODEFILTER]", Description: "Additional args passed to k3s command"},
|
|
{Name: "network", Description: "Specify the docker network to use"},
|
|
{Name: "int", Description: "Specify how many servers you want to create"},
|
|
{Name: "string", Description: "Memory limit imposed on the server nodes [From docker]"},
|
|
{Name: "duration", Description: "Rollback changes if cluster couldn't be created in specified duration"},
|
|
{Name: "delete", Description: "Delete a cluster"},
|
|
{Name: "edit", Description: "Edit a cluster"},
|
|
{Name: "list", Description: "List clusters"},
|
|
{Name: "start", Description: "Start a cluster"},
|
|
{Name: "a", Description: "Start all clusters"},
|
|
{Name: "stop", Description: "Stop a cluster"},
|
|
{Name: "completion", Description: "Generate shell completion scripts"},
|
|
{Name: "shell", Description: "Shell to generate completion script for"},
|
|
{Name: "config", Description: "Manage k3d config"},
|
|
{Name: "init", Description: "Create a new config file"},
|
|
{Name: "migrate", Description: "Migrate a config file to the latest version"},
|
|
{Name: "import", Description: "Import image(s) from docker into k3d cluster(s)"},
|
|
{Name: "mode", Description: "Import mode"},
|
|
{Name: "kubeconfig", Description: "Manage k3d kubeconfig"},
|
|
{Name: "merge", Description: "Write/Merge kubeconfig(s) from cluster(s) into new or existing kubeconfig/file"},
|
|
{Name: "node", Description: "Manage k3d nodes"},
|
|
{Name: "Node Name", Description: "Name of the node"},
|
|
{Name: "k3s-arg", Description: "Additional k3s arguments"},
|
|
{Name: "memory", Description: "Memory limit for the node container"},
|
|
{Name: "replicas", Description: "Number of replicas to create"},
|
|
{Name: "role", Description: "Node role"},
|
|
{Name: "timeout", Description: "Maximum waiting time for '--wait' before canceling/returning"},
|
|
{Name: "port-add", Description: "Map ports from the node container to the host"},
|
|
{Name: "output", Description: "Output format"},
|
|
{Name: "registry", Description: "Manage registry/registries"},
|
|
{Name: "Registry Name", Description: "Name of the registry"},
|
|
{Name: "version", Description: "Show k3d and default k3s version"},
|
|
},
|
|
Options: []core.Option{
|
|
{Name: "-a", Description: "Number of agents to create"},
|
|
{Name: "--agents-memory", Description: "Memory limit imposed on the agents nodes"},
|
|
{Name: "--api-port", Description: "Specify the Kubernetes API server port exposed on the LoadBalancer"},
|
|
{Name: "-c", Description: "Path of a config file to use"},
|
|
{Name: "-e", Description: "Add environment variables to nodes"},
|
|
{Name: "--gpus", Description: "GPU devices to add to the cluster node containers"},
|
|
{Name: "-h", Description: "Help for create"},
|
|
{Name: "--host-alias", Description: "Add ip:host[,host,...] mappings"},
|
|
{Name: "--host-pid-mode", Description: "Enable host pid mode of server(s) and agent(s)"},
|
|
{Name: "-i", Description: "Specify k3s image that you want to use for the nodes"},
|
|
{Name: "--k3s-arg", Description: "Additional args passed to k3s command"},
|
|
{Name: "--k3s-node-label", Description: "Add label to k3s node"},
|
|
{Name: "--kubeconfig-switch-context", Description: "Use dotted YAML path syntax to override nginx loadbalancer settings"},
|
|
{Name: "--network", Description: "Specify the docker network to use"},
|
|
{Name: "--no-image-volume", Description: "Don't create a volume for the container's root filesystem"},
|
|
{Name: "--no-lb", Description: "Don't create a loadbalancer for the cluster"},
|
|
{Name: "--no-rollback", Description: "Don't rollback changes if cluster creation failed"},
|
|
{Name: "-p", Description: "Map ports from the node containers (via the serverlb) to the host"},
|
|
{Name: "--registry-config", Description: "Specify path to an extra registries.yaml file"},
|
|
{Name: "--registry-create", Description: "Connect to one or more k3d-managed registries running locally"},
|
|
{Name: "--runtime-label", Description: "Specify how many servers you want to create"},
|
|
{Name: "--servers-memory", Description: "Memory limit imposed on the server nodes [From docker]"},
|
|
{Name: "--subnet", Description: "[Experimental: IPAM] Define a subnet for the newly created container network"},
|
|
{Name: "--timeout", Description: "Rollback changes if cluster couldn't be created in specified duration"},
|
|
{Name: "--token", Description: "Specify a cluster token. By default, we generate one"},
|
|
{Name: "-v", Description: "Mount volumes into the nodes"},
|
|
{Name: "--wait", Description: "Wait for the server(s) to be ready before returning"},
|
|
{Name: "--port-add", Description: "Map ports from the node containers"},
|
|
{Name: "--no-headers", Description: "Don't print headers"},
|
|
{Name: "-o", Description: "Output format"},
|
|
{Name: "-f", Description: "Force overwrite of target file"},
|
|
{Name: "-k", Description: "Do not delete the tarball containing the saved images from the shared volume"},
|
|
{Name: "-t", Description: "Do not delete the tools node after import"},
|
|
{Name: "-m", Description: "Import mode"},
|
|
{Name: "-s", Description: "Switch to new context (default true)"},
|
|
{Name: "-u", Description: "Update conflicting fields in existing kubeconfig (default true)"},
|
|
{Name: "--memory", Description: "Memory limit for the node container"},
|
|
{Name: "-n", Description: "Add node to (another) runtime network"},
|
|
{Name: "--replicas", Description: "Number of replicas to create"},
|
|
{Name: "--role", Description: "Node role"},
|
|
},
|
|
})
|
|
}
|