57 lines
2.1 KiB
Markdown
57 lines
2.1 KiB
Markdown
# 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-development.md) |
|
|
| **Plugin Templates** | `dotnet new` templates | [Plugin Templates](./plugin-templates/README.md) |
|
|
|
|
### 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](./go.md) | Planned | - |
|
|
| [Java](./java.md) | Planned | - |
|
|
| [Python](./python.md) | Planned | - |
|
|
| [TypeScript](./typescript.md) | 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
|
|
|
|
## See Also
|
|
|
|
- [Plugin Architecture](../plugins/ARCHITECTURE.md)
|
|
- [Plugin Configuration](../plugins/CONFIGURATION.md)
|
|
- [Plugin SDK Guide](../10_PLUGIN_SDK_GUIDE.md)
|