{"id":36688677,"url":"https://github.com/converged-computing/nfd-source","last_synced_at":"2026-01-12T11:17:24.987Z","repository":{"id":223929349,"uuid":"761880668","full_name":"converged-computing/nfd-source","owner":"converged-computing","description":"Prototype / experiment or example for moving the node feature discovery extractors out of tree","archived":false,"fork":false,"pushed_at":"2024-02-24T02:52:58.000Z","size":673,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-09-10T05:36:54.668Z","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":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/converged-computing.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":"2024-02-22T16:57:02.000Z","updated_at":"2024-02-22T19:02:47.000Z","dependencies_parsed_at":"2024-06-21T13:14:20.498Z","dependency_job_id":"75501c22-2063-4a9c-b02b-9b02e24c72be","html_url":"https://github.com/converged-computing/nfd-source","commit_stats":null,"previous_names":["converged-computing/nfd-source"],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/converged-computing/nfd-source","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/converged-computing%2Fnfd-source","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/converged-computing%2Fnfd-source/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/converged-computing%2Fnfd-source/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/converged-computing%2Fnfd-source/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/converged-computing","download_url":"https://codeload.github.com/converged-computing/nfd-source/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/converged-computing%2Fnfd-source/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28338970,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-12T10:58:46.209Z","status":"ssl_error","status_checked_at":"2026-01-12T10:58:42.742Z","response_time":98,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: 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-01-12T11:17:24.431Z","updated_at":"2026-01-12T11:17:24.977Z","avatar_url":"https://github.com/converged-computing.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Node Feature Discovery Source\n\nThis is [node-feature-discovery](https://github.com/kubernetes-sigs/node-feature-discovery) source moved out of tree to allow for using the APIs separately from Kubernetes.\nTo join the discussion, please see [this issue](https://github.com/kubernetes-sigs/node-feature-discovery/issues/1581).\n\n## Notes\n\nThese are development notes for the migration. I used [git-filter-repo](https://github.com/newren/git-filter-repo/blob/main/INSTALL.md) to select just source and the specific API directory:\n\n```bash\ngit-filter-repo  --path source/ --path pkg/apis/nfd/v1alpha1/ --path pkg/utils/ --path pkg/cpuid/ --path LICENSE\n```\n\nThe above ensures that original author contributions (commit history) is maintained.\n\n### Changes\n\nI made the following changes to cleanly separate the Kubernetes logic from the source logic.\n\n- pkg/apis/nfd/v1alpha1/types.go\n  - The need for corev1 in types.go is only because of Taints, which I don't see anywhere in source so I'm removing.\n  - metav1 is to add object metadata (also for Kubernetes) so I will remove that for now.\n  - The protocol buffers would also be for gRPC, which is a specific use case not necessary for underlying source.\n  - It looks like we don't actually need NodeFeature, NodeFeatureSpec, NodeFeatureList, NodeFeatureRule (these are higher level in the logic)\n  - The entire namespace of Rule/Match is oriented to custom, which also seems like it belongs in the upstream\n  - I'm keeping the same path for now to maintain git history\n  - When we remove the above, the interface is very simple!\n- pkg/apis/nfd/v1alpha1/register.go\n  - Is primarily for K8s schemas, etc. can be removed.\n- pkg/apis/nfd/v1alpha1/feature.go\n  - MergeInto functions are not used, as aren't the Node specific ones. \n- pkg/apis/nfd/v1alpha1/nodefeaturerule\n  - Also does not seem used in source\n- pkg/utils/flags.go also not used\n- pkg/utils/memory_resources.go (and test) are not used in source, this is again for K8s\n- pkg/utils/(klog|kubeconf|grpc_log.go|metrics.go|tls.go) are kubernetes specific, also removing, and kubernetes.go\n- klog is replaced with \"slog\" which is part of go as of 1.21.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fconverged-computing%2Fnfd-source","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fconverged-computing%2Fnfd-source","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fconverged-computing%2Fnfd-source/lists"}