-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Description
User Request
Add the proto definition for the Ziti Management gRPC service, which encapsulates all interactions with the OpenZiti Controller's Edge Management API. See OpenZiti Integration.
Specification
Proto File
Create proto/agynio/api/ziti_management/v1/ziti_management.proto following the conventions of existing protos (e.g., agent_state/v1, threads/v1).
syntax = "proto3";
package agynio.api.ziti_management.v1;
import "google/protobuf/timestamp.proto";
option go_package = "github.com/agynio/api/gen/agynio/api/ziti_management/v1;zitimanagementv1";
service ZitiManagementService {
// Orchestrator → create OpenZiti identity for an agent, return enrollment JWT.
rpc CreateAgentIdentity(CreateAgentIdentityRequest) returns (CreateAgentIdentityResponse);
// Orchestrator → delete OpenZiti identity and its platform mapping.
rpc DeleteIdentity(DeleteIdentityRequest) returns (DeleteIdentityResponse);
// Orchestrator → list all platform-managed identities (orphan reconciliation).
rpc ListManagedIdentities(ListManagedIdentitiesRequest) returns (ListManagedIdentitiesResponse);
// Gateway → map OpenZiti identity ID to platform identity (hot path).
rpc ResolveIdentity(ResolveIdentityRequest) returns (ResolveIdentityResponse);
}
enum IdentityType {
IDENTITY_TYPE_UNSPECIFIED = 0;
IDENTITY_TYPE_AGENT = 1;
IDENTITY_TYPE_RUNNER = 2;
IDENTITY_TYPE_CHANNEL = 3;
}
message ManagedIdentity {
string ziti_identity_id = 1;
string identity_id = 2;
IdentityType identity_type = 3;
string tenant_id = 4;
google.protobuf.Timestamp created_at = 5;
}
message CreateAgentIdentityRequest {
string agent_id = 1;
string tenant_id = 2;
}
message CreateAgentIdentityResponse {
string ziti_identity_id = 1;
string enrollment_jwt = 2;
}
message DeleteIdentityRequest {
string ziti_identity_id = 1;
}
message DeleteIdentityResponse {}
message ListManagedIdentitiesRequest {
IdentityType identity_type = 1;
string tenant_id = 2;
int32 page_size = 3;
string page_token = 4;
}
message ListManagedIdentitiesResponse {
repeated ManagedIdentity identities = 1;
string next_page_token = 2;
}
message ResolveIdentityRequest {
string ziti_identity_id = 1;
}
message ResolveIdentityResponse {
string identity_id = 1;
IdentityType identity_type = 2;
string tenant_id = 3;
}Conventions
- Package:
agynio.api.ziti_management.v1 - Go package:
github.com/agynio/api/gen/agynio/api/ziti_management/v1;zitimanagementv1 - File location:
proto/agynio/api/ziti_management/v1/ziti_management.proto - Style matches existing protos:
snake_casefields,UPPER_SNAKEenum values with_UNSPECIFIED = 0
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels