{"id":27879410,"url":"https://github.com/rupesh40/istio-grpc-using-minikube","last_synced_at":"2026-05-04T12:36:25.789Z","repository":{"id":219385290,"uuid":"364264764","full_name":"rupesh40/istio-grpc-using-minikube","owner":"rupesh40","description":"Istio Grpc Go App using Minikube","archived":false,"fork":false,"pushed_at":"2025-04-09T10:28:32.000Z","size":5519,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-06-06T10:41:46.117Z","etag":null,"topics":["docker","go","golang","istio","kubernetes","minikube"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rupesh40.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2021-05-04T13:26:42.000Z","updated_at":"2025-04-09T10:28:36.000Z","dependencies_parsed_at":"2025-05-05T03:38:48.734Z","dependency_job_id":null,"html_url":"https://github.com/rupesh40/istio-grpc-using-minikube","commit_stats":null,"previous_names":["rupesh40/istio-grpc-using-minikube"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/rupesh40/istio-grpc-using-minikube","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rupesh40%2Fistio-grpc-using-minikube","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rupesh40%2Fistio-grpc-using-minikube/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rupesh40%2Fistio-grpc-using-minikube/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rupesh40%2Fistio-grpc-using-minikube/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rupesh40","download_url":"https://codeload.github.com/rupesh40/istio-grpc-using-minikube/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rupesh40%2Fistio-grpc-using-minikube/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32607902,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-04T10:08:07.713Z","status":"ssl_error","status_checked_at":"2026-05-04T10:08:02.005Z","response_time":58,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["docker","go","golang","istio","kubernetes","minikube"],"created_at":"2025-05-05T03:21:39.427Z","updated_at":"2026-05-04T12:36:25.775Z","avatar_url":"https://github.com/rupesh40.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Istio gRPC with Minikube (Golang)\n\nThis project demonstrates a simple implementation of **gRPC** with **Istio Service Mesh** on a local **Minikube** Kubernetes cluster. Applications are containerized using Docker, and Istio is used as a gateway and load balancer.\n\n---\n\n## ✅ Prerequisites\n- **Go compiler** installed\n- **Operating System:** Windows 10 (with WSL2)\n- **Minikube version:** v1.19.0\n- **Docker Desktop version:** 3.3.2 (Engine: v20.10.5)\n- **Istio version:** 1.9.4\n\n---\n\n## 🚀 Setup Guide (10 Steps)\n\n### Step 1: Enable WSL2\nInstall and enable Windows Subsystem for Linux (WSL2):  \n🔗 [WSL2 Setup Guide](https://docs.microsoft.com/en-us/windows/wsl/install-win10)\n\n### Step 2: Install Docker Desktop for Windows\n- Open Docker Dashboard → Settings → Enable WSL2 integration\n- Ensure Ubuntu is selected/enabled\n\n### Step 3: Set Up Ubuntu\n- Install Ubuntu from Microsoft Store\n- Launch Ubuntu and complete initial setup\n\n### Step 4: Clone the Repository\n- Clone or download this repository\n- Navigate to the project folder in WSL terminal via VSCode or command line:\n```bash\ncd /path/to/project\nwsl\n```\n\n### Step 5: Install Minikube\nRun these commands in the WSL terminal:\n```bash\ncurl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64\nsudo install minikube-linux-amd64 /usr/local/bin/minikube\n```\nSet the driver to Docker:\n```bash\nminikube config set driver docker\n```\nStart the Kubernetes cluster:\n```bash\nminikube start --memory=4096 --cpus=4\n```\n\n### Step 6: Install Istio (Demo Profile)\nFollow steps 1–5 here:  \n🔗 [Istio Getting Started Guide](https://istio.io/latest/docs/setup/getting-started/)\n\nAdd a namespace label for automatic Envoy sidecar injection:\n```bash\nkubectl label namespace default istio-injection=enabled\n```\n\n### Step 7: Copy Istio YAML Files\n- Copy the `istio-yaml/` folder from this repo into the `istio-1.9.4` directory (or your version)\n\n### Step 8: Deploy Application to Cluster\nRun from within the `istio-1.9.4` directory:\n```bash\nkubectl apply -f istio-yaml/grpc.yaml\n```\nCheck pod status:\n```bash\nkubectl get pods\n```\n\n### Step 9: Start Minikube Tunnel\nRun this in a new terminal (keep it running):\n```bash\nminikube tunnel\n```\n\n### Step 10: Run the gRPC Client\nIn a new terminal, run:\n```bash\ngo run client.go\n```\n\n---\n\n## 🎉 Result\nYou’ve successfully set up **Istio Service Mesh** with **gRPC** and **Minikube** on your local Windows machine!\n\n---\n\n## 📁 Project Structure\n```\n├── client.go\n├── server.go\n├── proto/\n├── Dockerfile\n├── istio-yaml/\n└── README.md\n```\n\n---\n\n## 📌 Notes\n- Replace version numbers according to your installed versions\n- Ensure Docker and Minikube are correctly communicating\n- Minikube tunnel must remain running for the service to be accessible\n\n---\n\n## 📬 Questions?\nFeel free to open an issue or PR for improvements!\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frupesh40%2Fistio-grpc-using-minikube","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frupesh40%2Fistio-grpc-using-minikube","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frupesh40%2Fistio-grpc-using-minikube/lists"}