{"id":13813081,"url":"https://github.com/eldarion-gondor/k8s-http-router","last_synced_at":"2025-05-14T22:31:44.405Z","repository":{"id":34019036,"uuid":"37776431","full_name":"eldarion-gondor/k8s-http-router","owner":"eldarion-gondor","description":"HTTP router for Kubernetes","archived":false,"fork":false,"pushed_at":"2015-06-20T17:08:50.000Z","size":128,"stargazers_count":23,"open_issues_count":0,"forks_count":0,"subscribers_count":11,"default_branch":"master","last_synced_at":"2024-11-19T07:40:36.271Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"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/eldarion-gondor.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":"2015-06-20T16:20:34.000Z","updated_at":"2019-07-15T09:14:31.000Z","dependencies_parsed_at":"2022-07-13T23:20:39.032Z","dependency_job_id":null,"html_url":"https://github.com/eldarion-gondor/k8s-http-router","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eldarion-gondor%2Fk8s-http-router","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eldarion-gondor%2Fk8s-http-router/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eldarion-gondor%2Fk8s-http-router/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eldarion-gondor%2Fk8s-http-router/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/eldarion-gondor","download_url":"https://codeload.github.com/eldarion-gondor/k8s-http-router/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254239680,"owners_count":22037751,"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":[],"created_at":"2024-08-04T04:01:02.056Z","updated_at":"2025-05-14T22:31:39.384Z","avatar_url":"https://github.com/eldarion-gondor.png","language":"Go","funding_links":[],"categories":["Go"],"sub_categories":[],"readme":"# k8s-http-router\n\n\u003e Warning: this project is very new and might have some issues. We have been using it successfully in our testing clusters for a couple of months. Bug reports are welcome!g\n\nThis project has been pulled from the new Gondor backend built on Kubernetes. It simply routes HTTP requests to Kubernetes services using the HTTP Host header. Additional configuration can be specified, but nothing else is currently supported.\n\n# Setup\n\nTo get k8s-http-router running on your Kubernetes cluster you can use the following replication controller:\n\n    kind: ReplicationController\n    apiVersion: v1beta3\n    metadata:\n        name: router\n    spec:\n        replicas: 3\n        selector:\n            name: router\n        template:\n            metadata:\n              labels:\n                name: router\n            spec:\n              containers:\n                - name: router\n                  image: quay.io/eldarion/k8s-http-router\n                  ports:\n                    - name: router-http\n                      containerPort: 80\n                    - name: router-https\n                      containerPort: 443\n\nand service:\n\n    kind: Service\n    apiVersion: v1beta3\n    metadata:\n        name: router\n        labels:\n            name: router\n    spec:\n        selector:\n            name: router\n        ports:\n            - name: router-http\n              port: 80\n            - name: router-https\n              port: 443\n        createExternalLoadBalancer: true\n\nTo add a service to route, use the `router` annotation:\n\n    kind: Service\n    apiVersion: v1beta3\n    metadata:\n        name: my-website\n        labels:\n            name: my-website\n        annotations:\n            router: '{\"config\": {}, \"hosts\": [\"example.com\"]}'\n        spec:\n            selector:\n                name: my-website\n            ports:\n                - port: 80\n                  targetPort: 8000\n\nk8s-http-router will watch for service changes and keep its internal data structures up-to-date with changes in the Kubernetes service objects.\n\n# Credit\n\nThanks to Google for the amazing [Kubernetes](https://github.com/GoogleCloudPlatform/kubernetes) project.\n\nThanks to the [flynn](https://github.com/flynn/flynn) project for a great router design this is inspired by, but stripped down and modified for Kubernetes.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feldarion-gondor%2Fk8s-http-router","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Feldarion-gondor%2Fk8s-http-router","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feldarion-gondor%2Fk8s-http-router/lists"}