{"id":13750480,"url":"https://github.com/envoyproxy/learnenvoy","last_synced_at":"2025-05-09T15:32:04.227Z","repository":{"id":38744670,"uuid":"118833665","full_name":"envoyproxy/learnenvoy","owner":"envoyproxy","description":"LearnEnvoy is a community content site that helps organizations get the most out of the Envoy proxy.","archived":true,"fork":false,"pushed_at":"2018-09-13T16:12:07.000Z","size":300,"stargazers_count":55,"open_issues_count":4,"forks_count":14,"subscribers_count":17,"default_branch":"master","last_synced_at":"2025-05-09T08:55:44.918Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://learnenvoy.io","language":"HTML","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/envoyproxy.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-01-24T23:08:27.000Z","updated_at":"2024-01-24T03:25:08.000Z","dependencies_parsed_at":"2022-08-20T11:31:11.384Z","dependency_job_id":null,"html_url":"https://github.com/envoyproxy/learnenvoy","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/envoyproxy%2Flearnenvoy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/envoyproxy%2Flearnenvoy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/envoyproxy%2Flearnenvoy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/envoyproxy%2Flearnenvoy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/envoyproxy","download_url":"https://codeload.github.com/envoyproxy/learnenvoy/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253275619,"owners_count":21882340,"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":[],"created_at":"2024-08-03T08:00:36.583Z","updated_at":"2025-05-09T15:32:03.846Z","avatar_url":"https://github.com/envoyproxy.png","language":"HTML","funding_links":[],"categories":["Documentation"],"sub_categories":[],"readme":"[//]: # ( Copyright 2018 Turbine Labs, Inc.                                   )\n[//]: # ( you may not use this file except in compliance with the License.    )\n[//]: # ( You may obtain a copy of the License at                             )\n[//]: # (                                                                     )\n[//]: # (     http://www.apache.org/licenses/LICENSE-2.0                      )\n[//]: # (                                                                     )\n[//]: # ( Unless required by applicable law or agreed to in writing, software )\n[//]: # ( distributed under the License is distributed on an \"AS IS\" BASIS,   )\n[//]: # ( WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or     )\n[//]: # ( implied. See the License for the specific language governing        )\n[//]: # ( permissions and limitations under the License.                      )\n\n[//]: # (LearnEnvoy)\n\n# LearnEnvoy\n\n[LearnEnvoy](https://learnenvoy.io) is a community content site that helps\norganizations get the most out of the\n[Envoy proxy](https://envoyproxy.github.io).\n\nThe goal of LearnEnvoy is to help developers go from \"hey, Envoy sounds\npowerful\" to a fully-functional production deployment.\n\nThe content is based on real production deployments, successes and failures, and\ninterviews with teams running Envoy at scale. The guides cover everything from\nthe configuration basics to strategies for distributed system resilience.\n\n## Project Background\n\nLearnEnvoy was originally developed at [Turbine\nLabs](https://www.turbinelabs.io). It was started based on the experiences\nbuilding [Houston](https://www.turbinelabs.io/product), a control plane,\nmanagement UI, and observability platform for Envoy.\n\nWe open-sourced this site because we know we're not always right, and even if we\nare, Envoy and its best practices are evolving faster than any single\norganization can keep up. Feel free to fork it, edit it, share it with others,\nand contribute back to it.\n\n## Contributing\n\nWant to contribute a change? Great! Here are a few ways you can jump in:\n\n - Be sure to read our [Code of Conduct](CODE_OF_CONDUCT.md)\n - Browse our [open issues](https://github.com/turbinelabs/learnenvoy/issues)\n - Suggest a new section or area for improvement by\n   [opening an issue](https://github.com/turbinelabs/learnenvoy/issues/new)\n\nIf you're running Envoy at your company and want your success story told, send\nan email to hello@turbinelabs.io. We'd love to interview you and post your\nexperience on the site.\n\n## Running LearnEnvoy.io\n\n### Prerequisites\n\n#### Git-lfs\n\nBefore cloning the repo, you'll need to [install git-lfs](https://git-lfs.github.com/).\nOtherwise you won't be able to see any of the images.\n\n#### Ruby\n\nJekyll is built with ruby. There are many ways to install ruby on a\nmac. Pick the one that is least infuriating to you. Using homebrew is a\nfine answer. You'll also need gems (installed with ruby if you're\nusing homebrew) and bundler, because how else are you going to gem\nup your gems. Then we wrap it all with make because we have to hoist some\njavascript out of the gems directory. It's beautiful.\n\n\n```shell\nbrew install ruby\ngem install bundler\n```\n\nthen verify you have reasonably modern versions\n\n```shell\n\u003e ruby -v\nruby 2.4.0p0 (2016-12-24 revision 57164) [x86_64-darwin16]\n\u003e bundle -v\nBundler version 1.14.6\n```\n\nNow, from within this project directory run\n\n```shell\nbundle\n```\n\nTo make sure your Gems are packaged up correctly for running jekyll\n\n### Building the site\n\nTo serve the site for local development, run\n\n```\nmake serve\n```\n\nThen go to http://localhost:4000\n\nTo build the site for distribution run\n\n```shell\nmake build\n```\n\nAnd gzip or whatever all the stuff in `_site`.\n\n## Site Architecture\n\n### Theme\n\nWe use the [agency theme](https://github.com/y7kim/agency-jekyll-theme) for the\nsite. Styling overrides are in `assets/main.scss` and in the `_sass`\ndirectory. We have copied all of the scss assets from the gem, so we shouldn't\nhave to worry about order of application from the gem and our thing (non-gem\nfiles _should_ take precedence)\n\n### Topics\n\nThe main page is organized along a series of topics. Topics are defined in four\nplaces (gross).\n\n1. `_includes/nav.html` defines the topmost nav. Each section needs an entry\n   here\n2. `_layouts/main.html` has an include for each topic\n3. `_includes/\u003ctopic\u003e.html` controls rendering for the topic\n4. `_data/\u003ctopic\u003e.yaml` provides a structured \"database\" of entries in a topic\n\n### Articles\n\nIf an item in `_data/\u003ctopic\u003e.yaml` contains an `article` field, jekyll will look\nfor a corresponding markdown file in the `_articles` subdirectory. Articles are\nrendered with the layout in `_layouts/article.html`. see\n`_data/getting-started.yaml` for a _very_ slim example for the 'on your laptop'\narticle.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fenvoyproxy%2Flearnenvoy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fenvoyproxy%2Flearnenvoy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fenvoyproxy%2Flearnenvoy/lists"}