{"id":34936139,"url":"https://github.com/omio-labs/kubernetes-ingressify","last_synced_at":"2026-04-10T22:37:09.665Z","repository":{"id":52098355,"uuid":"110538564","full_name":"omio-labs/kubernetes-ingressify","owner":"omio-labs","description":"Generate your own kubernetes ingress-driven configuration for any backend router","archived":false,"fork":false,"pushed_at":"2022-03-26T12:07:52.000Z","size":1638,"stargazers_count":3,"open_issues_count":3,"forks_count":0,"subscribers_count":104,"default_branch":"master","last_synced_at":"2026-04-10T22:36:53.841Z","etag":null,"topics":["devops","devops-tools","docker","ingress","kubernetes","proxy","router"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/omio-labs.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-11-13T11:14:30.000Z","updated_at":"2024-12-05T10:43:04.000Z","dependencies_parsed_at":"2022-09-07T05:11:30.451Z","dependency_job_id":null,"html_url":"https://github.com/omio-labs/kubernetes-ingressify","commit_stats":null,"previous_names":["goeuro/kubernetes-ingressify","goeuro/ingress-generator-kit"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/omio-labs/kubernetes-ingressify","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/omio-labs%2Fkubernetes-ingressify","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/omio-labs%2Fkubernetes-ingressify/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/omio-labs%2Fkubernetes-ingressify/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/omio-labs%2Fkubernetes-ingressify/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/omio-labs","download_url":"https://codeload.github.com/omio-labs/kubernetes-ingressify/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/omio-labs%2Fkubernetes-ingressify/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31662169,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-10T17:19:37.612Z","status":"ssl_error","status_checked_at":"2026-04-10T17:19:13.364Z","response_time":98,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["devops","devops-tools","docker","ingress","kubernetes","proxy","router"],"created_at":"2025-12-26T18:08:25.543Z","updated_at":"2026-04-10T22:37:09.658Z","avatar_url":"https://github.com/omio-labs.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# kubernetes-ingressify\n\n[![Latest Release](https://img.shields.io/github/release/goeuro/kubernetes-ingressify.svg)](https://github.com/goeuro/kubernetes-ingressify/releases/latest)\n[![Build Status](https://img.shields.io/travis/goeuro/kubernetes-ingressify.svg?label=master)](https://travis-ci.org/goeuro/kubernetes-ingressify)\n[![Release Status](https://img.shields.io/travis/goeuro/kubernetes-ingressify/v0.0.1-snapshot.svg?label=release)](https://travis-ci.org/goeuro/kubernetes-ingressify/branches)\n[![Go Report Card](https://goreportcard.com/badge/github.com/goeuro/kubernetes-ingressify)](https://goreportcard.com/report/github.com/goeuro/kubernetes-ingressify)\n[![codecov](https://codecov.io/gh/goeuro/kubernetes-ingressify/branch/master/graph/badge.svg)](https://codecov.io/gh/goeuro/kubernetes-ingressify)\n\nThis is a simple binary that watches kubernetes ingress rules, renders your template and calls your script.\nYou can use this to generate ingress-based configuration for any backend router.\n\n## Why?\n\nThere are multiple kubernetes ingress controller implementations.\nUnfortunately they control both router implementation (how router is compiled, built, etc), behavior and configuration.\nIts not easy to extend them and add custom logic, e.g. adding custom modules or plugins on the router, custom annotations and routing features, overriding templates, etc.\nDifferent organizations have different traffic handling needs, and having a third-party ingress controller own everything is not possible in many scenarios.\nBut at the same time, the cost of writing your own ingress controller is also quite high.\nThis is an attempt to decouple router implementation from configuration and allow anyone to easily create their own ingress controllers.\n\n## Roadmap\n\n- [x] Bootstrap\n- [ ] Poll ingress rules, templating and implementation\n- [ ] Release v0.1\n- [ ] Watch endpoint events, templating and implementation\n- [ ] Release v0.2\n- [ ] Documentation and examples\n\n## Usage\n\nWe have a special release called `v0.0.1-snapshot` which always reflects master build.\nPlease go ahead and grab it: https://github.com/goeuro/kubernetes-ingressify/releases/tag/v0.0.1-snapshot\n\nCreate a configuration file:\n\n```\n# ingress.cfg\nkubeconfig: \u003cpath to kubeconfig, leave it empty for in-cluster authentication\u003e\nin_template: \u003cpath to template, context provided to template will be documented, defaults to ingress.cfg.tpl\u003e\nout_file: \u003cpath to output file, defaults to ingress.cfg\u003e\ninterval: \u003ctime between executions\u003e, for field format refer to https://golang.org/pkg/time/#ParseDuration \nhooks:\n  post-render:\n    - script 1\n    - script 2\n    - ...\n    - script n \n```\n\nRun it:\n\n```\nkubernetes-ingressify -config ingress.cfg\n```\n\nFor more usage details, please refer to the [examples](https://github.com/goeuro/kubernetes-ingressify/tree/master/examples) \n\n## Development\n\nUse docker/docker-compose to develop. You don't need to have golang installed.\n\n* `docker-compose build` Builds image for development\n* `docker-compose run --rm default /bin/bash` Gives you a terminal inside the container, from where you can run go commands like:\n  * `bin/test.sh` Runs all tests\n  * `gofmt -s -w .` Fix code formatting\n  * `go run main.go` Compiles and runs main\n* Adding dependencies:\n  * catch-22: godep has issues, dep is alpha (not all libs support it) and glide is deprecated in favor of dep\n  * We use Godep as the least working option, but it means slightly additional effort when adding dependencies\n  * SSH into your container (as above) and follow https://github.com/tools/godep#add-a-dependency\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fomio-labs%2Fkubernetes-ingressify","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fomio-labs%2Fkubernetes-ingressify","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fomio-labs%2Fkubernetes-ingressify/lists"}