{"id":28024704,"url":"https://github.com/okteto/external-resources-gcp","last_synced_at":"2025-05-11T02:27:57.883Z","repository":{"id":165889308,"uuid":"624540087","full_name":"okteto/external-resources-gcp","owner":"okteto","description":"Create a Development Environment with Okteto, Kubernetes, and GCP Services","archived":false,"fork":false,"pushed_at":"2024-07-17T01:14:15.000Z","size":200,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-03-03T02:34:02.005Z","etag":null,"topics":["development-environment","development-experience","gcp","okteto"],"latest_commit_sha":null,"homepage":"https://okteto.com","language":"JavaScript","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/okteto.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":"2023-04-06T17:42:19.000Z","updated_at":"2024-07-17T01:14:18.000Z","dependencies_parsed_at":null,"dependency_job_id":"e7b40d7a-4a42-472a-82af-dedc657f42c6","html_url":"https://github.com/okteto/external-resources-gcp","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/okteto%2Fexternal-resources-gcp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/okteto%2Fexternal-resources-gcp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/okteto%2Fexternal-resources-gcp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/okteto%2Fexternal-resources-gcp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/okteto","download_url":"https://codeload.github.com/okteto/external-resources-gcp/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253506826,"owners_count":21919114,"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":["development-environment","development-experience","gcp","okteto"],"created_at":"2025-05-11T02:27:57.404Z","updated_at":"2025-05-11T02:27:57.869Z","avatar_url":"https://github.com/okteto.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Create a Development Environment with Okteto, Kubernetes, and GCP Services\n\nThis is an example of how to configure and deploy a development environment that includes polyglot microservices, an GCP pub/sub topic and subscription, and an GCP storage bucket.\n\n## Architecture\n\n![Architecture diagram](https://raw.githubusercontent.com/okteto/external-resources-gcp/main/docs/architecture.png)\n\n## Run the demo application in Okteto\n\n### Prerequisites:\n1. Okteto CLI 2.14 or newer\n1. A GCP account\n1. An Okteto account ([Sign-up](https://www.okteto.com/try-free/) for 30 day, self-hosted free trial)\n1. [Create a service account key](https://cloud.google.com/iam/docs/keys-create-delete) with create/read/write/delete permissions to pub/sub and storage of IAM keys for your GCP accoun.\n1. Add the following [Admin variables](https://www.okteto.com/docs/admin/dashboard/#admin-variables) in your Okteto cluster:\n\n        GCP_SERVICE_KEY: The `base64` encoded service account key with permission to create, write, read, and delete cloud resources. \n        GCP_PROJECT_ID: The project id you would like to use to create the cloud resources\n\n\n\u003e If you are using Okteto Self-Hosted, you can also use a [Workload Identity](https://www.okteto.com/docs/self-hosted/administration/configuration/#workload-identity)\n\nOnce this is configured, anyone with access to your Okteto instance will be able to deploy a development environment, including the required cloud infrastructure, automatically.\n\n\n```\n$ git clone https://github.com/okteto/external-resources-gcp\n$ cd external-resources-gcp\n$ okteto context use $OKTETO_URL\n$ okteto deploy\n```\n\n## Develop on the Menu microservice\n\n```\n$ okteto up menu\n```\n\n## Develop on the Kitchen microservice\n\n```\n$ okteto up kitchen\n```\n\n## Develop on the Result microservice\n\n```\n$ okteto up check\n```\n\n## Notes\n\nThis isn't an example of a properly architected, perfectly designed distributed app... it's a simple\nexample of the various types of pieces and languages you might see (queues, persistent data, etc), and how to\ndeal with them in Okteto.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fokteto%2Fexternal-resources-gcp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fokteto%2Fexternal-resources-gcp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fokteto%2Fexternal-resources-gcp/lists"}