Public Access
initial-commit
This commit is contained in:
@@ -0,0 +1,55 @@
|
||||
syntax = "proto3";
|
||||
|
||||
package charybdis.core;
|
||||
|
||||
import "core/common.proto";
|
||||
|
||||
// ServiceMetadata represents identifying information for a service entity
|
||||
// Compatible with Backstage Component metadata structure
|
||||
message ServiceMetadata {
|
||||
// Required: The name of the service
|
||||
string name = 1;
|
||||
|
||||
// Optional: Namespace for organizational grouping (e.g., "production", "staging")
|
||||
string namespace = 2;
|
||||
|
||||
// Optional: Human-readable description of what this service does
|
||||
string description = 3;
|
||||
|
||||
// Optional: Labels for categorization and filtering
|
||||
repeated string labels = 4;
|
||||
|
||||
// Optional: Tags for additional classification
|
||||
repeated string tags = 5;
|
||||
|
||||
// Optional: Links to external resources
|
||||
repeated Link links = 6;
|
||||
}
|
||||
|
||||
// ServiceSpec represents configuration and behavior for a service entity
|
||||
// Compatible with Backstage Component spec structure
|
||||
message ServiceSpec {
|
||||
// Type of service (e.g., "backend-service", "frontend", "api", "website")
|
||||
string type = 1;
|
||||
|
||||
// Lifecycle stage (e.g., "production", "experimental", "deprecated")
|
||||
string lifecycle = 2;
|
||||
|
||||
// Owner team or individual (e.g., "team-platform", "john.doe@company.com")
|
||||
string owner = 3;
|
||||
|
||||
// Optional: Parent system this service belongs to
|
||||
string system = 4;
|
||||
|
||||
// Optional: Sub-component of another service
|
||||
string subcomponent_of = 5;
|
||||
|
||||
// Optional: Services this service depends on
|
||||
repeated string depends_on = 6;
|
||||
|
||||
// Optional: Services that provide APIs this service consumes
|
||||
repeated string consumes_apis = 7;
|
||||
|
||||
// Optional: APIs that this service provides
|
||||
repeated string provides_apis = 8;
|
||||
}
|
||||
Reference in New Issue
Block a user