mirror of
https://github.com/psviderski/uncloud.git
synced 2026-10-06 13:18:58 +00:00
78 lines
2.5 KiB
Protocol Buffer
78 lines
2.5 KiB
Protocol Buffer
syntax = "proto3";
|
|
|
|
package api;
|
|
|
|
option go_package = "github.com/psviderski/uncloud/api/pb";
|
|
|
|
import "google/protobuf/empty.proto";
|
|
import "google/protobuf/timestamp.proto";
|
|
|
|
// CaddyStorage exposes the CertMagic storage operations backed by the distributed cluster store.
|
|
// Each request operates on the receiving machine's store replica. Callers that need replication to catch up before
|
|
// reading should capture store versions with Machine.InspectMachine and call Machine.WaitForStoreVersion on the
|
|
// receiving machine, subject to that RPC's data-availability limitations (see WaitForStoreVersion docs).
|
|
// See Storage interface in https://github.com/caddyserver/certmagic/blob/master/storage.go.
|
|
service CaddyStorage {
|
|
rpc Store(StoreCaddyStorageRequest) returns (google.protobuf.Empty);
|
|
rpc Load(LoadCaddyStorageRequest) returns (LoadCaddyStorageResponse);
|
|
rpc Delete(DeleteCaddyStorageRequest) returns (google.protobuf.Empty);
|
|
rpc List(ListCaddyStorageRequest) returns (ListCaddyStorageResponse);
|
|
rpc Stat(StatCaddyStorageRequest) returns (StatCaddyStorageResponse);
|
|
|
|
// ListCertificates lists certificates issued by Caddy and stored in the cluster store.
|
|
// Unreadable entries and invalid resource metadata are skipped. Chains and issuer data are returned as stored.
|
|
rpc ListCertificates(google.protobuf.Empty) returns (ListCertificatesResponse);
|
|
}
|
|
|
|
message StoreCaddyStorageRequest {
|
|
string key = 1;
|
|
bytes value = 2;
|
|
}
|
|
|
|
message LoadCaddyStorageRequest {
|
|
string key = 1;
|
|
}
|
|
|
|
message LoadCaddyStorageResponse {
|
|
bytes value = 1;
|
|
google.protobuf.Timestamp updated_at = 2;
|
|
}
|
|
|
|
message DeleteCaddyStorageRequest {
|
|
string key = 1;
|
|
}
|
|
|
|
message ListCaddyStorageRequest {
|
|
string prefix = 1;
|
|
bool recursive = 2;
|
|
}
|
|
|
|
message ListCaddyStorageResponse {
|
|
repeated string keys = 1;
|
|
}
|
|
|
|
message StatCaddyStorageRequest {
|
|
string key = 1;
|
|
}
|
|
|
|
message StatCaddyStorageResponse {
|
|
string key = 1;
|
|
google.protobuf.Timestamp updated_at = 2;
|
|
int64 size = 3;
|
|
bool is_terminal = 4;
|
|
}
|
|
|
|
message ListCertificatesResponse {
|
|
repeated IssuedCertificate certificates = 1;
|
|
}
|
|
|
|
message IssuedCertificate {
|
|
// Subject Alternative Name (SAN) of the certificate. Caddy doesn't issue certificates with multiple SANs.
|
|
string san = 1;
|
|
// The PEM-encoding of DER-encoded ASN.1 data for the cert or chain, leaf first.
|
|
bytes chain = 2;
|
|
// Any extra information associated with the certificate, usually provided by the issuer implementation.
|
|
// JSON-encoded, may be absent or null.
|
|
bytes issuer_data = 3;
|
|
}
|