Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
74 changes: 74 additions & 0 deletions proto/agynio/api/ziti_management/v1/ziti_management.proto
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
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;
}
Loading