{"id":21915604,"url":"https://github.com/clustercockpit/cc-node-controller","last_synced_at":"2025-03-22T09:27:23.901Z","repository":{"id":210921746,"uuid":"696858844","full_name":"ClusterCockpit/cc-node-controller","owner":"ClusterCockpit","description":"Node agent for enforcing node configurations and forwarding events","archived":false,"fork":false,"pushed_at":"2025-03-13T11:10:40.000Z","size":139,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-13T12:23:29.436Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C","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/ClusterCockpit.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":"2023-09-26T15:06:54.000Z","updated_at":"2025-03-13T11:10:43.000Z","dependencies_parsed_at":"2024-04-16T10:36:37.125Z","dependency_job_id":"5645bb5f-a531-4dcc-ace3-2c505d99dd8e","html_url":"https://github.com/ClusterCockpit/cc-node-controller","commit_stats":null,"previous_names":["clustercockpit/cc-node-controller"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ClusterCockpit%2Fcc-node-controller","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ClusterCockpit%2Fcc-node-controller/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ClusterCockpit%2Fcc-node-controller/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ClusterCockpit%2Fcc-node-controller/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ClusterCockpit","download_url":"https://codeload.github.com/ClusterCockpit/cc-node-controller/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244935614,"owners_count":20534825,"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-28T19:13:03.739Z","updated_at":"2025-03-22T09:27:23.877Z","avatar_url":"https://github.com/ClusterCockpit.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# cc-node-controller\nNode agent for enforcing node configurations and forwarding events\n\n\n# Installation\n\nThere is currently no prepared SystemD service file or anything, it is in development stage.\n\nYou can build `cc-node-controller` with `make`.\n\n## LIKWID sysfeatures\n\nA fundamental part of `cc-node-controller` is its connection to LIKWID's sysfeatures component. The\ncomponent allows changing CPU frequencies, setting powercaps and other manipulation of system features.\nThe sysfeatures component is still in experimental stage in LIKWID, so LIKWID needs to be compiled\nwith special build options to include the sysfeatures component.\n\n```\n$ git clone \u003clikwid repo\u003e\n$ cd likwid\n$ vi config.mk\n# - change PREFIX if needed\n# - enable sysfeatures component by setting BUILD_SYSFEATURES=true\n$ make\n$ sudo make install\n```\n# Configuration\n\nThe main configuration file is `config.json`.\n\n```json\n{\n    \"hostname\" : \"\u003clisten_ip\u003e\",\n    \"port\" : \u003clisten_port, commonly 4222\u003e,\n    \"input_subject_prefix\" : \"\u003cinput prefix\u003e\",\n    \"input_subject\": \"\u003cinput subject\u003e\",\n    \"output_subject_prefix\" : \"\u003coutput prefix\u003e\",\n    \"output_subject\": \"\u003cinput subject\u003e\"\n}\n```\n\nYou can either use the `input_subject`/`output_subject` options to set the acutal subject or use the `input_subject_prefix`/`output_subject_prefix` options which will be extended by the hostname of the local node: `\u003coutput_subject_prefix\u003e/\u003chostname\u003e`\n\n# Running\n\nThe `cc-node-controller` itself does not do anything on its own, it waits for control messages\nto perform any manipulation. The control messages are received through NATS, so a NATS server\nshould be running somewhere.\n\nMake sure the LIKWID library with sysfeatures component is in `LD_LIBRARY_PATH`.\nMake also sure, that it is the only LIKWID library that can be used.\n\n```\n$ ./cc-node-controller (-config \u003cconfigfile\u003e) (-debug) (-log \u003clogfile\u003e)\n```\n\nDefault configuration file is `./config.json`.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fclustercockpit%2Fcc-node-controller","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fclustercockpit%2Fcc-node-controller","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fclustercockpit%2Fcc-node-controller/lists"}