{"id":13638626,"url":"https://github.com/greymatter-io/envoy-cue","last_synced_at":"2026-01-17T00:55:42.428Z","repository":{"id":63265221,"uuid":"464665788","full_name":"greymatter-io/envoy-cue","owner":"greymatter-io","description":"CUE definitions for Envoy","archived":false,"fork":false,"pushed_at":"2025-02-19T20:13:57.000Z","size":1692,"stargazers_count":3,"open_issues_count":2,"forks_count":0,"subscribers_count":14,"default_branch":"main","last_synced_at":"2025-02-19T21:24:22.689Z","etag":null,"topics":["cue","envoy","xds-api"],"latest_commit_sha":null,"homepage":"https://greymatter.io","language":"CUE","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/greymatter-io.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":"2022-02-28T22:33:56.000Z","updated_at":"2024-03-05T19:51:29.000Z","dependencies_parsed_at":"2024-11-09T08:32:43.999Z","dependency_job_id":"d9f0cece-7316-42fe-8278-46d5217d49d5","html_url":"https://github.com/greymatter-io/envoy-cue","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/greymatter-io%2Fenvoy-cue","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/greymatter-io%2Fenvoy-cue/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/greymatter-io%2Fenvoy-cue/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/greymatter-io%2Fenvoy-cue/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/greymatter-io","download_url":"https://codeload.github.com/greymatter-io/envoy-cue/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249764720,"owners_count":21322289,"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":["cue","envoy","xds-api"],"created_at":"2024-08-02T01:00:50.437Z","updated_at":"2026-01-17T00:55:42.394Z","avatar_url":"https://github.com/greymatter-io.png","language":"CUE","funding_links":[],"categories":["Projects"],"sub_categories":[],"readme":"# envoy-cue\n\nCUE schemas for Envoy configurations.\n\n## What's Included\n\nEvery Envoy config is converted to a corresponding CUE representation by a\nscheduled nightly job, and committed to the **envoy** branch in this repo.\nThese updates are periodically merged.\n\n## Methodology\n\nThe Envoy project defines all its config schemas as Protobuf, but right now\nProtobuf to CUE conversion is difficult in the case of large trees of .proto\nfiles. Instead, we generate CUE from the Go structs defined in\n[go-control-plane](https://github.com/envoyproxy/go-control-plane), becuase\nthat conversion is a lot simpler, thanks to Go's built in `ast` package.\n\n## Use as a dependency\n\nCUE does not yet have support for package management at the scale of systems like NPM\nor Go modules. To emulate the transfer and upgrading of CUE modules, \n[git submodules](https://git-scm.com/book/en/v2/Git-Tools-Submodules) are commonly used.\n\nIn the project that uses these CUE definitions:\n1. Run `cue mod init` (if you haven't already done so)\n    a. Edit the `cue.mod/module.cue` file to contain a module name for the project\n2. Run `mkdir -p cue.mod/pkg/envoyproxy.io`\n3. Run `git submodule add git@github.com:greymatter-io/envoy-cue cue.mod/pkg/envoyproxy.io/envoy-cue`\n\nTo update the submodule, run: `git submodule update --remote --init`\n\nWhen importing the definitions in the module, use the prefix `\"envoyproxy.io/envoy-cue\"` (the module name). For exmaple, importing the \nRBAC HTTP filter definition would look like: \n```\n\timport \"envoyproxy.io/envoy-cue/spec/extensions/filters/http/rbac/v3\"\n```\n\n\n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgreymatter-io%2Fenvoy-cue","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgreymatter-io%2Fenvoy-cue","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgreymatter-io%2Fenvoy-cue/lists"}