{"id":15221544,"url":"https://github.com/googlecloudplatform/gke-poc-toolkit","last_synced_at":"2025-04-05T10:08:07.342Z","repository":{"id":37798189,"uuid":"355571323","full_name":"GoogleCloudPlatform/gke-poc-toolkit","owner":"GoogleCloudPlatform","description":"📦 Demo generator for Google Kubernetes Engine! ","archived":false,"fork":false,"pushed_at":"2025-03-13T01:14:26.000Z","size":13483,"stargazers_count":93,"open_issues_count":14,"forks_count":36,"subscribers_count":23,"default_branch":"main","last_synced_at":"2025-03-30T15:42:54.906Z","etag":null,"topics":["anthos","gcp","gke","kubernetes","terraform"],"latest_commit_sha":null,"homepage":"","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/GoogleCloudPlatform.png","metadata":{"files":{"readme":"README.md","changelog":null,"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}},"created_at":"2021-04-07T14:16:57.000Z","updated_at":"2025-02-11T13:06:02.000Z","dependencies_parsed_at":"2022-06-22T16:41:51.545Z","dependency_job_id":"3a9ae141-e195-4571-91b8-100d63123b9d","html_url":"https://github.com/GoogleCloudPlatform/gke-poc-toolkit","commit_stats":null,"previous_names":[],"tags_count":16,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GoogleCloudPlatform%2Fgke-poc-toolkit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GoogleCloudPlatform%2Fgke-poc-toolkit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GoogleCloudPlatform%2Fgke-poc-toolkit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GoogleCloudPlatform%2Fgke-poc-toolkit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/GoogleCloudPlatform","download_url":"https://codeload.github.com/GoogleCloudPlatform/gke-poc-toolkit/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247318744,"owners_count":20919484,"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":["anthos","gcp","gke","kubernetes","terraform"],"created_at":"2024-09-28T15:05:44.912Z","updated_at":"2025-04-05T10:08:07.310Z","avatar_url":"https://github.com/GoogleCloudPlatform.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# GKE PoC Toolkit\n\n![release](https://img.shields.io/github/v/release/googlecloudplatform/gke-poc-toolkit) ![stars](https://img.shields.io/github/stars/GoogleCloudPlatform/gke-poc-toolkit) ![license](https://img.shields.io/github/license/GoogleCloudPlatform/gke-poc-toolkit)\n\n\n![logo](assets/logo-256.png)\n\nThe GKE Proof of Concept (PoC) Toolkit is a demo generator for [Google Kubernetes Engine](https://cloud.google.com/kubernetes-engine). \n\n![demo-gif](assets/demo.gif)\n  \n## Quickstart \n\n1. **[Create a Google Cloud Project](https://cloud.google.com/resource-manager/docs/creating-managing-projects)** and connect it to an existing Billing account.\n2. **Open a bash-compatible shell** (eg. [Google Cloud Shell](https://cloud.google.com/shell)) and ensure you have the following tools installed: \n\n* [Google Cloud SDK version \u003e= 325.0.0](https://cloud.google.com/sdk/docs/downloads-versioned-archives)\n* * [Terraform \u003e= 0.13](https://www.terraform.io/downloads.html)\n* [kubectl](https://kubernetes.io/docs/tasks/tools/) ( \u003e= v1.20)\n\n3. **Set your Project ID environment variable and operating system.** \n\n```bash\nexport PROJECT_ID=\u003cyour-project-id\u003e\nexport OS=\"darwin\" # choice of darwin or amd64 \n```\n\n4. **Set up local authentication to your project.**\n\n```\ngcloud config set project $PROJECT_ID\ngcloud auth login\ngcloud auth application-default login\n```\n\n5. **Download the GKE PoC Toolkit binary.** \n\n```shell\nmkdir gke-poc-toolkit \u0026\u0026 cd \"$_\"\nVERSION=$(curl -s https://api.github.com/repos/GoogleCloudPlatform/gke-poc-toolkit/releases/latest | grep browser_download_url | cut -d \"/\" -f 8 | tail -1)\ncurl -sLSf -o ./gkekitctl https://github.com/GoogleCloudPlatform/gke-poc-toolkit/releases/download/${VERSION}/gkekitctl-${OS} \u0026\u0026 chmod +x ./gkekitctl\n```\n\n6. **Initialize the cli:**\n```bash \n./gkekitctl init\n```\n\n7. **Run `gkekitctl apply` to run the Toolkit.** By default, this command sets up a single-cluster GKE environment. ([Configuration here](cli/pkg/cli_init/samples/default-config.yaml)). Enter your project ID when prompted.\n\n```shell\n./gkekitctl apply\n```\n```shell\n# expected output \nINFO[0000] ☸️ ----- GKE POC TOOLKIT ----- 🛠\nINFO[0000] Enter your Google Cloud Project ID:\n```\n\nThis command takes about **10 minutes** to run; when it completes, you will have a full GKE demo environment ready to explore and deploy applications to. \n\n```bash\n# Expected output on successful run \nApply complete! Resources: 61 added, 0 changed, 0 destroyed.\ntime=\"2022-02-04T21:57:59Z\" level=info msg=\"🔄 Finishing ACM install...\"\ntime=\"2022-02-04T21:57:59Z\" level=info msg=\"☸️ Generating Kubeconfig...\"\ntime=\"2022-02-04T21:57:59Z\" level=info msg=\"Clusters Project ID is gpt-e2etest-020422-214428\"\ntime=\"2022-02-04T21:58:00Z\" level=info msg=\"Connecting to cluster: gke_gpt-e2etest-020422-214428_us-central1_gke-central,\"\ntime=\"2022-02-04T21:58:00Z\" level=info msg=\"✔️ Kubeconfig generated: \u0026{Kind:Config APIVersion:v1 Preferences:{Colors:false Extensions:map[]} Clusters:map[gke_gpt-e2etest-020422-214428_us-central1_gke-central:0xc000844900] AuthInfos:map[gke_gpt-e2etest-020422-214428_us-central1_gke-central:0xc0008a23c0] Contexts:map[gke_gpt-e2etest-020422-214428_us-central1_gke-central:0xc0012bad20] CurrentContext: Extensions:map[]}\"\ntime=\"2022-02-04T21:58:00Z\" level=info msg=\"☸️  Verifying Kubernetes API access for all clusters...\"\ntime=\"2022-02-04T21:58:00Z\" level=info msg=\"🌎 5 Namespaces found in cluster=gke_gpt-e2etest-020422-214428_us-central1_gke-central\"\n```\n\n## Update\n\nIf you want to update your environment change the config file and re-run the apply command. This is a great way to add or remove clusters.\n```bash\n## Local tf state \n./gkekitctl apply --config \u003c\"config file name\"\u003e\n\n## If you are using remote TF state \n./gkekitctl apply --config \u003c\"config file name\"\u003e --gkestate \u003c\"bucket name used for state file\"\u003e --vpcstate \u003c\"if using sharevpc, bucket name for shared vpc state file\"\u003e\n```\n\n## Clean up \n\n```bash\n./gkekitctl delete\n```\n\n## Learn More\n\n- [🤔 FAQ](/docs/frequently-asked-questions.md)  \n- [✏️ Configuration](/docs/configuration.md): how to customize your Toolkit environment \n- [📦 Building Demos with the Toolkit](/docs/building-demos.md) \n- [🗺 Architecture](/docs/architecture.md)\n- [📊 Analytics](/docs/analytics.md)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgooglecloudplatform%2Fgke-poc-toolkit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgooglecloudplatform%2Fgke-poc-toolkit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgooglecloudplatform%2Fgke-poc-toolkit/lists"}