{"id":25777302,"url":"https://github.com/eclipse-iofog/Agent","last_synced_at":"2026-08-13T17:30:18.287Z","repository":{"id":30897847,"uuid":"126316912","full_name":"eclipse-iofog/Agent","owner":"eclipse-iofog","description":"Eclipse ioFog™ is a complete edge computing platform that provides all of the pieces needed to build and run applications at the edge at enterprise scale.","archived":false,"fork":false,"pushed_at":"2026-04-16T12:21:07.000Z","size":389181,"stargazers_count":272,"open_issues_count":1,"forks_count":34,"subscribers_count":22,"default_branch":"develop","last_synced_at":"2026-08-09T04:01:11.266Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://projects.eclipse.org/projects/iot.iofog","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"epl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/eclipse-iofog.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING","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,"zenodo":null,"notice":"NOTICE","maintainers":null,"copyright":null,"agents":null,"claude":null,"gemini":null,"cursor":null,"copilot":null,"dco":null,"cla":null,"disclosure":null}},"created_at":"2018-03-22T10:14:40.000Z","updated_at":"2026-07-06T06:33:44.000Z","dependencies_parsed_at":"2026-08-09T05:15:10.530Z","dependency_job_id":null,"html_url":"https://github.com/eclipse-iofog/Agent","commit_stats":null,"previous_names":["iofog/agent"],"tags_count":50,"template":false,"template_full_name":null,"purl":"pkg:github/eclipse-iofog/Agent","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eclipse-iofog%2FAgent","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eclipse-iofog%2FAgent/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eclipse-iofog%2FAgent/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eclipse-iofog%2FAgent/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/eclipse-iofog","download_url":"https://codeload.github.com/eclipse-iofog/Agent/tar.gz/refs/heads/develop","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eclipse-iofog%2FAgent/sbom","scorecard":{"id":365367,"data":{"date":"2025-08-11","repo":{"name":"github.com/eclipse-iofog/Agent","commit":"fb2be3d54c6bf176a962bdbde9a2e44e6ca28ed0"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":5.3,"checks":[{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Code-Review","score":0,"reason":"Found 0/30 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Token-Permissions","score":9,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Info: jobLevel 'contents' permission set to 'read': .github/workflows/ci.yaml:31","Info: jobLevel 'contents' permission set to 'read': .github/workflows/ci.yaml:52","Info: jobLevel 'contents' permission set to 'read': .github/workflows/ci.yaml:80","Warn: no topLevel permission defined: .github/workflows/ci.yaml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"Binary-Artifacts","score":9,"reason":"binaries present in source code","details":["Warn: binary detected: gradle/wrapper/gradle-wrapper.jar:1"],"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: Eclipse Public License 2.0: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: github.com/eclipse-iofog/.github/SECURITY.md:1","Info: Found linked content: github.com/eclipse-iofog/.github/SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: github.com/eclipse-iofog/.github/SECURITY.md:1","Info: Found text in security policy: github.com/eclipse-iofog/.github/SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Info: Possibly incomplete results: error parsing shell code: \"}\" can only be used to close a block: test/int_test.bats:0","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yaml:36: update your workflow using https://app.stepsecurity.io/secureworkflow/eclipse-iofog/Agent/ci.yaml/develop?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yaml:37: update your workflow using https://app.stepsecurity.io/secureworkflow/eclipse-iofog/Agent/ci.yaml/develop?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yaml:42: update your workflow using https://app.stepsecurity.io/secureworkflow/eclipse-iofog/Agent/ci.yaml/develop?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yaml:56: update your workflow using https://app.stepsecurity.io/secureworkflow/eclipse-iofog/Agent/ci.yaml/develop?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yaml:85: update your workflow using https://app.stepsecurity.io/secureworkflow/eclipse-iofog/Agent/ci.yaml/develop?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yaml:88: update your workflow using https://app.stepsecurity.io/secureworkflow/eclipse-iofog/Agent/ci.yaml/develop?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yaml:92: update your workflow using https://app.stepsecurity.io/secureworkflow/eclipse-iofog/Agent/ci.yaml/develop?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yaml:104: update your workflow using https://app.stepsecurity.io/secureworkflow/eclipse-iofog/Agent/ci.yaml/develop?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yaml:121: update your workflow using https://app.stepsecurity.io/secureworkflow/eclipse-iofog/Agent/ci.yaml/develop?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yaml:132: update your workflow using https://app.stepsecurity.io/secureworkflow/eclipse-iofog/Agent/ci.yaml/develop?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yaml:140: update your workflow using https://app.stepsecurity.io/secureworkflow/eclipse-iofog/Agent/ci.yaml/develop?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yaml:151: update your workflow using https://app.stepsecurity.io/secureworkflow/eclipse-iofog/Agent/ci.yaml/develop?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yaml:191: update your workflow using https://app.stepsecurity.io/secureworkflow/eclipse-iofog/Agent/ci.yaml/develop?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yaml:197: update your workflow using https://app.stepsecurity.io/secureworkflow/eclipse-iofog/Agent/ci.yaml/develop?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yaml:204: update your workflow using https://app.stepsecurity.io/secureworkflow/eclipse-iofog/Agent/ci.yaml/develop?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yaml:210: update your workflow using https://app.stepsecurity.io/secureworkflow/eclipse-iofog/Agent/ci.yaml/develop?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yaml:215: update your workflow using https://app.stepsecurity.io/secureworkflow/eclipse-iofog/Agent/ci.yaml/develop?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yaml:223: update your workflow using https://app.stepsecurity.io/secureworkflow/eclipse-iofog/Agent/ci.yaml/develop?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yaml:228: update your workflow using https://app.stepsecurity.io/secureworkflow/eclipse-iofog/Agent/ci.yaml/develop?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yaml:238: update your workflow using https://app.stepsecurity.io/secureworkflow/eclipse-iofog/Agent/ci.yaml/develop?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yaml:248: update your workflow using https://app.stepsecurity.io/secureworkflow/eclipse-iofog/Agent/ci.yaml/develop?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yaml:257: update your workflow using https://app.stepsecurity.io/secureworkflow/eclipse-iofog/Agent/ci.yaml/develop?enable=pin","Warn: containerImage not pinned by hash: Dockerfile:1","Warn: containerImage not pinned by hash: Dockerfile:44: pin your Docker image by updating registry.access.redhat.com/ubi8/ubi-minimal:8.5 to registry.access.redhat.com/ubi8/ubi-minimal:8.5@sha256:3f32ebba0cbf3849a48372d4fc3a4ce70816f248d39eb50da7ea5f15c7f9d120","Warn: downloadThenRun not pinned by hash: scripts/bootstrap.sh:28","Warn: downloadThenRun not pinned by hash: .github/workflows/ci.yaml:59","Info:   0 out of  11 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of  11 third-party GitHubAction dependencies pinned","Info:   0 out of   2 containerImage dependencies pinned","Info:   0 out of   2 downloadThenRun dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 12 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-18T11:44:00.664Z","repository_id":30897847,"created_at":"2025-08-18T11:44:00.664Z","updated_at":"2025-08-18T11:44:00.664Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36616506,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-06T04:43:03.162Z","status":"online","status_checked_at":"2026-08-13T02:00:06.325Z","response_time":111,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":"2025-02-27T06:01:40.431Z","updated_at":"2026-08-13T17:30:18.274Z","avatar_url":"https://github.com/eclipse-iofog.png","language":"Java","funding_links":[],"categories":["云计算"],"sub_categories":[],"readme":"# The ioFog Agent product\n\nImagine a world where you can choose self-contained pieces of code (called microservices) and make them run anywhere you want at the push of a button. Where you can remotely control the code that is running on twenty iPhones in workers' pockets, thirty servers running in a factory building, and ten computers running in the trucks that ship your products... and you can do it all with the same single technology. Imagine a world where you move the processing close to where the data is happening, and where you can finally separate streams of information from the end applications that use them. This world will be brought to life by iofog, and a big part of the vision is the ioFog product that runs on the various computers.\n\nThis repository is the production code base for the x86 Linux version of the ioFog product.\n\nioFog is a service that runs constantly in the background on a Linux machine. It is the agent that turns a Linux computer into a piece of the iofog I/O compute fog.\n\nThere should be an ioFog code base for every processing platform that becomes part of the I/O compute fog. Network connectivity, process invocation, thread management, and other details of an ioFog will vary from platform to platform. The same ioFog principles apply to every version, but the implementation of the principles should match the native languages and structures best suited for the platform.\n\n### Status\n\n![](https://img.shields.io/github/release/iofog/agent.svg?style=flat)\n[![Build Status](https://travis-ci.org/ioFog/Agent.svg)](https://travis-ci.org/ioFog/Agent)\n\n![](https://img.shields.io/github/repo-size/iofog/agent.svg?style=flat)\n![](https://img.shields.io/github/last-commit/iofog/agent.svg?style=flat)\n![](https://img.shields.io/github/contributors/iofog/agent.svg?style=flat)\n![](https://img.shields.io/github/issues/iofog/agent.svg?style=flat)\n\n![Supports amd64 Architecture][amd64-shield]\n![Supports aarch64 Architecture][arm64-shield]\n![Supports armhf Architecture][arm-shield]\n\n[arm64-shield]: https://img.shields.io/badge/aarch64-yes-green.svg\n[amd64-shield]: https://img.shields.io/badge/amd64-yes-green.svg\n[arm-shield]: https://img.shields.io/badge/armhf-yes-green.svg\n\n### Principles of an ioFog Agent:\n\n* Never go down\n* Respond immediately to the fog controller\n* Operate flawlessly when offline\n* Report status frequently and reliably\n* Execute instructions with no understanding of the bigger picture\n* Provide a high-performance message bus and local API\n* Enforce the configured resource consumption constraints strictly\n* Allow the most flexible and powerful processing element model possible\n* Be able to instantiate processing elements from any available source\n* Be able to communicate with any reachable fog controller\n* Allow processing elements to implement security and connectivity as they would natively\n* Ensure that complying with the local API is the only requirement placed on a processing element\n* Only shutdown or restart processing elements when requested or when absolutely necessary\n* Run only processing elements with verified source and integrity\n* Never allow a message to reach unauthorized processing elements\n* Only allow messages of the proper registered type to reach processing elements\n* Guarantee message source and order\n\n\nSee the docs folder in this repository for architecture, project microculture, engineering philosophy, functional specifications, and more.\n\n**ioFog Agent Setup**\n\nThe entire ioFog platform is best deployed through the unified CLI: `iofogctl`.\n\nGo to [iofog.org](https://iofog.org/docs/) to learn how to deploy the ioFog Control Plane and Agents.\n\n**Usage**\n\n1.\u0026ensp;To view help menu\n\n        sudo iofog-agent help\n\n2.\u0026ensp;To view current status\n\n        sudo iofog-agent status   \n\n3.\u0026ensp;To view version and license\n\n        sudo iofog-agent version\n        \n4.\u0026ensp;To view current configuration\n\n        sudo iofog-agent info\n        \n5.\u0026ensp;Provision iofog for use\n\n        sudo iofog-agent provision ABCDWXYZ\n\n**Logs**\n- Log files are located at '/var/log/iofog-agent'\n\n**System Requirements (Recommended)**\n- Processor: 64 bit Dual Core or better\n- RAM: 1 GB minimum\n- Hard Disk: 5 GB minimum\n- Java Runtime (JRE) 8 or higher\n- Docker 1.10 or higher\n- Linux kernel 3.10 or higher\n\n**Platforms Supported (Ubuntu Linux)**\n- 14.04 - Trusty Tahr\n- 16.04 - Xenial Xerus\n\n\n\u0026ensp;- ioFog Agent Update:\n\n        sudo systemctl stop iofog-agent       \n        sudo apt-get install --only-upgrade iofog-agent\n        sudo systemctl start iofog-agent\n        or\n        sudo systemctl stop iofog-agent\n        sudo apt-get install --only-upgrade iofog-agent-dev (developer's version)\n        sudo systemctl stop iofog-agent        \n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feclipse-iofog%2FAgent","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Feclipse-iofog%2FAgent","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feclipse-iofog%2FAgent/lists"}