{"id":23469899,"url":"https://github.com/vapor-ware/synse-amt-plugin","last_synced_at":"2025-04-12T23:46:18.827Z","repository":{"id":45445672,"uuid":"131891475","full_name":"vapor-ware/synse-amt-plugin","owner":"vapor-ware","description":"Intel AMT plugin for Synse","archived":false,"fork":false,"pushed_at":"2023-02-25T05:45:16.000Z","size":4964,"stargazers_count":1,"open_issues_count":2,"forks_count":1,"subscribers_count":9,"default_branch":"master","last_synced_at":"2025-03-21T22:03:10.295Z","etag":null,"topics":["amt","intel-amt","plugin","synse","synse-amt-plugin","synse-plugin"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/vapor-ware.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":"2018-05-02T18:34:45.000Z","updated_at":"2021-12-13T16:10:56.000Z","dependencies_parsed_at":"2024-06-20T00:05:01.715Z","dependency_job_id":"b12f718e-7fd0-41ba-8a95-f26114e4b3cf","html_url":"https://github.com/vapor-ware/synse-amt-plugin","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vapor-ware%2Fsynse-amt-plugin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vapor-ware%2Fsynse-amt-plugin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vapor-ware%2Fsynse-amt-plugin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vapor-ware%2Fsynse-amt-plugin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vapor-ware","download_url":"https://codeload.github.com/vapor-ware/synse-amt-plugin/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248647256,"owners_count":21139081,"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":["amt","intel-amt","plugin","synse","synse-amt-plugin","synse-plugin"],"created_at":"2024-12-24T15:36:47.581Z","updated_at":"2025-04-12T23:46:18.808Z","avatar_url":"https://github.com/vapor-ware.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Build Status](https://build.vio.sh/buildStatus/icon?job=vapor-ware/synse-amt-plugin/master)](https://build.vio.sh/blue/organizations/jenkins/vapor-ware%2Fsynse-amt-plugin/activity)\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fvapor-ware%2Fsynse-amt-plugin.svg?type=shield)](https://app.fossa.io/projects/git%2Bgithub.com%2Fvapor-ware%2Fsynse-amt-plugin?ref=badge_shield)\n\n# Synse AMT Plugin\n\nA plugin for [Synse Server][synse-server] used to communicate with Intel AMT enabled machines.\n\n## Getting Started\n\n### Getting\n\nYou can install the AMT plugin via a [release](https://github.com/vapor-ware/synse-amt-plugin/releases)\nbinary or via Docker image\n\n```\ndocker pull vaporio/amt-plugin\n```\n\nIf you wish to use a development build, fork and clone the repo and build the plugin\nfrom source.\n\n### Running\n\nThe AMT plugin requires device configurations for the AMT-enabled servers that it will\ncommunicate with in order for it to run. As such, running the plugin without additional configuration\nwill cause it to fail.\n\nA simple example of what device configurations may look like can be found in the\n[config/device](config/device) directory. Once you have your plugin configurations defined,\nyou can update the [compose file](docker-compose.yaml) to mount them into the plugin container\nand run it with:\n\n```bash\ndocker-compose up -d\n```\n\n## Plugin Configuration\n\nPlugin and device configuration are described in detail in the [SDK Documentation][sdk-docs].\n\nThere is an additional config scheme specific to this plugin for the contents of a configured\ndevice's `data` field. Device `data` may be specified in two places (the prototype config and\nthe instance config sections). The data scheme describes the resulting unified config from\nboth sources.\n\nAn example:\n\n```yaml\ndevices:\n- type: boot_target\n  instances:\n  - info: Server Boot Target\n    data:\n      ip: \"127.0.0.1\"\n      password: \"guest\"\n```\n\n| Field      | Required | Type   | Description                                              |\n| ---------- | -------- | ------ | -------------------------------------------------------- |\n| `ip`       | yes      | string | The hostname/ip of the AMT-enabled server to connect to. |\n| `password` | yes      | string | The AMT password for the server.                         |\n\n### Reading Outputs\n\nOutputs are referenced by name. A single device may have more than one instance\nof an output type. A value of `-` in the table below indicates that there is no value\nset for that field. The *built-in* section describes outputs this plugin uses which\nare [built-in to the SDK](https://synse.readthedocs.io/en/latest/sdk/concepts/reading_outputs/#built-ins).\n\n**Built-in**\n\n| Name  | Description                       | Unit  | Type    | Precision |\n| ----- | --------------------------------- | :---: | ------- | :-------: |\n| state | The power state of an AMT device. | -     | `state` | -         |\n\n### Device Handlers\n\nDevice Handlers are referenced by name.\n\n| Name        | Description                                | Outputs | Read  | Write | Bulk Read | Listen |\n| ----------- | ------------------------------------------ | ------- | :---: | :---: | :-------: | :----: |\n| boot_target | A handler for setting server boot target.  | `-`     | ✗     | ✓     | ✗         | ✗      |\n| power       | A handler for managing server power state. | `state` | ✓     | ✓     | ✗         | ✗      |\n\n### Write Values\n\nThis plugin supports the following values when writing to a device via a handler.\n\n| Handler     | Write Action  | Write Data           | Description |\n| ----------- | :-----------: | :------------------: | ----------- |\n| boot_target | `target`      | `pxe`, `hd`, `cd`    | The boot target to set. |\n| power       | `state`       | `on`, `off`, `cycle` | The minimum bound for readings to be generated within. |\n\n## Compatibility\n\nBelow is a table describing the compatibility of plugin versions with Synse platform versions.\n\n|             | Synse v2 | Synse v3 |\n| ----------- | -------- | -------- |\n| plugin v1.x | ✓        | ✗        |\n| plugin v2.x | ✗        | ✓        |\n\n## Troubleshooting\n\n### Debugging\n\nThe plugin can be run in debug mode for additional logging. This is done by:\n\n- Setting the `debug` option  to `true` in the plugin configuration YAML ([config.yml](config.yml))\n\n  ```yaml\n  debug: true\n  ```\n\n- Passing the `--debug` flag when running the binary/image\n\n  ```\n  docker run vaporio/amt-plugin --debug\n  ```\n\n- Running the image with the `PLUGIN_DEBUG` environment variable set to `true`\n\n  ```\n  docker run -e PLUGIN_DEBUG=true vaporio/amt-plugin\n  ```\n\n## Contributing / Reporting\n\nIf you experience a bug, would like to ask a question, or request a feature, open a\n[new issue](https://github.com/vapor-ware/synse-amt-plugin/issues) and provide as much\ncontext as possible. All contributions, questions, and feedback are welcomed and appreciated.\n\n## License\n\nThe Synse AMT Plugin is licensed under GPLv3. See [LICENSE](LICENSE) for more info.\n\n[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fvapor-ware%2Fsynse-amt-plugin.svg?type=large)](https://app.fossa.io/projects/git%2Bgithub.com%2Fvapor-ware%2Fsynse-amt-plugin?ref=badge_large)\n\n[synse-server]: https://github.com/vapor-ware/synse-server\n[sdk-docs]: https://synse.readthedocs.io/en/latest/sdk/intro/\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvapor-ware%2Fsynse-amt-plugin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvapor-ware%2Fsynse-amt-plugin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvapor-ware%2Fsynse-amt-plugin/lists"}