{"id":27160399,"url":"https://github.com/truegoric/k8s-insider","last_synced_at":"2025-04-08T23:45:15.980Z","repository":{"id":172883311,"uuid":"648674691","full_name":"TrueGoric/k8s-insider","owner":"TrueGoric","description":"A zero-config way to access your kubernetes cluster network","archived":false,"fork":false,"pushed_at":"2024-01-19T16:17:50.000Z","size":998,"stargazers_count":109,"open_issues_count":15,"forks_count":2,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-02T01:19:23.776Z","etag":null,"topics":["cli","developer-tools","krew","kubectl","kubernetes","operator","vpn","wireguard"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/TrueGoric.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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-06-02T14:22:18.000Z","updated_at":"2025-02-16T01:04:07.000Z","dependencies_parsed_at":null,"dependency_job_id":"b25757a1-eb0a-439f-a747-4de8543477d1","html_url":"https://github.com/TrueGoric/k8s-insider","commit_stats":null,"previous_names":["truegoric/k8s-insider"],"tags_count":37,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TrueGoric%2Fk8s-insider","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TrueGoric%2Fk8s-insider/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TrueGoric%2Fk8s-insider/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TrueGoric%2Fk8s-insider/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/TrueGoric","download_url":"https://codeload.github.com/TrueGoric/k8s-insider/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247947821,"owners_count":21023058,"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":["cli","developer-tools","krew","kubectl","kubernetes","operator","vpn","wireguard"],"created_at":"2025-04-08T23:45:15.517Z","updated_at":"2025-04-08T23:45:15.963Z","avatar_url":"https://github.com/TrueGoric.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# k8s-insider\nA zero-config way to access you kubernetes cluster network\n\n## Overview\nOriginally a workaround that got out of hand, k8s-insider is a one-stop-shop for accessing your development kubernetes cluster networked resources.\n\nThe app works by deploying an operator to the cluster and applying CRDs with network and tunnel definitions, which are then reconciled by the operator pods. After networks and tunnels are applied to the cluster and reconciled, the CLI app reads their state and generates and/or applies WireGuard configurations on the user's machine.\n\n`Network` and `Tunnel` CRDs are namespaced and can be RBACed easily. The traffic is routed through separate _router_ pods and can be shaped with network policies.\n\n## Features\n - Multiple networks per cluster\n - Dynamic IP assignment\n - Automatic detection of service and pod CIDRs for:\n   - Flannel (installed with Helm/CLI)\n   - Cilium (installed with Helm/CLI)\n - DNS resolution for pods and services\n\n## Planned features\n - NAT-free routing\n - IPv6 support\n\n## Requirements\n - GNU/Linux:\n   - `kubectl` with configured contexts\n   - `wireguard-tools` for creating local tunnels\n   - `systemd-resolved` for DNS patch functionality\n - Windows:\n   - `kubectl` with configured contexts\n   - `WireGuard for Windows` for creating local tunnels\n\n## Installation\n### `cargo` (GNU/Linux and Windows)\n```bash\ncargo install --locked k8s-insider\n```\n\n\u003c!--### `krew` (GNU/Linux and Windows)\n```bash\nkubectl krew install insider\n```\n\nWhen installing with `kubectl krew` the app will be accessible through `kubectl insider` command instead of the regular `k8s-insider`.--\u003e\n\n## Quickstart\n```bash\nk8s-insider install\nk8s-insider create network\nk8s-insider connect\n```\n\n![Demo](demo.gif)\n\n## Current limitations\nSome autodetection functionality might not work properly on single-binary kubernetes distributions (k3s, k0s, etc.). Please feel free to create an issue or submit a PR for these.\n\n## License notice\nCopyright (C) 2023 Marcin Jędrasik\n\nThis program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.\n\nThis program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.\n\nYou should have received a copy of the GNU General Public License along with this program. If not, see \u003chttps://www.gnu.org/licenses/\u003e. ","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftruegoric%2Fk8s-insider","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftruegoric%2Fk8s-insider","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftruegoric%2Fk8s-insider/lists"}