Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Agent plugin upload API endpoint #3417

Closed
12 of 13 tasks
mssalvatore opened this issue Jun 8, 2023 · 0 comments · Fixed by #3594
Closed
12 of 13 tasks

Agent plugin upload API endpoint #3417

mssalvatore opened this issue Jun 8, 2023 · 0 comments · Fixed by #3594
Assignees
Labels
Complexity: Low Feature Issue that describes a new feature to be implemented. Impact: High Plugins sp/5
Milestone

Comments

@mssalvatore
Copy link
Collaborator

mssalvatore commented Jun 8, 2023

Description

Add an API endpoint that allows a user to upload an agent plugins (content-type application/octet-stream): PUT /api/agent-plugins

Tasks

  • Add store_agent_plugin(self, host_operating_system: OperatingSystem, agent_plugin: AgentPlugin) to IAgentPluginRepository (0d) @ilija-lazoroski
    • Remove anything from the vulture ignore list relating to the plugin parser
    • Add a stub implementation in FileAgentPluginRepository
  • Add remove_agent_plugin(self, host_operating_system: Optional[OperatingSystem], agent_plugin_name: str, agent_plugin_type: AgentPluginType) (0d) @ilija-lazoroski
    • This should be idempotent
    • If host_operating_system is None, delete plugin for all operating systems (add to docstring)
    • Add a stub implementation in FileAgentPluginRepository
  • Add install_agent_plugin_archive(self, agent_plugin_archive: bytes) to IAgentPluginService and implement it in AgentPluginService (0d) @ilija-lazoroski
    • Unpack/parse the archive into an AgentPlugin (plugin_archive_parser.parse_plugin)
    • Call IAgentPluginRepository.remove_agent_plugin() to remove the plugin for all operating systems
    • Call IAgentPluginRepository.store_agent_plugin() for each host operating system supported by the plugin
    • Make this method thread-safe
  • Add a new endpoint with PUT /api/agent-plugins (0.25d) @ilija-lazoroski
@mssalvatore mssalvatore added Feature Issue that describes a new feature to be implemented. Impact: High Complexity: Low Plugins labels Jun 8, 2023
@mssalvatore mssalvatore added this to the v2.3.0 milestone Jun 8, 2023
@mssalvatore mssalvatore added this to Backlog in Monkey Dev Board Jun 8, 2023
@cakekoa cakekoa moved this from Backlog to To Do in Monkey Dev Board Aug 17, 2023
@cakekoa cakekoa moved this from To Do to In Progress in Monkey Dev Board Aug 17, 2023
Monkey Dev Board automation moved this from In Progress to Done Aug 21, 2023
mssalvatore added a commit that referenced this issue Aug 21, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Complexity: Low Feature Issue that describes a new feature to be implemented. Impact: High Plugins sp/5
Projects
Development

Successfully merging a pull request may close this issue.

2 participants