{"id":17911633,"url":"https://github.com/medyagh/setup-minikube","last_synced_at":"2025-05-16T12:08:02.332Z","repository":{"id":37078293,"uuid":"256652584","full_name":"medyagh/setup-minikube","owner":"medyagh","description":"official minikube github action, continuous integration test on Kubernetes cluster, test your code on a certified Kubernetes","archived":false,"fork":false,"pushed_at":"2025-04-07T05:51:58.000Z","size":6583,"stargazers_count":105,"open_issues_count":18,"forks_count":34,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-04-12T06:16:37.826Z","etag":null,"topics":["ci","continuous-integration","e2e-tests","github-actions","k8s","kubernetes","local-kubernetes-cluster","minikube"],"latest_commit_sha":null,"homepage":"https://minikube.sigs.k8s.io/docs/tutorials/setup_minikube_in_github_actions/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/medyagh.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-04-18T02:21:37.000Z","updated_at":"2025-04-08T17:35:34.000Z","dependencies_parsed_at":"2023-09-28T18:28:22.215Z","dependency_job_id":"6f488544-aa97-43df-b03c-792b84875392","html_url":"https://github.com/medyagh/setup-minikube","commit_stats":{"total_commits":632,"total_committers":13,"mean_commits":48.61538461538461,"dds":"0.21518987341772156","last_synced_commit":"0da844c8015a627c36d8ecc75167303eb112d112"},"previous_names":[],"tags_count":20,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/medyagh%2Fsetup-minikube","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/medyagh%2Fsetup-minikube/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/medyagh%2Fsetup-minikube/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/medyagh%2Fsetup-minikube/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/medyagh","download_url":"https://codeload.github.com/medyagh/setup-minikube/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248525141,"owners_count":21118620,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ci","continuous-integration","e2e-tests","github-actions","k8s","kubernetes","local-kubernetes-cluster","minikube"],"created_at":"2024-10-28T19:39:43.277Z","updated_at":"2025-04-12T06:17:17.350Z","avatar_url":"https://github.com/medyagh.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n## About setup-minikube\n- build/deploy/test your application against a certified Kubernetes cluster in GitHub Actions.\n- officialy maintained by minikube maintainers.\n\n## Basic Usage\n```\n    steps:\n      - name: start minikube\n        id: minikube\n        uses: medyagh/setup-minikube@latest\n\n```\n\n## Caching\n\nBy default setup-minikube caches the ISO, kicbase, and preload using GitHub Action Cache, if you'd like to disable this caching add the following to your workflow file.\n```\n- uses: medyagh/setup-minikube@latest\n  with:\n    cache: false\n```\n\n## Examples\n- [Example 1: Start Kubernetes on pull request](https://github.com/medyagh/setup-minikube#example-1)\n\n- [Example 2: Start Kubernetes using all configuration options](https://github.com/medyagh/setup-minikube#example-2)\n\n- [Example 3: Build image and deploy to Kubernetes on pull request](https://github.com/medyagh/setup-minikube#example-3)\n- [Real World Examples](https://github.com/medyagh/setup-minikube#Real-World)\n\n\n\n## Configurable Fields\n\n\u003cdetails\u003e\n  \u003csummary\u003estart (optional)\u003c/summary\u003e\n  \u003cpre\u003e\n    - default: true\n    - options:\n      - true\n      - false\n  \u003c/pre\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003eminikube-version (optional)\u003c/summary\u003e\n  \u003cpre\u003e\n    - default: latest\n    - options:\n      - version in format of 'X.X.X'\n      - 'latest' for the latest stable release\n      - 'HEAD' for the latest development build\n    - example: 1.24.0\n  \u003c/pre\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003edriver (optional)\u003c/summary\u003e\n  \u003cpre\u003e\n    - default: '' (minikube will auto-select)\n    - options:\n      - docker\n      - none (baremetal)\n      - virtualbox (available on macOS free agents)\n      - also possible if installed on self-hosted agent: podman, parallels, vmwarefusion, hyperkit, vmware, ssh\n  \u003c/pre\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003econtainer-runtime (optional)\u003c/summary\u003e\n  \u003cpre\u003e\n    - default: docker\n    - options:\n      - docker\n      - containerd\n      - cri-o\n  \u003c/pre\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003ekubernetes-version (optional)\u003c/summary\u003e\n  \u003cpre\u003e\n    - default: stable\n    - options:\n      - 'stable' for the latest stable Kubernetes version\n      - 'latest' for the Newest Kubernetes version\n      - 'vX.X.X'\n    - example: v1.23.1\n  \u003c/pre\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003ecpus (optional)\u003c/summary\u003e\n  \u003cpre\u003e\n    - default: '' (minikube will auto-set)\n    - options:\n      - '\u003cnumber\u003e'\n      - 'max' to use the maximum available CPUs\n    - example: 4\n  \u003c/pre\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003ememory (optional)\u003c/summary\u003e\n  \u003cpre\u003e\n    - default: '' (minikube will auto-set)\n    - options:\n      - '\u003cnumber\u003e\u003cunit\u003e' where unit = b, k, m or g\n      - 'max' to use the maximum available memory\n    - example: 4000m\n  \u003c/pre\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003enetwork-plugin (optional)\u003c/summary\u003e\n  \u003cpre\u003e\n    - default: auto\n    - options:\n      - cni\n  \u003c/pre\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003ecni (optional)\u003c/summary\u003e\n  \u003cpre\u003e\n    - default: '' (auto)\n    - options:\n      - bridge\n      - calico\n      - cilium\n      - flannel\n      - kindnet\n      - (path to a CNI manifest)\n  \u003c/pre\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003ewait (optional)\u003c/summary\u003e\n  \u003cpre\u003e\n    - default: all\n    - options:\n      - comma separated list of Kubernetes components (e.g. apiserver,system_pods,default_sa,apps_running,node_ready,kubelet)\n      - all\n      - none\n      - true\n      - false\n  \u003c/pre\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003eaddons (optional)\u003c/summary\u003e\n  \u003cpre\u003e\n    - default: ''\n    - options:\n      - ambassador\n      - auto-pause\n      - csi-hostpath-driver\n      - dashboard\n      - default-storageclass\n      - efk\n      - freshpod\n      - gcp-auth\n      - gvisor\n      - headlamp\n      - helm-tiller\n      - inaccel\n      - ingress\n      - ingress-dns\n      - istio\n      - istio-provisioner\n      - kong\n      - kubevirt\n      - logviewer\n      - metallb\n      - metrics-server\n      - nvidia-driver-installer\n      - nvidia-gpu-device-plugin\n      - olm\n      - pod-security-policy\n      - portainer\n      - registry\n      - registry-aliases\n      - registry-creds\n      - storage-provisioner\n      - storage-provisioner-gluster\n      - volumesnapshots\n      - (minikube addons list)\n    - example: ingress,registry\n  \u003c/pre\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003eextra-config (optional)\u003c/summary\u003e\n  \u003cpre\u003e\n    - default: ''\n    - value: Any extra config fields (see [docs](https://minikube.sigs.k8s.io/docs/handbook/config/#kubernetes-configuration))\n  \u003c/pre\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003efeature-gates (optional)\u003c/summary\u003e\n  \u003cpre\u003e\n    - default: ''\n    - value: Enable feature gates in API service (see [docs](https://minikube.sigs.k8s.io/docs/handbook/config/#enabling-feature-gates))\n  \u003c/pre\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003elisten-address (optional)\u003c/summary\u003e\n  \u003cpre\u003e\n    - default: ''\n    - value: IP Address to use to expose ports (docker and podman driver only)\n  \u003c/pre\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003emount-path (optional)\u003c/summary\u003e\n  \u003cpre\u003e\n    - default: ''\n    - value: Mount the source directory from your host into the target directory inside the cluster (format: \u003csource directory\u003e:\u003ctarget directory\u003e)\n  \u003c/pre\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003einstall-path (optional)\u003c/summary\u003e\n  \u003cpre\u003e\n    - default: ''\n    - value: Path where the executables (minikube) will get installed. Useful when having multiple self-hosted runners on one machine.\n  \u003c/pre\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003einsecure-registry (optional)\u003c/summary\u003e\n  \u003cpre\u003e\n    - default: ''\n    - value: Any container registry address which is insecure\n    - example: localhost:5000,10.0.0.0/24\n  \u003c/pre\u003e\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003estart-args (optional)\u003c/summary\u003e\n  \u003cpre\u003e\n    - default: ''\n    - value: Any flags you would regularly pass into minikube via CLI\n    - example: --delete-on-failure --subnet 192.168.50.0\n  \u003c/pre\u003e\n\u003c/details\u003e\n\n## Example 1: \n#### Start Kubernetes on pull request\n\n```\nname: CI\non:\n  - pull_request\njobs:\n  job1:\n    runs-on: ubuntu-latest\n    name: job1\n    steps:\n      - name: start minikube\n        id: minikube\n        uses: medyagh/setup-minikube@latest\n      # now you can run kubectl to see the pods in the cluster\n      - name: kubectl\n        run: kubectl get pods -A\n```\n\n## Example 2\n### Start Kubernetes using all configuration options\n\n```\nname: CI\non:\n  - pull_request\njobs:\n  job1:\n    runs-on: ubuntu-latest\n    name: job1\n    steps:\n      - name: start minikube\n        uses: medyagh/setup-minikube@latest\n        id: minikube\n        with:\n          cache: false\n          minikube-version: 1.24.0\n          driver: docker\n          container-runtime: containerd\n          kubernetes-version: v1.22.3\n          cpus: 4\n          memory: 4000m\n          cni: bridge\n          addons: registry,ingress\n          extra-config: 'kubelet.max-pods=10'\n          feature-gates: 'DownwardAPIHugePages=true'\n          mount-path: '/Users/user1/test-files:/testdata'\n          wait: false\n          insecure-registry: 'localhost:5000,10.0.0.0/24'\n          start-args: '--delete-on-failure --subnet 192.168.50.0'\n      # now you can run kubectl to see the pods in the cluster\n      - name: kubectl\n        run: kubectl get pods -A\n```\n\n## Example 3:\n### Build image and deploy to Kubernetes on pull request\n```\nname: CI\non:\n  - push\n  - pull_request\njobs:\n  job1:\n    runs-on: ubuntu-latest\n    name: build discover and deploy\n    steps:\n      - uses: actions/checkout@v4\n        with:\n          repository: medyagh/local-dev-example-with-minikube\n      - name: Start minikube\n        uses: medyagh/setup-minikube@latest\n      # now you can run kubectl to see the pods in the cluster\n      - name: Try the cluster!\n        run: kubectl get pods -A\n      - name: Build image\n        run: |\n          minikube image build -t local/devex:v1 .\n      - name: Deploy to minikube\n        run: |\n          kubectl apply -f deploy/k8s.yaml\n          kubectl wait --for=condition=ready pod -l app=local-devex\n      - name: Test service URLs\n        run: |\n          minikube service list\n          minikube service local-devex-svc --url\n          echo -n \"------------------opening the service------------------\"\n          curl $(minikube service local-devex-svc --url)/version\n```\n## Real World: \n#### Add your own repo here:\n- [medyagh/test-minikube-example](https://github.com/medyagh/test-minikube-example)\n- [More examples](https://github.com/medyagh/setup-minikube/tree/master/examples)\n\n## About Author\n\nMedya Ghazizadeh, Follow me on [twitter](https://twitter.com/medya_dev) for my dev news!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmedyagh%2Fsetup-minikube","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmedyagh%2Fsetup-minikube","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmedyagh%2Fsetup-minikube/lists"}