Files
master 66cb6c4b8a
Some checks failed
Docs CI / lint-and-preview (push) Has been cancelled
feat: Add guild charters and task boards for various components
- Introduced guild charters for Scanner Deno, PHP, Ruby, Native, WebService, Java, Surface.Env, Surface.FS, Surface.Secrets, Surface.Validation, UI, Zastava Observer, Zastava Webhook, Zastava Core, and Plugin Platform.
- Each charter outlines the mission, scope, required reading, and working agreements for the respective guilds.
- Created task boards for Surface.Env, Surface.FS, Surface.Secrets, Surface.Validation, and Zastava components to track progress and dependencies.
- Ensured all documents emphasize determinism, offline readiness, security, and integration with shared Surface libraries.
2025-11-01 02:21:46 +02:00

35 lines
1.7 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Plugin Development Guide
StellaOps services expose restart-time plug-in hooks so operators can extend functionality (connectors, analyzers, notification channels). This guide covers common patterns when implementing plug-ins against `StellaOps.Plugin`.
## 1. Concepts
- **Manifest** describes the plug-in assembly, supported capabilities, and minimum host version.
- **Registration** plug-ins export DI registration classes discovered by `StellaOps.Plugin` at host startup.
- **Isolation** plug-ins load from a dedicated directory with ordered manifests; hosts enforce allow-lists and capability checks.
## 2. Authoring Steps
1. Reference `StellaOps.Plugin` and implement `IPluginRegistration`.
2. Provide a manifest (`manifest.json`) describing assembly name, version, and capabilities.
3. Add unit tests covering registration and integration (use `StellaOps.Plugin.Tests` helpers).
4. Package plug-in binaries under `plugins/<host>/` with checksum manifest for offline kits.
## 3. Security & Determinism
- Avoid global state or non-deterministic behaviour; plug-ins must be restart-safe.
- Do not perform network access unless explicitly allowed by host configuration.
- Use dependency injection to receive configuration and shared services.
## 4. Resources
- `src/__Libraries/StellaOps.Plugin`
- `docs/modules/platform/architecture-overview.md`
- Host-specific docs (e.g., `docs/modules/scanner/architecture.md`, `docs/modules/notify/architecture.md`)
## 5. Testing & Deployment
- Run host integration tests to ensure plug-in loads correctly.
- Provide sample configuration snippets for Helm/Compose/Offline kits.
- Document plug-in versioning and compatibility requirements.