{"id":46566848,"url":"https://github.com/pelotech/kic","last_synced_at":"2026-03-07T07:30:59.019Z","repository":{"id":302483557,"uuid":"1012219908","full_name":"pelotech/kic","owner":"pelotech","description":"K8s controller to update dns (currently coredns) with ingress configuration to help remove hairpin ","archived":false,"fork":false,"pushed_at":"2026-03-06T18:53:56.000Z","size":126,"stargazers_count":1,"open_issues_count":11,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-03-06T21:57:28.033Z","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/pelotech.png","metadata":{"files":{"readme":"docs/README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":null,"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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-07-02T02:25:23.000Z","updated_at":"2025-12-20T16:28:12.000Z","dependencies_parsed_at":"2025-07-02T16:44:32.801Z","dependency_job_id":"7a049ce6-c831-4534-b4e7-c0cd67a3de7d","html_url":"https://github.com/pelotech/kic","commit_stats":null,"previous_names":["pelotech/kic"],"tags_count":7,"template":false,"template_full_name":null,"purl":"pkg:github/pelotech/kic","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pelotech%2Fkic","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pelotech%2Fkic/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pelotech%2Fkic/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pelotech%2Fkic/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pelotech","download_url":"https://codeload.github.com/pelotech/kic/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pelotech%2Fkic/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30209716,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-07T05:23:27.321Z","status":"ssl_error","status_checked_at":"2026-03-07T05:00:17.256Z","response_time":53,"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":[],"created_at":"2026-03-07T07:30:57.222Z","updated_at":"2026-03-07T07:30:59.014Z","avatar_url":"https://github.com/pelotech.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"![release-please](https://github.com/pelotech/kic/actions/workflows/release-please.yaml/badge.svg)\n\n# KIC\nK8s controller to update dns (currently coredns) with ingress configuration to help remove hairpin\n\n# General\nThis is an early stage project with limited scope. This is currently in alpha level status\n\n## Assumptions on the k8s cluster\n1. tls termination is in cluster - invalid cert issues others\n2. uses coredns - future might include additional cluster dns providers\n\n## Running the Application\n\nThis application is a Kubernetes controller. It is typically deployed to a Kubernetes cluster using a Docker image.\nThe `Makefile` provides targets for building and deploying the controller:\n\n```bash\n# Build the Docker image\nmake docker-build\n\n# Deploy the controller to the cluster\nmake deploy\n```\n\n### Command-line Parameters\n\nThe controller accepts the following command-line parameters:\n\n| Parameter                      | Description                                                                                                 | Default Value                        |\n| ------------------------------ |-------------------------------------------------------------------------------------------------------------|--------------------------------------|\n| `metrics-bind-address`         | The address the metrics endpoint binds to. Use `:8443` for HTTPS or `:8080` for HTTP. Set to `0` to disable. | `0`                                  |\n| `health-probe-bind-address`    | The address the health probe endpoint binds to.                                                             | `:8081`                              |\n| `leader-elect`                 | Enable leader election for controller manager. Ensures only one active controller manager.                  | `false`                              |\n| `metrics-secure`               | If `true`, the metrics endpoint is served securely via HTTPS. Set to `false` for HTTP.                      | `true`                               |\n| `webhook-cert-path`            | Directory containing the webhook certificate.                                                               | `\"\"`                                 |\n| `webhook-cert-name`            | Name of the webhook certificate file.                                                                       | `tls.crt`                            |\n| `webhook-cert-key`             | Name of the webhook key file.                                                                               | `tls.key`                            |\n| `metrics-cert-path`            | Directory containing the metrics server certificate.                                                        | `\"\"`                                 |\n| `metrics-cert-name`            | Name of the metrics server certificate file.                                                                | `tls.crt`                            |\n| `metrics-cert-key`             | Name of the metrics server key file.                                                                        | `tls.key`                            |\n| `enable-http2`                 | If `true`, HTTP/2 will be enabled for the metrics and webhook servers.                                      | `false`                              |\n| `watched-namespaces`           | Comma-separated list of namespaces to watch for Ingresses. If empty, all namespaces are watched.            | `\"\"`                                 |\n| `ingress-annotation`           | Annotation to look for on Ingresses. If not set, all Ingresses are considered.                              | `\"\"`                                 |\n| `ingress-controller-service`   | Fully qualified domain name of the ingress controller service.                                              | `controller.nginx.svc.cluster.local` |\n| `coredns-excluded-namespaces`   | Comma-separated list of namespaces for that will skip rewrite rules. common=cert-manager                    | `\"\"`                                 |\n\n### coredns-excluded-namespaces use\n\ncert-manager needs to be excluded from the rewrite rules as it will cause a scenerio where the dns check never succeed and you want it to check the exteral dns\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpelotech%2Fkic","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpelotech%2Fkic","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpelotech%2Fkic/lists"}