palmsoftware/Quick K8s

Quickly deploy a k8s cluster on Github Actions hosted runners

View on GitHub

Trust Signals

Scorecard Score
not yet scored
Maintenance Recency
Activelast commit Jul 10, 2026
License
Apache 2.0

Pinned Snippet

workflow.ymlSHA-pinned
uses: palmsoftware/quick-k8s@47ce89e8646bc9dc5bfc5513e1f1f3d5672288f0 # v0.0.75

tags can be moved; commit SHAs can't. why a SHA?

namedescriptionrequireddefault
apiServerPortThe port to use for the Kubernetes API serverno6443
apiServerAddressThe address to use for the Kubernetes API serverno0.0.0.0
disableDefaultCniDisable the default CNI pluginnotrue
ipFamilyThe IP family to use for the Kubernetes API servernodual
defaultNodeImageThe default node image to use for the Kubernetes clusternokindest/node:v1.36.1@sha256:3489c7674813ba5d8b1a9977baea8a6e553784dab7b84759d1014dbd78f7ebd5
numControlPlaneNodesThe number of control plane nodes to use for the Kubernetes clusterno1
numWorkerNodesThe number of worker nodes to use for the Kubernetes clusterno1
clusterNameName for the Kubernetes clusternokind
clusterProviderKubernetes cluster provider (kind or minikube)nokind
kindVersionThe version of KinD to usenov0.32.0
minikubeVersionThe version of Minikube to usenov1.38.1
minikubeDriverThe driver to use for Minikube (docker, podman, none)nodocker
calicoVersionThe version of Calico to usenov3.32.1
ocpReleaseLevelThe release level of OpenShift to useno4.22
installOLMInstall the Operator Lifecycle Managernofalse
olmVersionThe version of OLM to installnov0.45.0
removeDefaultStorageClassRemove the default storage classnofalse
removeControlPlaneTaintRemove the control plane taintnofalse
waitForPodsReadyWait for all pods to be readynofalse
waitForPodsNamespacesComma-separated list of namespaces to monitor for pod readiness. If empty, monitors all namespacesno""
waitForPodsExcludeNamespacesComma-separated list of namespaces to exclude from pod readiness monitoringno""
waitForPodsTimeoutTimeout in seconds for waiting for pods to be ready (default: 1200 = 20 minutes)no1200
installIstioInstall Istio service meshnofalse
istioVersionThe version of Istio to installno1.30.3
istioProfileIstio installation profile (minimal, demo, default, preview, ambient, empty)nominimal
installCertManagerInstall cert-manager for TLS certificate managementnofalse
certManagerVersionThe version of cert-manager to installnov1.21.0
installIngressNginxInstall NGINX Ingress controller for HTTP/HTTPS routingnofalse
ingressNginxVersionThe version of ingress-nginx to installnov1.15.1
installMetricsServerInstall metrics-server for kubectl top and HPA supportnofalse
metricsServerVersionThe version of metrics-server to installnov0.9.0
installMetalLBInstall MetalLB for LoadBalancer service support on local clustersnofalse
metalLBVersionThe version of MetalLB to installnov0.16.0
workerNodeLabelsComma-separated list of key=value labels to apply to worker nodes (e.g., "node-role.kubernetes.io/worker=worker,env=test")no""
controlPlaneTaintsComma-separated list of taints to apply to control-plane nodes (e.g., "key1=value1:NoSchedule,key2=value2:NoExecute")no""
workerNodeTaintsComma-separated list of taints to apply to worker nodes (e.g., "key1=value1:NoSchedule,key2=value2:NoExecute")no""
installOperatorSdkInstall operator-sdk CLI for building and testing Kubernetes operatorsnofalse
operatorSdkVersionThe version of operator-sdk to installnov1.42.3
enableClusterMonitoringEnable cluster monitoring stack (Prometheus, Thanos, Alertmanager, Grafana) via kube-prometheusnofalse
kubePrometheusVersionThe version of kube-prometheus to installnov0.18.0
thanosVersionThe version of Thanos to installnov0.42.2
cniPluginCNI plugin to install when default CNI is disabled (calico, cilium, flannel, none). Use none to bring your own CNInocalico
installCalicoDeprecated: use cniPlugin instead. Install Calico CNI when default CNI is disablednotrue
installSampleNetworkPoliciesInstall sample NetworkPolicy resources in the default namespace for testing (default-deny-all, allow-dns, allow-same-namespace)nofalse
kindConfigPathPath to custom KinD configuration file. When provided, uses this instead of auto-generated configno""
extraPortMappingsComma-separated list of host:container port mappings for KinD nodes (e.g., "80:30080,443:30443"). Only applies to KinD providerno""
installLocalRegistryInstall a local Docker registry accessible from the clusternofalse
localRegistryPortPort for the local Docker registryno5001
componentTimeoutTimeout in seconds for component installation (kubectl wait commands)no300
clusterCPUsNumber of CPUs to allocate to the cluster (e.g., 2). Only applies to Minikube providerno2
clusterMemoryMemory in MB to allocate to the cluster (e.g., 4096). Empty means use provider default. Only applies to Minikube providerno""
dryRunPreview what the action would do without executing. Prints configuration summary and exitsnofalse
createPersistentVolumesCreate sample PersistentVolumes using hostPath for testingnofalse
persistentVolumeCountNumber of PersistentVolumes to createno5
persistentVolumeSizeSize of each PersistentVolume (e.g., 10Gi, 1Gi, 500Mi)no10Gi
skipDiskCleanupSkip disk cleanup steps. Useful for self-hosted runners with ample disk spacenofalse
enableCleanupGenerate a cleanup script at /tmp/quick-k8s-cleanup.sh for post-run cluster teardownnofalse
flannelVersionThe version of Flannel CNI to install (when cniPlugin is flannel)nov0.28.7

no outputs