save progress
This commit is contained in:
@@ -1,17 +1,56 @@
|
||||
# SDKs Overview (outline)
|
||||
# SDKs Overview
|
||||
|
||||
- Language guides will align once generator outputs drop.
|
||||
StellaOps provides SDKs for extending platform functionality and integrating with external systems.
|
||||
|
||||
## Pending Inputs
|
||||
- See sprint SPRINT_0309_0001_0009_docs_tasks_md_ix action tracker; inputs due 2025-12-09..12 from owning guilds.
|
||||
## 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
|
||||
- [ ] Hash any inbound assets/payloads; place sums alongside artifacts (e.g., SHA256SUMS in this folder).
|
||||
- [ ] Keep examples offline-friendly and deterministic (fixed seeds, pinned versions, stable ordering).
|
||||
- [ ] Note source/approver for any provided captures or schemas.
|
||||
|
||||
## Sections to fill (once inputs arrive)
|
||||
- Supported languages and parity guarantees.
|
||||
- Auth, pagination, retries, telemetry defaults.
|
||||
- Versioning/pinning guidance for offline bundles.
|
||||
- Links to per-language guides with hash-listed samples.
|
||||
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)
|
||||
|
||||
Reference in New Issue
Block a user