package ops import ( "github.com/versenilvis/iris/spec" ) func init() { spec.Register(&spec.Spec{ Name: "k3d", Description: "Little helper to run k3s in Docker", Subcommands: []spec.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: []spec.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"}, }, }) }