{"id":24639413,"url":"https://github.com/netboxlabs/orb-agent","last_synced_at":"2025-06-24T21:07:17.970Z","repository":{"id":268894655,"uuid":"869031080","full_name":"netboxlabs/orb-agent","owner":"netboxlabs","description":"Orb network observability agent, part of the NetBox ecosystem and developed by NetBox Labs","archived":false,"fork":false,"pushed_at":"2025-06-19T16:04:35.000Z","size":506,"stargazers_count":39,"open_issues_count":12,"forks_count":7,"subscribers_count":3,"default_branch":"develop","last_synced_at":"2025-06-19T17:20:52.609Z","etag":null,"topics":["diode","discovery","netbox","network","network-observability","observability","orb"],"latest_commit_sha":null,"homepage":"https://netboxlabs.com","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/netboxlabs.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2024-10-07T15:46:36.000Z","updated_at":"2025-06-19T13:32:15.000Z","dependencies_parsed_at":"2025-01-07T19:42:46.948Z","dependency_job_id":"dafdf617-4926-4653-b5fe-d48e7fcc3e91","html_url":"https://github.com/netboxlabs/orb-agent","commit_stats":null,"previous_names":["netboxlabs/orb-agent"],"tags_count":5,"template":false,"template_full_name":null,"purl":"pkg:github/netboxlabs/orb-agent","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/netboxlabs%2Forb-agent","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/netboxlabs%2Forb-agent/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/netboxlabs%2Forb-agent/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/netboxlabs%2Forb-agent/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/netboxlabs","download_url":"https://codeload.github.com/netboxlabs/orb-agent/tar.gz/refs/heads/develop","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/netboxlabs%2Forb-agent/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261756762,"owners_count":23205158,"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":["diode","discovery","netbox","network","network-observability","observability","orb"],"created_at":"2025-01-25T11:11:29.611Z","updated_at":"2025-06-24T21:07:17.951Z","avatar_url":"https://github.com/netboxlabs.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Orb Agent - the NetBox Discovery agent\nOrb agent is a component of the NetBox Discovery solution. It provides network discovery and observability capabilities and is developed by NetBox Labs.\n\n## Project status\nThe Orb agent project is currently in the Public Preview stage. For details, please see [NetBox Labs Product and Feature Lifecycle](https://docs.netboxlabs.com/product_feature_lifecycle/). We actively welcome feedback to help us identify and prioritize bugs, features, and improvements.\n\n## Getting Started\nTo get started with `orb-agent`, first pull the Docker image from [Docker Hub](https://hub.docker.com/r/netboxlabs/orb-agent):\n\n```sh\ndocker pull netboxlabs/orb-agent:latest\n```\n\n## Orb Agent Configuration\nThe Orb agent requires a configuration file. This file consists of three main sections: `config_manager`, `backends`, and `policies`.\n\n### Config Manager\nThe `config_manager` section specifies how Orb agent should retrieve it's configuration information. The configuration manager is responsible for processing the configuration to retrieve policies and pass them to the appropriate backend.\n\n```yaml\norb:\n  config_manager:\n    active: local\n  ...\n```\n\nCurrently, only the `local` and `git` sources are supported for config manager.\n- [Local](./docs/configs/local.md)\n- [Git](./docs/configs/git.md)\n\n### Secrets Manager\nThe `secrets_manager` section specifies how Orb agent should retrieve and inject secrets into policies. The secrets manager can reference external secret stores like HashiCorp Vault to retrieve sensitive information such as credentials without hardcoding them in configuration files.\n\n```yaml\norb:\n  secrets_manager:\n    active: vault\n    sources:\n      vault:\n        address: \"https://vault.example.com:8200\"\n        namespace: \"my-namespace\"\n        timeout: 60\n        auth: \"token\"\n        auth_args:\n          token: \"${VAULT_TOKEN}\"\n        schedule: \"*/5 * * * *\"\n  ...\n```\n\nSupported secrets managers:\n- [HashiCorp Vault](./docs/secretsmgr/vault.md)\n\n### Backends\nThe `backends` section specifies what Orb agent backends should be enabled. Each Orb agent backend offers specific discovery or observability capabilities and may require specific configuration information.  \n\n```yaml\norb:\n  ...\n  backends:\n    network_discovery:\n    ...\n```\nOnly the `network_discovery`, `device_discovery`, `worker` and `snmp_discovery` backends are currently supported. They do not require any special configuration.\n- [Device Discovery](./docs/backends/device_discovery.md) \n- [Network Discovery](./docs/backends/network_discovery.md)\n- [Worker](./docs/backends/worker.md)\n- [SNMP Discovery](./docs/backends/snmp_discovery.md)\n\n#### Common\nA special `common` subsection under `backends` defines configuration settings that are shared with all backends. Currently, it supports passing [diode](https://github.com/netboxlabs/diode) server settings to all backends.\n\n```yaml\n  backends:\n      ...\n      common:\n        diode:\n          target: grpc://192.168.0.22:8080/diode\n          client_id: ${DIODE_CLIENT_ID}\n          client_secret: ${DIODE_CLIENT_SECRET}\n          agent_name: agent01\n```\n\n### Policies\nThe `policies` section specifies what discovery policies should be passed to each backend. Policies define specific settings for discovery (such as scheduling and default properties) and the scope (targets). Backends can run multiple policies simultaneously, but for each backend all policies must have a unique name. These policies are defined in the `policies` section and are grouped under a subsection for each backend:\n\n ```yaml\norb:\n  ...\n  policies:\n    device_discovery:\n      device_policy_1:\n        # see docs/backends/device_discovery.md\n    network_discovery:\n      network_policy_1:\n       # see docs/backends/network_discovery.md\n    worker:\n      worker_policy_1:\n       # see docs/backends/worker.md\n    snmp_discovery:\n      snmp_policy_1:\n       # see docs/backends/snmp.md\n ```\n\n## Running the agent\n\nTo run `orb-agent`, use the following command from the directory where your created your `agent.yaml` file:\n\n```sh\n docker run --net=host -v $(PWD):/opt/orb/ netboxlabs/orb-agent:latest run -c /opt/orb/agent.yaml\n```\nThe container needs sufficient permissions, to send `icmp` and `tcp` packets. This can either be achieved by setting the network-mode to `host` or by changing the container user to `root`: \n\n```sh\n docker run -u root -v $(PWD):/opt/orb/ netboxlabs/orb-agent:latest run -c /opt/orb/agent.yaml\n```\n\n### Configuration samples\nYou can find complete sample configurations [here](./docs/config_samples.md) of how to configure Orb agent to run network and device discoveries, as well as the relevant `docker run` commands.\n\n## Required Notice\nCopyright NetBox Labs, Inc.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnetboxlabs%2Forb-agent","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnetboxlabs%2Forb-agent","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnetboxlabs%2Forb-agent/lists"}