Public Access
38 lines
1.1 KiB
Protocol Buffer
38 lines
1.1 KiB
Protocol Buffer
syntax = "proto3";
|
|
|
|
package charybdis.core;
|
|
|
|
import "core/common.proto";
|
|
|
|
// SystemMetadata represents identifying information for a system entity
|
|
// A system is a collection of services and resources that work together
|
|
message SystemMetadata {
|
|
// Required: The name of the system
|
|
string name = 1;
|
|
|
|
// Optional: Namespace for organizational grouping (default: "default")
|
|
string namespace = 2;
|
|
|
|
// Optional: Human-readable description of the system
|
|
string description = 3;
|
|
|
|
// Optional: Labels for categorization and filtering
|
|
// Key-value pairs (e.g., "environment": "production", "criticality": "high")
|
|
map<string, string> labels = 4;
|
|
|
|
// Optional: Tags for additional classification
|
|
repeated string tags = 5;
|
|
|
|
// Optional: Links to external resources
|
|
repeated Link links = 6;
|
|
}
|
|
|
|
// SystemSpec represents configuration for a system entity
|
|
message SystemSpec {
|
|
// Required: Owner team or individual responsible for this system (references a Group or User entity)
|
|
string owner = 1;
|
|
|
|
// Optional: Domain this system belongs to (references a Domain entity)
|
|
string domain = 2;
|
|
}
|