Files
git.stella-ops.org/docs/sdks/overview.md
StellaOps Bot e6c47c8f50 save progress
2025-12-28 23:49:56 +02:00

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)