
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