Kibotos
API referencekibotos.ctrl.v1

ExposureService

This page lists the methods of ExposureService in kibotos.ctrl.v1 with the messages and enums each one uses, generated from ctrl.proto and its comments. Those that several services use are on kibotos.ctrl.v1 types.

ctrl APICalled with an Operator certificate.How to call it

ExposureService turns one HTTP port inside a guest into a stable public hostname. The caller never names a provider, tunnel, account, or token: the deployment owns the zone and everything behind it.

CreateExposure

CreateExposure mints a random hostname under the deployment zone and binds it to one exact guest loopback port for the life of the TTL. The hostname is stable across Workspace restarts and is never derived from an identifier, port, or sequence number.

POST/kibotos.ctrl.v1.ExposureService/CreateExposureUnary
RequestCreateExposureRequest
ResponseCreateExposureResponse

GetExposure

POST/kibotos.ctrl.v1.ExposureService/GetExposureUnary
RequestGetExposureRequest
ResponseGetExposureResponse

ListExposures

POST/kibotos.ctrl.v1.ExposureService/ListExposuresUnary
RequestListExposuresRequest
  • page_sizeuint32= 1

    Zero selects the server default. Values above the server maximum are rejected rather than silently changed.

  • page_tokenstring= 2

    Opaque cursor returned by the preceding page.

  • workspace_idstring= 3

    Empty lists every Exposure the caller may see; otherwise only this Workspace's, including its revoked ones.

ResponseListExposuresResponse

RevokeExposure

RevokeExposure stops serving the hostname and ends the connections running on it. It is idempotent: an already revoked Exposure is returned unchanged.

POST/kibotos.ctrl.v1.ExposureService/RevokeExposureUnary
RequestRevokeExposureRequest
ResponseRevokeExposureResponse

Messages and enums

Several methods of ExposureService use these messages and enums.

ExposureSpec

  • Only tcp_loopback is accepted. A unix_stream target is unimplemented: a public HTTP origin addresses a port.

  • ttlgoogle.protobuf.Duration= 2

    Required and positive, bounded by the server maximum. There is no unbounded Exposure: the address is public and unauthenticated.

Exposure

  • exposure_idstring= 1
  • workspace_idstring= 2
  • hostnamestring= 4

    hostname is <label>.<zone>. It is fixed at creation and survives Workspace restarts. It is not reused after revocation.

  • urlstring= 5

    url is derived from hostname. It is returned so a caller never has to assemble a scheme or port of its own. It carries no trailing slash: a caller appends a path to it.

  • created_atgoogle.protobuf.Timestamp= 7
  • expires_atgoogle.protobuf.Timestamp= 8
  • revoked_atgoogle.protobuf.Timestamp= 9

    revoked_at is set exactly when state is REVOKED.

ExposureState

  • EXPOSURE_STATE_UNSPECIFIED= 0
  • EXPOSURE_STATE_ACTIVE= 1
  • EXPOSURE_STATE_REVOKED= 2

On this page