{"id":26397342,"url":"https://github.com/thalesgroup/gokube","last_synced_at":"2026-02-06T15:14:28.588Z","repository":{"id":41313748,"uuid":"150421091","full_name":"ThalesGroup/gokube","owner":"ThalesGroup","description":"gokube is a tool that makes it easy developing day-to-day with Kubernetes on your laptop.","archived":false,"fork":false,"pushed_at":"2025-07-08T19:52:00.000Z","size":392,"stargazers_count":26,"open_issues_count":4,"forks_count":12,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-07-08T20:30:45.196Z","etag":null,"topics":["charts","docker","helm","k9s","kubernetes","minikube"],"latest_commit_sha":null,"homepage":"https://thalesgroup.github.io/gokube","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ThalesGroup.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","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,"zenodo":null}},"created_at":"2018-09-26T12:11:53.000Z","updated_at":"2025-07-08T19:38:23.000Z","dependencies_parsed_at":"2023-10-16T18:41:45.095Z","dependency_job_id":"5b222802-feed-4e8f-a43d-2590cbc92a40","html_url":"https://github.com/ThalesGroup/gokube","commit_stats":null,"previous_names":["gemalto/gokube"],"tags_count":79,"template":false,"template_full_name":null,"purl":"pkg:github/ThalesGroup/gokube","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ThalesGroup%2Fgokube","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ThalesGroup%2Fgokube/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ThalesGroup%2Fgokube/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ThalesGroup%2Fgokube/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ThalesGroup","download_url":"https://codeload.github.com/ThalesGroup/gokube/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ThalesGroup%2Fgokube/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267604262,"owners_count":24114516,"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","status":"online","status_checked_at":"2025-07-28T02:00:09.689Z","response_time":68,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["charts","docker","helm","k9s","kubernetes","minikube"],"created_at":"2025-03-17T12:17:28.014Z","updated_at":"2026-02-06T15:14:28.550Z","avatar_url":"https://github.com/ThalesGroup.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# gokube\n[![pages-build-deployment](https://github.com/ThalesGroup/gokube/actions/workflows/pages/pages-build-deployment/badge.svg?branch=master)](https://github.com/ThalesGroup/gokube/actions/workflows/pages/pages-build-deployment) [![Release on github](https://github.com/ThalesGroup/gokube/actions/workflows/github-release.yaml/badge.svg)](https://github.com/ThalesGroup/gokube/actions/workflows/github-release.yaml)\n\n![gokube](https://thalesgroup.github.io/gokube/logo/gokube_150x150.png)\n\n## What is gokube?\n\ngokube is a tool that simplifies day-to-day development with [Kubernetes](https://github.com/kubernetes/kubernetes) on your laptop under Windows.\n\ngokube downloads and installs several dependencies such as:\n* [minikube](https://github.com/kubernetes/minikube)\n* [docker](https://www.docker.com)\n* [helm](https://github.com/helm/helm)\n* [kubectl](https://kubernetes.io/docs/tasks/tools/install-kubectl)\n\nYou will be able to deploy useful helm charts for development in your Kubernetes cluster with one click.\n\ngokube is configured with a dedicated helm repository named [miniapps](https://thalesgroup.github.io/miniapps) which contains the following charts:\n* [cassandra](https://github.com/thalesgroup/miniapps/tree/master/charts/cassandra)\n* [mysql](https://github.com/thalesgroup/miniapps/tree/master/charts/mysql)\n* [heapster](https://github.com/thalesgroup/miniapps/tree/master/charts/heapster)\n* [pact](https://github.com/thalesgroup/miniapps/tree/master/charts/pact)\n* [kibana](https://github.com/thalesgroup/miniapps/tree/master/charts/kibana)\n* [grafana](https://github.com/thalesgroup/miniapps/tree/master/charts/grafana)\n\nThese charts are optimized in terms of memory and CPU for minikube and are very useful for developers.\n\n## How to upgrade gokube?\n\n### Windows\n\n#### Download binary\n\n* The latest release for gokube can be downloaded on the [Releases page](https://github.com/thalesgroup/gokube/releases/latest).\n* Copy the executable file to: C:\\gokube\\bin and replace the previous one.\n\n#### Upgrade gokube\n\n```shell\n$ gokube init\n```\n\n## How to install gokube?\n\n### Windows\n\n#### Requirements\n* [VirtualBox](https://www.virtualbox.org/wiki/Downloads) or [Hyper-V](https://github.com/kubernetes/minikube/blob/master/docs/drivers.md#hyperV-driver)\n* VT-x/AMD-v virtualization must be enabled in BIOS\n* Internet connection for the first run\n\n#### Assumptions \n\nYou will use C:\\gokube\\bin to store executable files.\n\n#### Set up your environment\n\ngokube is aware of HTTP_PROXY, HTTPS_PROXY and NO_PROXY environment variables.\nWhen these variables are set, they are used to download the gokube dependencies and to configure the Docker daemon.\nYou can define different proxy values for the Docker daemon in using the --http-proxy, --https-proxy, and --no-proxy init command flags.\n\n#### Set up your directory\n\nYou’ll need a place to store the gokube executable:\n* Open Windows Explorer.\n* Create a new folder: C:\\gokube (assuming you want gokube on your C drive, although this can be placed anywhere).\n* Create a subfolder in the gokube folder: C:\\gokube\\bin.\n\n#### Download binary\n\n* The latest release for gokube can be download on the [Releases page](https://github.com/thalesgroup/gokube/releases/latest).\n* Copy executable file to: C:\\gokube\\bin\n* The gokube executable will be named as gokube-\u003cversion\u003e-\u003ctype\u003e-\u003cplatform\u003e.\u003carch\u003e.exe. Rename the executable to gokube.exe for ease of use.\n\n#### Verify the executable\n\nIn your preferred CLI, at the prompt, type gokube and press the Enter key. You should see output that starts with:\n\n```shell\n$ gokube\nUsing environment variable MINIKUBE_MEMORY=12288\nUsing environment variable MINIKUBE_CPUS=6\ngokube is a nice installer to provide an environment for developing day-to-day with kubernetes \u0026 helm on your laptop.\n\nUsage:\n  gokube [command]\n\nAvailable Commands:\n  completion  Generate the autocompletion script for the specified shell\n  help        Help about any command\n  init        Initializes gokube. This command downloads dependencies: minikube + helm + kubectl + docker + stern + k9s and creates a minikube VM\n  pause       Pauses gokube. This command pauses the minikube VM\n  reset       Resets gokube. This command restores minikube VM from previously taken snapshot\n  resume      Resumes gokube. This command resumes the minikube VM\n  save        Creates a gokube reference. This command takes a snapshot of the minikube VM (which will be the reference for reset command)\n  start       Starts gokube. This command starts minikube\n  stop        Stops gokube. This command stops minikube\n  version     Shows version for gokube\n\nFlags:\n  -h, --help      help for gokube\n  -v, --verbose   Activate verbose logging\n\nUse \"gokube [command] --help\" for more information about a command.\n```\nIf you do, then the installation is complete.\n\nIf you don’t, double-check the path that you placed the gokube.exe file in and ensure you correctly added that path to your PATH variable.\n\n#### Install gokube\n\n```shell\n$ gokube init\nUsing environment variable MINIKUBE_MEMORY=12288\nUsing environment variable MINIKUBE_CPUS=6\nWarning: your Virtualbox GUI shall not be open and no other VM shall be currently running\nPress \u003cCTRL+C\u003e within the next 10s if you need to check this or press \u003cENTER\u003e now to continue...\nDeleting previous minikube VM...\nResetting host-only network used by minikube...\nCreating minikube VM with kubernetes v1.31.0...\n* minikube v1.34.0 on Microsoft Windows 10 Enterprise 10.0.19045.5011 Build 19045.5011\n  - MINIKUBE_CPUS=6\n  - MINIKUBE_MEMORY=12288\n* Using the virtualbox driver based on user configuration\n* Starting \"minikube\" primary control-plane node in \"minikube\" cluster\n* Creating virtualbox VM (CPUs=6, Memory=12288MB, Disk=20480MB) ...\n* Found network options:\n  - HTTP_PROXY=http://\u003cproxy\u003e:8080\n  - HTTPS_PROXY=http://\u003cproxy\u003e:8080\n  - NO_PROXY=minikube,127.0.0.1,192.168.99.100\n  - http_proxy=http://\u003cproxy\u003e:8080\n  - https_proxy=http://\u003cproxy\u003e:8080\n  - no_proxy=minikube,127.0.0.1,192.168.99.100\n* Preparing Kubernetes v1.17.3 on Docker 19.03.6 ...\n  - env HTTP_PROXY=http://\u003cproxy\u003e:8080\n  - env HTTPS_PROXY=http://\u003cproxy\u003e:8080\n  - env NO_PROXY=minikube,127.0.0.1,192.168.99.100\n  - env HTTP_PROXY=http://\u003cproxy\u003e:8080\n  - env HTTPS_PROXY=http://\u003cproxy\u003e:8080\n  - env NO_PROXY=minikube,127.0.0.1,192.168.99.100\n  - Generating certificates and keys ...\n  - Booting up control plane ...\n  - Configuring RBAC rules ...\n* Configuring bridge CNI (Container Networking Interface) ...\n  - Using image gcr.io/k8s-minikube/storage-provisioner:v5\n* Enabled addons: storage-provisioner, default-storageclass\n* Verifying Kubernetes components...\n* Done! kubectl is now configured to use \"minikube\" cluster and \"default\" namespace by default\n* dashboard is an addon maintained by Kubernetes. For any concerns contact minikube on GitHub.\nYou can view the list of minikube maintainers at: https://github.com/kubernetes/minikube/blob/master/OWNERS\n  - Using image docker.io/kubernetesui/dashboard:v2.7.0\n  - Using image docker.io/kubernetesui/metrics-scraper:v1.0.8\n* Some dashboard features require the metrics-server addon. To enable all features please run:\n\n        minikube addons enable metrics-server\n\n* The 'dashboard' addon is enabled\nSwitched to context \"minikube\".\nInstalling ChartMuseum...\n\"chartmuseum\" has been added to your repositories\nHang tight while we grab the latest from your chart repositories...\n...Successfully got an update from the \"chartmuseum\" chart repository\nUpdate Complete. ⎈Happy Helming!⎈\nStarting chartmuseum/chartmuseum components...\nWaiting for chartmuseum..................\n\"minikube\" has been added to your repositories\nHang tight while we grab the latest from your chart repositories...\n...Successfully got an update from the \"minikube\" chart repository\n...Successfully got an update from the \"chartmuseum\" chart repository\nUpdate Complete. ⎈Happy Helming!⎈\nConfiguring miniapps repository...\n\"miniapps\" has been added to your repositories\nHang tight while we grab the latest from your chart repositories...\n...Successfully got an update from the \"minikube\" chart repository\n...Successfully got an update from the \"chartmuseum\" chart repository\n...Successfully got an update from the \"miniapps\" chart repository\nUpdate Complete. ⎈Happy Helming!⎈\nExposing kubernetes dashboard to nodeport 30000...\nservice/kubernetes-dashboard patched\n\ngokube init completed in 3m3s\n```\n\nWe can see that pods are still being created from the ContainerCreating status:\n\n```shell\n$ kubectl get pod --all-namespaces\nNAMESPACE              NAME                                        READY   STATUS               RESTARTS       AGE\nkube-system            chartmuseum-b9b5d4646-4zq9m                 0/1     ContainerCreating    0              7m36s\nkube-system            coredns-6f6b679f8f-8xwrf                    1/1     Running              0              7m38s\nkube-system            etcd-minikube                               1/1     Running              0              7m44s\nkube-system            kube-apiserver-minikube                     1/1     Running              0              7m44s\nkube-system            kube-controller-manager-minikube            1/1     Running              0              7m44s\nkube-system            kube-proxy-hmxpz                            1/1     Running              0              7m39s\nkube-system            kube-scheduler-minikube                     1/1     Running              0              7m44s\nkube-system            storage-provisioner                         1/1     Running              1 (7m8s ago)   7m42s\nkubernetes-dashboard   dashboard-metrics-scraper-c5db448b4-rvlxl   0/1     ContainerCreating    0              7m38s\nkubernetes-dashboard   kubernetes-dashboard-695b96c756-gf76s       1/1     Running   0              7m38s\n```\n\nWe can see that pods are now running, and we will now be able to access gokube:\n\n```shell\n$ kubectl get pod --all-namespaces\nNAMESPACE              NAME                                        READY   STATUS    RESTARTS       AGE\nkube-system            chartmuseum-b9b5d4646-4zq9m                 1/1     Running   0              7m36s\nkube-system            coredns-6f6b679f8f-8xwrf                    1/1     Running   0              7m38s\nkube-system            etcd-minikube                               1/1     Running   0              7m44s\nkube-system            kube-apiserver-minikube                     1/1     Running   0              7m44s\nkube-system            kube-controller-manager-minikube            1/1     Running   0              7m44s\nkube-system            kube-proxy-hmxpz                            1/1     Running   0              7m39s\nkube-system            kube-scheduler-minikube                     1/1     Running   0              7m44s\nkube-system            storage-provisioner                         1/1     Running   1 (7m8s ago)   7m42s\nkubernetes-dashboard   dashboard-metrics-scraper-c5db448b4-rvlxl   1/1     Running   0              7m38s\nkubernetes-dashboard   kubernetes-dashboard-695b96c756-gf76s       1/1     Running   0              7m38s\n```\n\nWe can stop gokube with the following command:\n```shell\n$ gokube stop\nUsing environment variable MINIKUBE_MEMORY=12288\nUsing environment variable MINIKUBE_CPUS=6\nWarning: you should not stop a VM with a lot of running pods as the restart will be unstable\nPress \u003cCTRL+C\u003e within the next 10s if you need to perform some clean or press \u003cENTER\u003e now to continue...\nStopping minikube VM...\n* Stopping node \"minikube\"  ...\n* 1 node stopped.\n```\n\nWe can start gokube with the following command:\n```shell\n$ gokube start\nUsing environment variable MINIKUBE_MEMORY=12288\nUsing environment variable MINIKUBE_CPUS=6\nStarting minikube VM with kubernetes v1.31.0 and container runtime \"docker\"...\n* minikube v1.34.0 on Microsoft Windows 10 Enterprise 10.0.19045.5011 Build 19045.5011\n  - MINIKUBE_CPUS=6\n  - MINIKUBE_MEMORY=12288\n* Using the virtualbox driver based on existing profile\n* Starting \"minikube\" primary control-plane node in \"minikube\" cluster\n* Restarting existing virtualbox VM for \"minikube\" ...\n* Found network options:\n  - HTTP_PROXY=http://\u003cproxy\u003e:8080\n  - HTTPS_PROXY=http://\u003cproxy\u003e:8080\n  - NO_PROXY=minikube,127.0.0.1,192.168.99.100\n  - http_proxy=http://\u003cproxy\u003e:8080\n  - https_proxy=http://\u003cproxy\u003e:8080\n  - no_proxy=minikube,127.0.0.1,192.168.99.100\n* To pull new external images, you may need to configure a proxy: https://minikube.sigs.k8s.io/docs/reference/networking/proxy/\n* Preparing Kubernetes v1.31.0 on Docker 27.2.0 ...\n  - env HTTP_PROXY=http://\u003cproxy\u003e:8080\n  - env HTTPS_PROXY=http://\u003cproxy\u003e:8080\n  - env NO_PROXY=minikube,127.0.0.1,192.168.99.100\n  - env HTTP_PROXY=http://\u003cproxy\u003e:8080\n  - env HTTPS_PROXY=http://\u003cproxy\u003e:8080\n  - env NO_PROXY=minikube,127.0.0.1,192.168.99.100\n* Configuring bridge CNI (Container Networking Interface) ...\n  - Using image gcr.io/k8s-minikube/storage-provisioner:v5\n  - Using image docker.io/kubernetesui/dashboard:v2.7.0\n  - Using image docker.io/kubernetesui/metrics-scraper:v1.0.8\n* Verifying Kubernetes components...\n* Some dashboard features require the metrics-server addon. To enable all features please run:\n\n        minikube addons enable metrics-server\n\n* Enabled addons: storage-provisioner, default-storageclass, dashboard\n* Done! kubectl is now configured to use \"minikube\" cluster and \"default\" namespace by default\n```\n\n## Additional links\n\n* [**Contributing**](./CONTRIBUTING.md)\n* [**Development Guide**](./docs/developer-guide.md)\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthalesgroup%2Fgokube","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthalesgroup%2Fgokube","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthalesgroup%2Fgokube/lists"}