Files
iris-context/commands/ops/minikube.go
T
VERSE ebde9ba68f refactor(commands): separate commands and its core into two folders (#32)
- I think it would be better if one for commands only, one for the spec
handling core logic so people won't be confused by the core logic inside
the commands folder (cleaner I guess)
- Regen docs
2026-07-05 11:27:30 +07:00

107 lines
7.7 KiB
Go

package ops
import (
"github.com/versenilvis/iris/spec"
)
func init() {
spec.Register(&spec.Spec{
Name: "minikube",
Description: "Format to print stdout in",
Subcommands: []spec.Subcommand{
{Name: "start", Description: "Starts a local Kubernetes cluster"},
{Name: "status", Description: "Gets the status of a local Kubernetes cluster"},
{Name: "stop", Description: "Stops a running local Kubernetes cluster"},
{Name: "delete", Description: "Deletes a local Kubernetes cluster"},
{Name: "unpause", Description: "Unpause Kubernetes"},
{Name: "docker-env", Description: "Configure environment to use minikube's Docker daemon"},
{Name: "podman-env", Description: "Configure environment to use minikube's Podman service"},
{Name: "cache", Description: "Add, delete, or push a local image into minikube"},
{Name: "add", Description: "Add an image to local cache"},
{Name: "list", Description: "List all available images from the local cache"},
{Name: "reload", Description: "Reload cached images"},
{Name: "image", Description: "Manage images"},
{Name: "build", Description: "Build a container image in minikube"},
{Name: "load", Description: "Load a image into minikube"},
{Name: "ls", Description: "List images"},
{Name: "pull", Description: "Pull images"},
{Name: "push", Description: "Push images"},
{Name: "rm", Description: "Remove one or more images"},
{Name: "save", Description: "Save a image from minikube"},
{Name: "tag", Description: "Tag images"},
{Name: "addons", Description: "Enable or disable a minikube addon"},
{Name: "configure", Description: "Configures the addon w/ADDON_NAME within minikube"},
{Name: "disable", Description: "Disables the addon w/ADDON_NAME within minikube"},
{Name: "enable", Description: "Enables the addon w/ADDON_NAME within minikube"},
{Name: "images", Description: "List image names the addon w/ADDON_NAME used"},
{Name: "open", Description: "Opens the addon w/ADDON_NAME within minikube"},
{Name: "config", Description: "Modify persistent configuration values"},
{Name: "defaults", Description: "Lists all valid default values for PROPERTY_NAME"},
{Name: "get", Description: "Gets the value of PROPERTY_NAME from the minikube config file"},
{Name: "set", Description: "Sets an individual value in a minikube config file"},
{Name: "unset", Description: "Unsets an individual value in a minikube config file"},
{Name: "view", Description: "Display values currently set in the minikube config file"},
{Name: "profile", Description: "Get or list the current profiles (clusters)"},
{Name: "update-context", Description: "Update kubeconfig in case of an IP or port change"},
{Name: "service", Description: "Returns a URL to connect to a service"},
{Name: "tunnel", Description: "Connect to LoadBalancer services"},
{Name: "mount", Description: "Mounts the specified directory into minikube"},
{Name: "ssh", Description: "Log into the minikube environment (for debugging)"},
{Name: "kubectl", Description: "Run a kubectl binary matching the cluster version"},
{Name: "node", Description: "Add, remove, or list additional nodes"},
{Name: "cp", Description: "Copy the specified file into minikube"},
{Name: "ssh-key", Description: "Retrieve the ssh identity key path of the specified node"},
{Name: "ssh-host", Description: "Retrieve the ssh host key of the specified node"},
{Name: "ip", Description: "Retrieves the IP address of the specified node"},
{Name: "logs", Description: "Returns logs to debug a local Kubernetes cluster"},
{Name: "update-check", Description: "Print current and latest version number"},
{Name: "version", Description: "Print the version of minikube"},
{Name: "options", Description: "Add, remove, or list additional nodes"},
{Name: "completion", Description: "Generate command completion for a shell"},
{Name: "bash", Description: "Bash completion"},
},
Options: []spec.Option{
{Name: "--output", Description: "Format to print stdout in"},
{Name: "--shell", Description: "Force environment to be configured for a specified shell"},
{Name: "--unset", Description: "Unset variables instead of setting them"},
{Name: "--addons", Description: "Enable addons. see `minikube addons list` for a list of valid addon names"},
{Name: "--apiserver-ips", Description: "The authoritative apiserver hostname for apiserver certificates and connectivity"},
{Name: "--apiserver-names", Description: "The apiserver listening port"},
{Name: "--auto-update-drivers", Description: "If set, automatically updates drivers to the latest version"},
{Name: "--base-image", Description: "The base image to use for docker/podman drivers. Intended for local development"},
{Name: "--cache-images", Description: "Duration until minikube certificate expiration"},
{Name: "--cni", Description: "CNI plug-in to use"},
{Name: "--container-runtime", Description: "The container runtime to be used"},
{Name: "--cpus", Description: "Number of CPUs allocated to Kubernetes"},
{Name: "--cri-socket", Description: "The cri socket path to be used"},
{Name: "--delete-on-failure", Description: "If set, delete the current cluster if start fails and try again"},
{Name: "--disable-driver-mounts", Description: "Disables the filesystem mounts provided by the hypervisors"},
{Name: "--disk-size", Description: "Disk size allocated to the minikube VM"},
{Name: "--dns-domain", Description: "The cluster dns domain name used in the Kubernetes cluster"},
{Name: "--dns-proxy", Description: "Enable proxy for NAT DNS requests"},
{Name: "--docker-env", Description: "Environment variables to pass to the Docker daemon. (format: key=value)"},
{Name: "--docker-opt", Description: "Specify arbitrary flags to pass to the Docker daemon. (format: key=value)"},
{Name: "--download-only", Description: "Choose driver"},
{Name: "--dry-run", Description: "Dry-run mode. Validates configuration, but does not mutate system state"},
{Name: "--embed-certs", Description: "If true, will embed the certs in kubeconfig"},
{Name: "--extra-config", Description: "Number of extra disks created and attached to the minikube VM"},
{Name: "--feature-gates", Description: "Force minikube to perform possibly dangerous operations"},
{Name: "--force-systemd", Description: "If set, force the container runtime to use systemd as cgroup manager"},
{Name: "--host-dns-resolver", Description: "Enable host resolver for NAT DNS requests"},
{Name: "--host-only-cidr", Description: "The CIDR to be used for the minikube VM"},
{Name: "--host-only-nic-type", Description: "NIC Type used for host only network"},
{Name: "--hyperkit-vpnkit-sock", Description: "Location of the VPNKit socket used for networking"},
{Name: "--hyperkit-vsock-ports", Description: "List of guest VSock ports that should be exposed as sockets on the host"},
{Name: "--hyperv-external-adapter", Description: "The hyperv virtual switch name. Defaults to first found"},
{Name: "--image-mirror-country", Description: "Country code of the image mirror to be used"},
{Name: "--image-repository", Description: "Alternative image repository to pull docker images from"},
{Name: "--insecure-registry", Description: "Insecure Docker registries to pass to the Docker daemon"},
{Name: "--install-addons", Description: "If set, install addons. Defaults to true"},
{Name: "--interactive", Description: "Allow user prompts for more information"},
{Name: "--iso-url", Description: "Locations to fetch the minikube ISO from"},
{Name: "--keep-context", Description: "This will keep the existing kubectl context and will create a minikube context"},
{Name: "--kubernetes-version", Description: "The Kubernetes version that the minikube VM will use"},
},
})
}