Welcome to the RADKit developer journey! This repository collects practical examples, patterns, and notes built up while learning and working with the RADKit platform.
RADKit exposes three distinct APIs, each targeting a different persona and use case. Depending on what you are trying to accomplish, you will want to explore one or more of the collections below.
| Persona | Goal | Collection |
|---|---|---|
| 🤖 Network Automation Developer | Write scripts or applications that run commands, collect data, or interact with devices through RADKit | Client API Examples |
| 🛠️ Platform / IT Administrator | Programmatically provision users, devices, labels, roles, and admins on a RADKit service | Control API Examples |
Covers the radkit_client Python SDK: the primary library used to connect to RADKit and interact with managed devices.
| Code notebook | What it covers |
|---|---|
| 🔗 How to authenticate | Authenticating and establishing a connection: SSO login, certificate login, access token login, direct service connections, and HTTP proxy configuration |
| 🔗 How to connect to my RADKit service | Connecting and plugging into your RADKit service |
| 🔗 How to structure and manage scripts | Managing the Client lifecycle in scripts, Jupyter Notebooks, and FastAPI apps |
| 🔗 How to execute commands on devices | Inspecting inventory, filtering target devices, running commands on single or multiple devices, and handling execution results and partial failures |
| 🔗 How to parse command outputs with Genie | Parsing outputs with Genie parsers |
| 🔗 How to transfer files | Transferring files to and from devices using SCP/SFTP |
| 🔗 How to use SNMP and NETCONF | Performing SNMP walk and get operations, and executing NETCONF/YANG calls against devices |
Covers the ControlAPI: the administrative plane for managing the RADKit service itself: users, devices, labels, roles, and admins.
| Code notebook | What it covers |
|---|---|
| 🔗 How to manage users | Creating, listing, fetching, updating and deleting remote users |
| 🔗 How to manage devices | Same, but for your devices |
| 🔗 How to manage labels | Managing your labels for remote users and devices when RBAC is enabled in your service |
| 🔗 How to manage admins | Listing, creating, and deleting admin accounts on the service |
| 🔗 How to manage roles | Managing your roles for admin users |
