{"id":18690502,"url":"https://github.com/kvaps/bridget","last_synced_at":"2025-04-12T06:02:58.104Z","repository":{"id":44341028,"uuid":"114904089","full_name":"kvaps/bridget","owner":"kvaps","description":"Simple bridge network for kubernetes","archived":false,"fork":false,"pushed_at":"2020-10-16T07:53:08.000Z","size":79,"stargazers_count":44,"open_issues_count":3,"forks_count":11,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-26T01:24:12.107Z","etag":null,"topics":["bridge-network","bridget","cni","kubernetes","pipework","pod-network","vlan"],"latest_commit_sha":null,"homepage":"","language":"Shell","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/kvaps.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}},"created_at":"2017-12-20T15:43:18.000Z","updated_at":"2024-07-30T14:25:27.000Z","dependencies_parsed_at":"2022-08-23T16:40:14.963Z","dependency_job_id":null,"html_url":"https://github.com/kvaps/bridget","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kvaps%2Fbridget","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kvaps%2Fbridget/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kvaps%2Fbridget/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kvaps%2Fbridget/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kvaps","download_url":"https://codeload.github.com/kvaps/bridget/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248525137,"owners_count":21118616,"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":["bridge-network","bridget","cni","kubernetes","pipework","pod-network","vlan"],"created_at":"2024-11-07T10:47:48.886Z","updated_at":"2025-04-12T06:02:58.071Z","avatar_url":"https://github.com/kvaps.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# bridget\n\n![](images/logo.svg)\n\nSimple bridge network for kubernetes\n\n![](https://img.shields.io/docker/build/kvaps/bridget.svg)\n\n## How it works\n\nbridget is a short shell script that helps you to organise simple bridged network for Kubernetes.\nThere are no overlays, no policies. Just a flat L2-network across all your hosts and pods.\n\nIn addition bridget can automatically configure VLAN and bridge interfaces for that. See the picture:\n\n![](images/scheme.svg)\n\nbridget automatically retrieves node cidr from your pod-network and configures cni to use it.\n\n## Parameters\n\nAll parameters are passed as environment variables:\n\n - **BRIDGE** *(example: `cbr0`)* - Bridge name. Mandatory option.\n - **VLAN** *(example: `100`)* - VLAN id. If set, a new vlan-interface under IFACE will be created and added to BRIDGE.\n - **IFACE** *(example: `eth0`)* - Physical interface to connect bridge to. Mandatory if VLAN is set, but can also be used alone.\n - **MTU** *(default: `1500`)* - MTU value for cni config\n - **CHECK_SLAVES** *(default: `1`)* - Make bridget configure slave interfaces if the bridge already exists.\n - **POD_NETWORK** *(default: `10.244.0.0/16`)* - Your pod network.\n - **DEBUG** *(default: `0`)* - Enable verbose output.\n\n## Quick start\n\n* Instantiate your kubernetes with `--pod-network-cidr=10.244.0.0/16` flag.\n\n* Download yaml file:\n```\ncurl -O https://raw.githubusercontent.com/kvaps/bridget/master/bridget.yaml\n```\n\n* Edit desired parameters:\n```\nvim bridget.yaml\n```\n\nBy default bridget uses `cbr0` bridge that isn't connected anywhere, so you need to either set IFACE and VLAN parameters\nor configure your host system to connect the physical interface to this bridge manually.\n\nPlease make sure that you have no IP address on the bridge because it will be configured automatically.\n\n* Run daemonset:\n```\nkubectl create -f bridget.yaml\n```\n\n## Update\n\n* Check your `bridget.yaml` for changes.\n\n* Run:\n```\nkubectl delete -f bridget.yaml\nkubectl create -f bridget.yaml\n```\n\n## Alternatives\n\nThere aren't a lot of alternatives if you want to use flat L2-network with kubernetes.\n\nEven with most of the existing solutions like [flannel](https://github.com/coreos/flannel)'s or\n[romana](https://github.com/romana/romana)'s L2 modes it's still quite difficult to use your own rules\nfor NATing and routing. So you gain flexible policies and some other things, but lose simplicity and\nproductivity of a simple L2-network.\n\nBridget was created under [pipework](https://github.com/kvaps/kube-pipework)'s inspiration.\npipework allows you to add single interfaces to your containers, but with additional manual actions,\nand Kubernetes doesn't know anything about your manual changes.\n\nUnlike pipework, bridget uses [CNI](https://github.com/containernetworking/cni) to configure pod interfaces.\nAs a result all configuration occurs automatically and kubernetes gets right IP-addresses.\n\nAnother alternative is to сreate your own CNI configuration with [bridge](https://github.com/containernetworking/plugins/tree/master/plugins/main/bridge)\nor [macvlan](https://github.com/containernetworking/plugins/tree/master/plugins/main/macvlan) plugin for each of your hosts.\n\n## Contact\n\n* Author: [kvaps](mailto:kvapss@gmail.com)\n* Bugs: [issues](https://github.com/kvaps/bridget/issues)\n\n## Contributing\n\nUse Pull Requests to contribute bugfixes or new features. It is assumed that your code and documentation are contributed under the Apache License 2.0.\n\n## Reporting bugs\n\nPlease use github issue-tracker to submit bugs\n\n## License\n\nbridget is distributed under the Apache 2.0 license. See the [LICENSE](LICENSE) file for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkvaps%2Fbridget","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkvaps%2Fbridget","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkvaps%2Fbridget/lists"}