{"id":16777042,"url":"https://github.com/rueian/aerial","last_synced_at":"2025-04-10T20:22:37.474Z","repository":{"id":56471563,"uuid":"290296386","full_name":"rueian/aerial","owner":"rueian","description":"Combination of Cilium Golang Envoy Filter and TCP tunnel to build Visual Studio Bridge To Kubernetes.","archived":false,"fork":false,"pushed_at":"2020-11-15T04:04:09.000Z","size":5708,"stargazers_count":26,"open_issues_count":0,"forks_count":3,"subscribers_count":4,"default_branch":"master","last_synced_at":"2023-08-13T10:08:00.671Z","etag":null,"topics":["cilium","kubernetes","networkpolicy"],"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/rueian.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}},"created_at":"2020-08-25T18:46:07.000Z","updated_at":"2023-08-13T10:08:00.672Z","dependencies_parsed_at":"2022-08-15T19:20:47.621Z","dependency_job_id":null,"html_url":"https://github.com/rueian/aerial","commit_stats":null,"previous_names":[],"tags_count":0,"template":null,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rueian%2Faerial","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rueian%2Faerial/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rueian%2Faerial/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rueian%2Faerial/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rueian","download_url":"https://codeload.github.com/rueian/aerial/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248289969,"owners_count":21078923,"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":["cilium","kubernetes","networkpolicy"],"created_at":"2024-10-13T07:11:44.348Z","updated_at":"2025-04-10T20:22:37.443Z","avatar_url":"https://github.com/rueian.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Aerial\n\nCombination of [Cilium Golang Envoy Filter](https://docs.cilium.io/en/v1.9/concepts/security/proxy/envoy/#go-extensions) \nand TCP tunnel to build [Visual Studio Bridge To Kubernetes](https://devblogs.microsoft.com/visualstudio/bridge-to-kubernetes-ga/).\n\n![example/overview.png](example/overview.png)\n\n# Why rebuild Bridge To Kubernetes?\n\nThe current version of Bridge To Kubernetes has some limitations, for example:\n1. Can't have multiple pods behind a k8s service.\n2. Can't have multiple container in a pod.\n3. Can't have TLS between pods.\n\nAnd these limitations can solved by the help of CNI.\n\nFull slides: https://speakerdeck.com/rueian/ciliums-envoy-filter-and-vs-bridge-to-kubernetes\n\n# Example Setup\n\n## Prepare\n\n* gcloud cli\n* helm cli \n\n```shell script\n# build tunnel client binary\nmake\n\n# create the example GKE cluster\nexport GCP_PROJECT=your-project\n./example/gke.sh\n\n# apply example services\nkubectl apply -f example/kube.yaml\n\n# make tunnel server accessible from local\nkubectl port-forward svc/aerial-tunnel 8080\n\n# redirect http /v1 traffic into service-c from cluster to local 9090 port\n./bin/aerial link \\\n    --addr 127.0.0.1:8080 \\\n    --bind 127.0.0.1:9090 \\\n    --svc service-c:80 --param PathRegex=/v1\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frueian%2Faerial","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frueian%2Faerial","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frueian%2Faerial/lists"}