{"id":30119977,"url":"https://github.com/stakater/whitelister","last_synced_at":"2025-08-10T12:52:24.420Z","repository":{"id":93166752,"uuid":"163843925","full_name":"stakater/Whitelister","owner":"stakater","description":"A tool to white list node and developer IPs for kubernetes.","archived":false,"fork":false,"pushed_at":"2023-12-15T02:45:06.000Z","size":162,"stargazers_count":14,"open_issues_count":3,"forks_count":6,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-07-11T06:37:00.474Z","etag":null,"topics":["k8s","kubernetes","security-group","stakater","whitelister"],"latest_commit_sha":null,"homepage":"https://stakater.com/opensource","language":"Go","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/stakater.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}},"created_at":"2019-01-02T13:22:35.000Z","updated_at":"2022-11-11T20:53:50.000Z","dependencies_parsed_at":"2023-12-15T03:39:59.282Z","dependency_job_id":"a0330dd4-7926-4ab8-a87c-d837b6dab73e","html_url":"https://github.com/stakater/Whitelister","commit_stats":{"total_commits":75,"total_committers":10,"mean_commits":7.5,"dds":0.56,"last_synced_commit":"f142a47e070b3fb9153fd9e325801c63f2d764f8"},"previous_names":[],"tags_count":16,"template":false,"template_full_name":null,"purl":"pkg:github/stakater/Whitelister","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stakater%2FWhitelister","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stakater%2FWhitelister/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stakater%2FWhitelister/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stakater%2FWhitelister/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/stakater","download_url":"https://codeload.github.com/stakater/Whitelister/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stakater%2FWhitelister/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":269727088,"owners_count":24465397,"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","status":"online","status_checked_at":"2025-08-10T02:00:08.965Z","response_time":71,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["k8s","kubernetes","security-group","stakater","whitelister"],"created_at":"2025-08-10T12:52:21.746Z","updated_at":"2025-08-10T12:52:24.401Z","avatar_url":"https://github.com/stakater.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ![](assets/web/whitelister-round-100px.png) Whitelister\n\n[![Go Report Card](https://goreportcard.com/badge/github.com/stakater/whitelister?style=flat-square)](https://goreportcard.com/report/github.com/stakater/whitelister)\n[![Go Doc](https://img.shields.io/badge/godoc-reference-blue.svg?style=flat-square)](http://godoc.org/github.com/stakater/whitelister)\n[![Release](https://img.shields.io/github/release/stakater/whitelister.svg?style=flat-square)](https://github.com/stakater/whitelister/releases/latest)\n[![GitHub tag](https://img.shields.io/github/tag/stakater/whitelister.svg?style=flat-square)](https://github.com/stakater/whitelister/releases/latest)\n[![Docker Pulls](https://img.shields.io/docker/pulls/stakater/whitelister.svg?style=flat-square)](https://hub.docker.com/r/stakater/whitelister/)\n[![Docker Stars](https://img.shields.io/docker/stars/stakater/whitelister.svg?style=flat-square)](https://hub.docker.com/r/stakater/whitelister/)\n[![MicroBadger Size](https://img.shields.io/microbadger/image-size/stakater/whitelister.svg?style=flat-square)](https://microbadger.com/images/stakater/whitelister)\n[![MicroBadger Layers](https://img.shields.io/microbadger/layers/stakater/whitelister.svg?style=flat-square)](https://microbadger.com/images/stakater/whitelister)\n[![license](https://img.shields.io/github/license/stakater/whitelister.svg?style=flat-square)](LICENSE)\n[![Get started with Stakater](https://stakater.github.io/README/stakater-github-banner.png)](http://stakater.com/?utm_source=whitelister\u0026utm_medium=github)\n\n## Problem\n\nWe would like to restrict access to servers to specific addresses only and keep audit trail of IP addresses allowed. \nA tool to manage access to servers based on IP addresses and ports.\n\n## Solution\n\nWhitelister can be used to manage security group rules that control access to servers on different ports.\n\nAt the moment it supports Kubernetes as an IP Provider and Aws as the cloud provider.\nYou can read more about the configuration options [here](docs/config.md)\n\n## Deploying to Kubernetes\n\nYou can deploy Whitelister by following methods\n\n### Vanilla Manifests\n\nYou can apply vanilla manifests by running the following command\n\n```bash\nkubectl apply -f https://raw.githubusercontent.com/stakater/Whitelister/master/deployments/kubernetes/whitelister.yaml\n```\n\nWhitelister gets deployed in `default` namespace and searches for ingresses in all namespaces with label name `whitelister` and label value `true`. You will have to modify this file and add your credentials to access the cloud provider.\n\n### Helm Charts\n\nAlternatively if you have configured helm on your cluster, you can add Whitelister to helm from our public chart repository and deploy it via helm using below mentioned commands\n\n```bash\nhelm repo add stakater https://stakater.github.io/stakater-charts\n\nhelm repo update\n\nhelm install stakater/whitelister\n```\n\n**Note:**  By default whitelister is installed in default namespace. To run in a specific namespace, please run following command. It will install Whitelister in `test` namespace.\n\n```bash\nhelm install stakater/whitelister --namespace test\n```\n\n## Use Case\n\n- Let's say that using [Scaler](https://github.com/stakater/scaler), you stop/destroy your dev severs at night and start/create them again in the morning for cost saving. This can cause your servers to have new IP addresses every day and it can be a tedious job to add IP addresses of multiple Servers to multiple Security Groups everyday.\n\n  This is where Whitelister comes to the rescue. It can automatically detect new server creation by fetching nodes from Kubernetes and then modify security group of selected Ingress to add Ip addresses of new servers and optionally delete IP Addresses for old servers.\n- Let's say you have a large team and you don't want to share cloud access with everyone. Now in order to still allow them to be able to access IP restricted servers, you can use a GIT repo which maintains a list of allowed IP addresses and users can add and remove the IP addresses there.\n\n## Help\n\n### Documentation\n\nYou can find more documentation [here](docs)\n\n### Have a question?\n\nFile a GitHub [issue](https://github.com/stakater/Whitelister/issues), or send us an [email](mailto:stakater@gmail.com).\n\n### Talk to us on Slack\n\nJoin and talk to us on Slack for discussing Whitelister\n\n[![Join Slack](https://stakater.github.io/README/stakater-join-slack-btn.png)](https://slack.stakater.com/)\n[![Chat](https://stakater.github.io/README/stakater-chat-btn.png)](https://stakater-community.slack.com/messages/C018GBSABM3)\n\n## Contributing\n\n### Bug Reports \u0026 Feature Requests\n\nPlease use the [issue tracker](https://github.com/stakater/Whitelister/issues) to report any bugs or file feature requests.\n\n### Developing\n\nPRs are welcome. In general, we follow the \"fork-and-pull\" Git workflow.\n\n 1. **Fork** the repo on GitHub\n 2. **Clone** the project to your own machine\n 3. **Commit** changes to your own branch\n 4. **Push** your work back up to your fork\n 5. Submit a **Pull request** so that we can review your changes\n\nNOTE: Be sure to merge the latest from \"upstream\" before making a pull request!\n\n## Changelog\n\nView our closed [Pull Requests](https://github.com/stakater/Whitelister/pulls?q=is%3Apr+is%3Aclosed).\n\n## License\n\nApache2 © [Stakater](http://stakater.com)\n\n## About\n\n`Whitelister` is maintained by [Stakater][website]. Like it? Please let us know at \u003chello@stakater.com\u003e\n\nSee [our other projects][community]\nor contact us in case of professional services and queries on \u003chello@stakater.com\u003e\n\n  [website]: http://stakater.com/\n  [community]: https://github.com/stakater/\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstakater%2Fwhitelister","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fstakater%2Fwhitelister","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstakater%2Fwhitelister/lists"}