palmsoftware/Quick K8s
Quickly deploy a k8s cluster on Github Actions hosted runners
View on GitHubTrust Signals
- Scorecard Score
- not yet scored
- Maintenance Recency
- Activelast commit Jul 10, 2026
- License
- Apache 2.0
Pinned Snippet
uses: palmsoftware/quick-k8s@47ce89e8646bc9dc5bfc5513e1f1f3d5672288f0 # v0.0.75tags can be moved; commit SHAs can't. why a SHA?
Inputs
| name | description | required | default |
|---|---|---|---|
| apiServerPort | The port to use for the Kubernetes API server | no | 6443 |
| apiServerAddress | The address to use for the Kubernetes API server | no | 0.0.0.0 |
| disableDefaultCni | Disable the default CNI plugin | no | true |
| ipFamily | The IP family to use for the Kubernetes API server | no | dual |
| defaultNodeImage | The default node image to use for the Kubernetes cluster | no | kindest/node:v1.36.1@sha256:3489c7674813ba5d8b1a9977baea8a6e553784dab7b84759d1014dbd78f7ebd5 |
| numControlPlaneNodes | The number of control plane nodes to use for the Kubernetes cluster | no | 1 |
| numWorkerNodes | The number of worker nodes to use for the Kubernetes cluster | no | 1 |
| clusterName | Name for the Kubernetes cluster | no | kind |
| clusterProvider | Kubernetes cluster provider (kind or minikube) | no | kind |
| kindVersion | The version of KinD to use | no | v0.32.0 |
| minikubeVersion | The version of Minikube to use | no | v1.38.1 |
| minikubeDriver | The driver to use for Minikube (docker, podman, none) | no | docker |
| calicoVersion | The version of Calico to use | no | v3.32.1 |
| ocpReleaseLevel | The release level of OpenShift to use | no | 4.22 |
| installOLM | Install the Operator Lifecycle Manager | no | false |
| olmVersion | The version of OLM to install | no | v0.45.0 |
| removeDefaultStorageClass | Remove the default storage class | no | false |
| removeControlPlaneTaint | Remove the control plane taint | no | false |
| waitForPodsReady | Wait for all pods to be ready | no | false |
| waitForPodsNamespaces | Comma-separated list of namespaces to monitor for pod readiness. If empty, monitors all namespaces | no | "" |
| waitForPodsExcludeNamespaces | Comma-separated list of namespaces to exclude from pod readiness monitoring | no | "" |
| waitForPodsTimeout | Timeout in seconds for waiting for pods to be ready (default: 1200 = 20 minutes) | no | 1200 |
| installIstio | Install Istio service mesh | no | false |
| istioVersion | The version of Istio to install | no | 1.30.3 |
| istioProfile | Istio installation profile (minimal, demo, default, preview, ambient, empty) | no | minimal |
| installCertManager | Install cert-manager for TLS certificate management | no | false |
| certManagerVersion | The version of cert-manager to install | no | v1.21.0 |
| installIngressNginx | Install NGINX Ingress controller for HTTP/HTTPS routing | no | false |
| ingressNginxVersion | The version of ingress-nginx to install | no | v1.15.1 |
| installMetricsServer | Install metrics-server for kubectl top and HPA support | no | false |
| metricsServerVersion | The version of metrics-server to install | no | v0.9.0 |
| installMetalLB | Install MetalLB for LoadBalancer service support on local clusters | no | false |
| metalLBVersion | The version of MetalLB to install | no | v0.16.0 |
| workerNodeLabels | Comma-separated list of key=value labels to apply to worker nodes (e.g., "node-role.kubernetes.io/worker=worker,env=test") | no | "" |
| controlPlaneTaints | Comma-separated list of taints to apply to control-plane nodes (e.g., "key1=value1:NoSchedule,key2=value2:NoExecute") | no | "" |
| workerNodeTaints | Comma-separated list of taints to apply to worker nodes (e.g., "key1=value1:NoSchedule,key2=value2:NoExecute") | no | "" |
| installOperatorSdk | Install operator-sdk CLI for building and testing Kubernetes operators | no | false |
| operatorSdkVersion | The version of operator-sdk to install | no | v1.42.3 |
| enableClusterMonitoring | Enable cluster monitoring stack (Prometheus, Thanos, Alertmanager, Grafana) via kube-prometheus | no | false |
| kubePrometheusVersion | The version of kube-prometheus to install | no | v0.18.0 |
| thanosVersion | The version of Thanos to install | no | v0.42.2 |
| cniPlugin | CNI plugin to install when default CNI is disabled (calico, cilium, flannel, none). Use none to bring your own CNI | no | calico |
| installCalico | Deprecated: use cniPlugin instead. Install Calico CNI when default CNI is disabled | no | true |
| installSampleNetworkPolicies | Install sample NetworkPolicy resources in the default namespace for testing (default-deny-all, allow-dns, allow-same-namespace) | no | false |
| kindConfigPath | Path to custom KinD configuration file. When provided, uses this instead of auto-generated config | no | "" |
| extraPortMappings | Comma-separated list of host:container port mappings for KinD nodes (e.g., "80:30080,443:30443"). Only applies to KinD provider | no | "" |
| installLocalRegistry | Install a local Docker registry accessible from the cluster | no | false |
| localRegistryPort | Port for the local Docker registry | no | 5001 |
| componentTimeout | Timeout in seconds for component installation (kubectl wait commands) | no | 300 |
| clusterCPUs | Number of CPUs to allocate to the cluster (e.g., 2). Only applies to Minikube provider | no | 2 |
| clusterMemory | Memory in MB to allocate to the cluster (e.g., 4096). Empty means use provider default. Only applies to Minikube provider | no | "" |
| dryRun | Preview what the action would do without executing. Prints configuration summary and exits | no | false |
| createPersistentVolumes | Create sample PersistentVolumes using hostPath for testing | no | false |
| persistentVolumeCount | Number of PersistentVolumes to create | no | 5 |
| persistentVolumeSize | Size of each PersistentVolume (e.g., 10Gi, 1Gi, 500Mi) | no | 10Gi |
| skipDiskCleanup | Skip disk cleanup steps. Useful for self-hosted runners with ample disk space | no | false |
| enableCleanup | Generate a cleanup script at /tmp/quick-k8s-cleanup.sh for post-run cluster teardown | no | false |
| flannelVersion | The version of Flannel CNI to install (when cniPlugin is flannel) | no | v0.28.7 |
Outputs
no outputs