Netpicker architecture overview

Netpicker is an on-premise containerized solution designed to automate network device configuration and testing. The architecture leverages Docker containers, role-based access, and Git repositories to manage and execute tests efficiently within a customer’s environment.

Architecture Components

1. Admin and Engineer Roles

  • Admin: Responsible for installing containers on-premise, managing role-based access, and configuring agents.
  • Engineers: Utilize the Netpicker web interface to run tests and analyze results.

2. Network devices

  • The network devices are connected to the Netpicker agent, which facilitates communication and data exchange.

3. Netpicker agent

  • A Docker container that resides within the customer’s network environment.

Responsibilities:

  • Connecting to network devices to execute tests and backups.
  • Storing credentials locally to ensure secure access to network devices.

4. Credentials Management

  • Credentials required for network device access are securely stored by the Netpicker agent.

5. Netpicker API

  • Acts as the intermediary between the Netpicker Agent and other components.
  • Facilitates communication and data exchange across the system.

6. Netpicker GUI

  • A web-based interface used by engineers to initiate tests, monitor processes, and view results.
  • Supports role-based access control configured by the admin.

7. Customer Docker environment

  • Tests and other operations are executed within the customer’s Docker environment.
  • This isolation ensures that the operations do not interfere with other customer systems.

8. Workers for Test, Backup, etc.

  • Multiple worker containers are deployed to handle specific tasks such as testing and backing up configurations.
  • These workers are managed and coordinated by the Netpicker system.

9. Netpicker database

  • Results from tests and other operations are stored in the customer’s local database.
  • Ensures data privacy and compliance with customer data policies.

10. Git repository

  • Device configurations and test scripts are stored in a Git repository.
  • Facilitates version control and collaborative management of configurations and test cases.

Workflow

  • Installation: Admin installs the Netpicker containers in the customer’s on-premise Docker environment.
  • Configuration: Admin configures the Netpicker agent with necessary credentials and connects it to network devices.
  • Role Setup: Admin sets up role-based access for engineers via the Netpicker GUI.
  • Device Interaction: The Netpicker agent interacts with network devices using stored credentials.
  • Test Execution: Engineers use the Netpicker GUI to run tests which are executed by workers in the Docker environment.
  • Result Storage: Test results are stored in the Netpicker database.
  • Configuration Management: Device configurations and test scripts are managed and stored in a Git repository.

Security Considerations

  • Credential Storage: Credentials are stored locally by the Netpicker agent to prevent unauthorized access.
  • Role-Based Access: Admins can define access levels for different engineers, ensuring only authorized personnel can perform specific actions.
  • Data Privacy: All test results and configurations are stored within the customer’s infrastructure, ensuring compliance with data privacy regulations.

Would you like a hands-on session?

A couple times a week our in-house trainer is available for a private or group session. In this session we can cover our Slurp’it or Mock’it solution but also integrations with Netpicker, NetBox, Nautobot & Infrahub.

Yes, keep me informed

Connect with us on LinkedIn to stay updated on the latest happenings, news, and exciting developments at Slurp’it. Just click the button below to follow us and be a part of our professional network.

Newsletter