Skip to content

Remove channel identity type, add runner identity RPCs, and update Runner message #76

@rowan-stein

Description

@rowan-stein

User Request

Update the shared proto definitions to support the architectural changes:

  1. Channels removed — the channel identity type is being eliminated.
  2. Unified runner enrollment — runners now use service-token-based enrollment with per-runner OpenZiti services.

Specification

1. identity/v1/identity.proto

  • Remove IDENTITY_TYPE_CHANNEL = 3 from the IdentityType enum.
  • Add reserved 3; and reserved "IDENTITY_TYPE_CHANNEL"; to prevent reuse.
  • Update buf.yaml breaking change config to ignore ENUM_VALUE_NO_DELETE for proto/agynio/api/identity/v1/identity.proto.

2. ziti_management/v1/ziti_management.proto

  • Remove SERVICE_TYPE_RUNNER = 3 from the ServiceType enum. Add reserved 3; and reserved "SERVICE_TYPE_RUNNER";.
  • Add CreateRunnerIdentity RPC and DeleteRunnerIdentity RPC to ZitiManagementService.
  • Add request/response messages:
rpc CreateRunnerIdentity(CreateRunnerIdentityRequest) returns (CreateRunnerIdentityResponse);
rpc DeleteRunnerIdentity(DeleteRunnerIdentityRequest) returns (DeleteRunnerIdentityResponse);

message CreateRunnerIdentityRequest {
  string runner_id = 1;
  repeated string role_attributes = 2;
}

message CreateRunnerIdentityResponse {
  string ziti_identity_id = 1;
  bytes identity_json = 2;
  string ziti_service_id = 3;
  string openziti_service_name = 4;
}

message DeleteRunnerIdentityRequest {
  string ziti_identity_id = 1;
  string ziti_service_id = 2;
}

message DeleteRunnerIdentityResponse {}

3. runners/v1/runners.proto

  • Add string openziti_service_name = 6; to the Runner message.

Notes

  • All removed enum values must use reserved directives for wire-format safety.
  • buf.yaml must be updated to suppress ENUM_VALUE_NO_DELETE for identity.proto and ziti_management.proto.
  • After merge, BSR publish enables downstream repos to regenerate stubs.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions