All Downloads are FREE. Search and download functionalities are using the official Maven repository.

xyz.block.ftl.lease.v1.lease.proto Maven / Gradle / Ivy

syntax = "proto3";

package xyz.block.ftl.lease.v1;

import "google/protobuf/duration.proto";
import "xyz/block/ftl/v1/ftl.proto";

option go_package = "github.com/block/ftl/backend/protos/xyz/block/ftl/lease/v1;leasepb";
option java_multiple_files = true;

message AcquireLeaseRequest {
  repeated string key = 1;
  google.protobuf.Duration ttl = 3;
}

message AcquireLeaseResponse {}

// ModuleService is the service that modules use to interact with the Controller.
service LeaseService {
  // Ping service for readiness.
  rpc Ping(xyz.block.ftl.v1.PingRequest) returns (xyz.block.ftl.v1.PingResponse) {
    option idempotency_level = NO_SIDE_EFFECTS;
  }

  // Acquire (and renew) a lease for a deployment.
  //
  // Returns ResourceExhausted if the lease is held.
  rpc AcquireLease(stream AcquireLeaseRequest) returns (stream AcquireLeaseResponse);
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy