This commit is contained in:
StellaOps Bot
2025-12-14 23:20:14 +02:00
parent 3411e825cd
commit b058dbe031
356 changed files with 68310 additions and 1108 deletions

103
templates/README.md Normal file
View File

@@ -0,0 +1,103 @@
# StellaOps Plugin Templates
This directory contains `dotnet new` templates for creating StellaOps plugins.
## Available Templates
| Template | Short Name | Description |
|----------|------------|-------------|
| StellaOps Connector Plugin | `stellaops-plugin-connector` | Create a data connector plugin (e.g., VEX, advisory feeds) |
| StellaOps Scheduled Job Plugin | `stellaops-plugin-scheduler` | Create a scheduled job plugin |
## Installation
### From Local Directory
```bash
dotnet new install ./templates
```
### From NuGet Package
```bash
dotnet new install StellaOps.Templates
```
## Usage
### Create a Connector Plugin
```bash
# Create with defaults
dotnet new stellaops-plugin-connector -n MyCompany.AcmeConnector
# Create with custom parameters
dotnet new stellaops-plugin-connector \
-n MyCompany.AcmeConnector \
--connectorName Acme \
--connectorId acme-vex \
--namespace MyCompany.Plugins.Acme
```
### Create a Scheduled Job Plugin
```bash
# Create with defaults
dotnet new stellaops-plugin-scheduler -n MyCompany.CleanupJob
# Create with custom parameters
dotnet new stellaops-plugin-scheduler \
-n MyCompany.CleanupJob \
--jobName Cleanup \
--cronSchedule "0 */6 * * *" \
--namespace MyCompany.Plugins.Cleanup
```
## Template Parameters
### Connector Plugin Parameters
| Parameter | Description | Default |
|-----------|-------------|---------|
| `--connectorName` | Name of the connector | MyConnector |
| `--connectorId` | Unique connector identifier | my-connector |
| `--namespace` | Root namespace | StellaOps.Plugin.MyConnector |
| `--pluginVersion` | Initial version | 1.0.0 |
### Scheduler Plugin Parameters
| Parameter | Description | Default |
|-----------|-------------|---------|
| `--jobName` | Name of the scheduled job | MyJob |
| `--cronSchedule` | Default cron schedule | 0 0 * * * |
| `--namespace` | Root namespace | StellaOps.Plugin.MyJob |
| `--pluginVersion` | Initial version | 1.0.0 |
## Building the Template Pack
```bash
cd templates
dotnet pack -c Release
```
This creates `StellaOps.Templates.<version>.nupkg` that can be published to NuGet.
## Uninstalling Templates
```bash
dotnet new uninstall StellaOps.Templates
```
## Plugin Development Guide
After creating a plugin from a template:
1. **Update options**: Modify the `*Options.cs` file with your configuration
2. **Implement logic**: Add your business logic to the main class
3. **Add validation**: Update the validator for your specific requirements
4. **Add tests**: Create a test project for your plugin
5. **Build**: `dotnet build -c Release`
6. **Sign**: `cosign sign --key $COSIGN_KEY <assembly.dll>`
7. **Deploy**: Copy to the plugin binaries directory
For more details, see `docs/10_PLUGIN_SDK_GUIDE.md`.