2.1 KiB
2.1 KiB
SDKs Overview
StellaOps provides SDKs for extending platform functionality and integrating with external systems.
Plugin SDK
The Plugin SDK enables development of custom plugins for all StellaOps modules:
| SDK | Purpose | Documentation |
|---|---|---|
| Plugin Development | Create custom plugins | Plugin Development Guide |
| Plugin Templates | dotnet new templates |
Plugin Templates |
Plugin Categories
| Category | Interface | Use Case |
|---|---|---|
| Router Transports | IRouterTransportPlugin |
Custom communication protocols |
| Authority Providers | IAuthorityPlugin |
Identity/auth providers |
| Concelier Connectors | IConcielierConnector |
Vulnerability data sources |
| Scanner Analyzers | IScannerAnalyzerPlugin |
Language-specific scanners |
| Crypto Providers | ICryptoPlugin |
Cryptographic implementations |
| Notify Channels | INotifyChannel |
Notification delivery |
Language SDKs
Client SDKs for integrating with StellaOps APIs:
| Language | Status | Documentation |
|---|---|---|
| Go | Planned | - |
| Java | Planned | - |
| Python | Planned | - |
| TypeScript | Planned | - |
Determinism Checklist
All SDKs and plugins must maintain determinism:
- Hash any inbound assets/payloads; place sums alongside artifacts
- Keep examples offline-friendly and deterministic (fixed seeds, pinned versions, stable ordering)
- Note source/approver for any provided captures or schemas
SDK Design Principles
- Offline-first: No hidden network calls; explicit configuration for remote access
- Deterministic: Stable ordering, reproducible outputs
- Typed: Strong typing for compile-time safety
- Async-native: First-class async/await support
- Testable: Easy to mock and test in isolation