Skip to content

Latest commit

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Workflow Templates

A curated collection of pre-built workflow templates for ShipSec Studio. Browse these templates directly in the Template Library to jumpstart your security automation, monitoring, and DevOps workflows.


What is this?

This repository is the source of truth for the ShipSec Studio Template Library. Every .json file inside the templates/ directory is automatically synced into the platform and made available for one-click use.

Templates let teams share battle-tested workflows — complete with node configurations, edge connections, and metadata — so others can deploy them in seconds instead of building from scratch.


Repository Structure

workflow-templates/
├── templates/
│ ├── trivy-image-scan.json
│ ├── aws-guardduty-alerting.json
│ ├── compliance-audit-report.json
│ └── ...
└── README.md

All template files live in the templates/ directory. Each file is a self-contained JSON document.


Template JSON Schema

Every template file follows this structure:

{
"_metadata": {
"name": "Trivy Container Image Scan",
"description": "Scans container images for vulnerabilities using Trivy and generates a findings report.",
"category": "Security",
"tags": ["security", "scanning", "containers", "trivy"],
"author": "ShipSec Team",
"version": "1.0.0"
},
"graph": {
"nodes": [
{
"id": "entry-point-1",
"type": "workflow",
"position": { "x": 0, "y": 150 },
"data": {
"label": "Entry Point",
"componentId": "core.workflow.entrypoint",
"config": { "params": {}, "inputOverrides": {} },
"inputs": {}
}
},
{
"id": "trivy-scan-1",
"type": "workflow",
"position": { "x": 300, "y": 150 },
"data": {
"label": "Trivy Image Scan",
"componentId": "security.trivy-image-scan",
"config": {
"params": { "image": "nginx:latest" },
"inputOverrides": {}
},
"inputs": {}
}
}
// ... more nodes
],
"edges": [
{
"id": "edge-1",
"source": "entry-point-1",
"target": "trivy-scan-1",
"type": "default"
}
// ... more edges
]
},
"requiredSecrets": [
{
"name": "DOCKER_REGISTRY_TOKEN",
"type": "token",
"description": "Authentication token for private container registries"
}
]
}

Field Reference

FieldRequiredDescription
_metadata.nameYesDisplay name shown in the Template Library
_metadata.descriptionNoBrief description of what the workflow does
_metadata.categoryYesOne of the supported categories (see below)
_metadata.tagsNoArray of lowercase tags for filtering
_metadata.authorYesYour name or organization
_metadata.versionYesSemantic version (e.g., "1.0.0")
graph.nodesYesArray of workflow nodes with positions and configurations
graph.edgesYesArray of connections between nodes
requiredSecretsNoSecrets the workflow needs (displayed to users before use)

Categories

Templates must belong to one of these categories:

CategoryDescription
SecurityVulnerability scanning, threat detection, security assessments
MonitoringSystem monitoring, alerting, health checks
ComplianceAudit trails, policy checks, regulatory compliance
Incident ResponseAlert triage, forensics, response playbooks
Data ProcessingETL pipelines, data transformation, enrichment
IntegrationThird-party service connections, API orchestration
AutomationGeneral-purpose task automation
ReportingReport generation, dashboards, notifications
TestingQA workflows, test orchestration, validation
OtherEverything else

Tags

Use lowercase tags for discoverability. Common tags:

securitymonitoringautomationintegrationapinotificationcompliancescanninganalysisreportingincidentresponseforensicsenrichmentdetection


How Templates Are Synced

The ShipSec Studio backend automatically syncs templates from this repository:

  1. On startup — the backend fetches all files from templates/ via the GitHub API
  2. Manual sync — admins can trigger a sync from the Template Library UI
  3. ETag caching — repeated syncs use HTTP ETag headers to minimize API calls (a 304 Not Modified response costs zero rate limit)
  4. Upsert logic — templates are matched by (repository, path) so updating a file updates the existing template

No authentication is required — this is a public repository.


Contributing a Template

Option 1: Via the Studio UI (Recommended)

  1. Build your workflow in ShipSec Studio
  2. Click "Publish as Template" on the workflow page
  3. Fill in the metadata (name, category, tags, author)
  4. The template JSON is generated and copied to your clipboard
  5. A GitHub editor opens — paste the code and click "Propose new file"
  6. Submit a pull request for review

Option 2: Manual PR

  1. Fork this repository
  2. Create a new .json file in the templates/ directory
  3. Follow the Template JSON Schema above
  4. Open a pull request

Guidelines

  • Sanitize secrets — never include real API keys, tokens, or passwords. Use {{SECRET_PLACEHOLDER}} for any secret references and document them in requiredSecrets.
  • Include node positions — the position field on each node is required for the visual layout to render correctly in both the Template Library preview and the workflow builder.
  • Use descriptive names — the template name and description are what users see when browsing. Be clear about what the workflow does.
  • One workflow per file — each .json file should contain a single complete workflow template.
  • Test before submitting — make sure your workflow runs correctly in Studio before publishing it as a template.

Using a Template

  1. Navigate to the Template Library in ShipSec Studio (/templates)
  2. Browse, search, or filter by category and tags
  3. Click "Use Template" on any card
  4. Enter a workflow name and provide any required secrets
  5. Click "Create Workflow" — you'll be taken to the workflow builder with everything pre-configured

Template Preview

Each template card in the library displays a miniature SVG preview of the workflow graph, showing:

  • Nodes as card-style elements with labels
  • Edges as curved bezier connections with arrows
  • Entry points highlighted with a distinct pill shape

Hover over the preview and scroll to zoom into specific areas of the graph. Double-click to reset the view.


Questions?

  • Open an issue for bugs or feature requests
  • Join the discussion in ShipSec Studio's community channels

About

Workflow Templates

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors