Files
charybdis/plugins.toml
2026-05-12 17:06:43 +02:00

57 lines
1.9 KiB
TOML

# Charybdis Plugin Registry
# This file defines which plugins are enabled and their protobuf field number allocations.
# Field numbers must be unique to avoid conflicts in the generated protobuf.
# Field number ranges:
# - Core types: 1-99 (reserved for Charybdis core entity types)
# - Plugin types: 100+ (allocated sequentially per plugin)
[core]
# Core entity types are always enabled
proto_path = "proto/core"
metadata_field_range = "10-49"
spec_field_range = "10-49"
# Plugin configurations
# Each plugin must declare:
# - enabled: whether to include this plugin in the build
# - proto_path: path to the plugin's .proto files
# - metadata_field_number: unique field number for the metadata oneof variant
# - spec_field_number: unique field number for the spec oneof variant
[plugins.defectdojo]
enabled = true
proto_path = "plugins/defectdojo/proto"
metadata_field_number = 100
spec_field_number = 200
description = "DefectDojo security testing integration"
[plugins.keycloak]
enabled = true
proto_path = "plugins/keycloak/proto"
metadata_field_number = 102
spec_field_number = 202
description = "Keycloak identity provider sync (users and groups)"
[plugins.dependencytrack]
enabled = true
proto_path = "plugins/dependencytrack/proto"
metadata_field_number = 101
spec_field_number = 201
description = "Dependency-Track component analysis integration"
# Example plugin configuration:
# [plugins.my_custom_plugin]
# enabled = true
# proto_path = "plugins/my_custom_plugin/proto"
# metadata_field_number = 102
# spec_field_number = 102
# description = "My custom plugin for X integration"
# NOTE: When adding a new plugin:
# 1. Create the plugin directory structure: plugins/<name>/proto/<name>.proto
# 2. Define <Name>Metadata and <Name>Spec messages in the proto file
# 3. Add configuration here with unique field numbers
# 4. Set enabled = true
# 5. Run `cargo build` to regenerate entities.proto