{"id":18733942,"url":"https://github.com/mgoltzsche/nodehack","last_synced_at":"2025-11-14T17:30:15.478Z","repository":{"id":101283765,"uuid":"259732239","full_name":"mgoltzsche/nodehack","owner":"mgoltzsche","description":"A container image and DaemonSet to configure a host (for dev purposes)","archived":false,"fork":false,"pushed_at":"2020-05-14T20:38:55.000Z","size":15,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-12-28T15:49:54.814Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Shell","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/mgoltzsche.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,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-04-28T19:29:39.000Z","updated_at":"2021-07-29T12:03:10.000Z","dependencies_parsed_at":null,"dependency_job_id":"efcd241a-a82f-4640-9e6f-9371d8d4497e","html_url":"https://github.com/mgoltzsche/nodehack","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/mgoltzsche%2Fnodehack","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mgoltzsche%2Fnodehack/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mgoltzsche%2Fnodehack/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mgoltzsche%2Fnodehack/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mgoltzsche","download_url":"https://codeload.github.com/mgoltzsche/nodehack/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239605079,"owners_count":19667004,"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-11-07T15:11:51.108Z","updated_at":"2025-11-14T17:30:15.434Z","avatar_url":"https://github.com/mgoltzsche.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# nodehack\n\nA container image and Kubernetes DaemonSet to install a CA root certificate and\nconfigure a nameserver on hosts for development and testing purposes.\n\n\n## Dynamic CA registration in the container runtime\n\nTo make a container runtime aware of a new CA root certificate it has to be restarted.\nAt the time of writing only [CRI-O](https://github.com/cri-o/cri-o) supports\nreloading CA certificates without terminating pods.\n\n\n## script usage\n\n```\nnodehack HOSTPATH COMMAND...\n```\n\n`HOSTPATH` points to the host's file system that should be manipulated.\n\n**Commands**\n* `setca`: installs the CA certificate located in `CERT_FILE`.\n* `setdns`: configures `NAMESERVER` as first nameserver.\n* `reloadcrio`: sends `CRIO_RELOAD_SIGNAL` (default: 1) to the `crio` process if it exists.\n* `restartcrio`: restarts CRI-O.\n* `setready`: touches `/tmp/ready` - to be used as readiness probe.\n* `sleepinfinity`: sleeps forever.\n* other commands are resolved using the container's `PATH`.\n\n\n## Deploy in Kubernetes\n\nThis repository also provides a kustomization containing a `DaemonSet`\nthat runs the script on every node with the host's file system mounted into it.  \n\nIt expects the CA secret `selfsigned-ca` to exist within the same namespace as the `DaemonSet`\nand configures CoreDNS' static IP `10.96.0.10` as first nameserver on the host.  \n\nIt can be deployed within the current namespace as follows:\n```\nkubectl apply -k github.com/mgoltzsche/nodehack/deploy\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmgoltzsche%2Fnodehack","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmgoltzsche%2Fnodehack","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmgoltzsche%2Fnodehack/lists"}