[SSL证书]实现对ACME任务的增删改查

This commit is contained in:
刘祥超
2020-11-25 21:20:10 +08:00
parent 3b921809fe
commit 4fc7f4e3e8
12 changed files with 2807 additions and 737 deletions

View File

@@ -0,0 +1,22 @@
syntax = "proto3";
option go_package = "./pb";
package pb;
import "model_acme_user.proto";
import "model_dns_provider.proto";
import "model_ssl_cert.proto";
message ACMETask {
int64 id = 1;
bool isOn = 2;
string dnsDomain = 3;
repeated string domains = 4;
int64 createdAt = 5;
bool isOk = 6;
bool autoRenew = 7;
ACMEUser acmeUser = 30;
DNSProvider dnsProvider = 31;
SSLCert sslCert = 32;
}

View File

@@ -0,0 +1,10 @@
syntax = "proto3";
option go_package = "./pb";
package pb;
message SSLCert {
int64 id = 1;
bool isOn = 2;
string name = 3;
}

View File

@@ -0,0 +1,113 @@
syntax = "proto3";
option go_package = "./pb";
package pb;
import "rpc_messages.proto";
import "model_acme_task.proto";
// ACME任务相关服务
service ACMETaskService {
// 计算某个ACME用户相关的任务数量
rpc countAllEnabledACMETasksWithACMEUserId (CountAllEnabledACMETasksWithACMEUserIdRequest) returns (RPCCountResponse);
// 计算跟某个DNS服务商相关的任务数量
rpc countEnabledACMETasksWithDNSProviderId (CountEnabledACMETasksWithDNSProviderIdRequest) returns (RPCCountResponse);
// 计算所有任务数量
rpc countAllEnabledACMETasks (CountAllEnabledACMETasksRequest) returns (RPCCountResponse);
// 列出单页任务
rpc listEnabledACMETasks (ListEnabledACMETasksRequest) returns (ListEnabledACMETasksResponse);
// 创建任务
rpc createACMETask (CreateACMETaskRequest) returns (CreateACMETaskResponse);
// 修改任务
rpc updateACMETask (UpdateACMETaskRequest) returns (RPCSuccess);
// 删除任务
rpc deleteACMETask (DeleteACMETaskRequest) returns (RPCSuccess);
// 运行某个任务
rpc runACMETask (RunACMETaskRequest) returns (RunACMETaskResponse);
// 查找单个任务信息
rpc findEnabledACMETask (FindEnabledACMETaskRequest) returns (FindEnabledACMETaskResponse);
}
// 计算某个ACME用户相关的任务数量
message CountAllEnabledACMETasksWithACMEUserIdRequest {
int64 acmeUserId = 1;
}
// 计算跟某个DNS服务商相关的任务数量
message CountEnabledACMETasksWithDNSProviderIdRequest {
int64 dnsProviderId = 1;
}
// 计算所有任务数量
message CountAllEnabledACMETasksRequest {
int64 adminId = 1;
int64 userId = 2;
}
// 列出单页任务
message ListEnabledACMETasksRequest {
int64 adminId = 1;
int64 userId = 2;
int64 offset = 3;
int64 size = 4;
}
message ListEnabledACMETasksResponse {
repeated ACMETask acmeTasks = 1;
}
// 创建任务
message CreateACMETaskRequest {
int64 acmeUserId = 1;
int64 dnsProviderId = 2;
string dnsDomain = 3;
repeated string domains = 4;
bool autoRenew = 5;
}
message CreateACMETaskResponse {
int64 acmeTaskId = 1;
}
// 修改任务
message UpdateACMETaskRequest {
int64 acmeTaskId = 1;
int64 acmeUserId = 2;
int64 dnsProviderId = 3;
string dnsDomain = 4;
repeated string domains = 5;
bool autoRenew = 6;
}
// 删除任务
message DeleteACMETaskRequest {
int64 acmeTaskId = 1;
}
// 运行某个任务
message RunACMETaskRequest {
int64 acmeTaskId = 1;
}
message RunACMETaskResponse {
bool isOk = 1;
string error = 2;
int64 sslCertId = 3;
}
// 查找单个任务信息
message FindEnabledACMETaskRequest {
int64 acmeTaskId = 1;
}
message FindEnabledACMETaskResponse {
ACMETask acmeTask = 1;
}

View File

@@ -25,6 +25,9 @@ service ACMEUserService {
// 查找单个用户
rpc findEnabledACMEUser (FindEnabledACMEUserRequest) returns (FindEnabledACMEUserResponse);
// 查找所有用户
rpc findAllACMEUsers (FindAllACMEUsersRequest) returns (FindAllACMEUsersResponse);
}
// 创建用户
@@ -73,4 +76,14 @@ message FindEnabledACMEUserRequest {
message FindEnabledACMEUserResponse {
ACMEUser acmeUser = 1;
}
// 查找所有用户
message FindAllACMEUsersRequest {
int64 adminId = 1;
int64 userId = 2;
}
message FindAllACMEUsersResponse {
repeated ACMEUser acmeUsers = 1;
}

View File

@@ -20,6 +20,9 @@ service DNSProviderService {
// 列出单页服务商信息
rpc listEnabledDNSProviders (ListEnabledDNSProvidersRequest) returns (ListEnabledDNSProvidersResponse);
// 查找所有的DNS服务商
rpc findAllEnabledDNSProviders (FindAllEnabledDNSProvidersRequest) returns (FindAllEnabledDNSProvidersResponse);
// 删除服务商
rpc deleteDNSProvider (DeleteDNSProviderRequest) returns (RPCSuccess);
@@ -53,19 +56,32 @@ message UpdateDNSProviderRequest {
// 计算服务商数量
message CountAllEnabledDNSProvidersRequest {
int64 adminId = 1;
int64 userId = 2;
}
// 列出单页的服务商信息
message ListEnabledDNSProvidersRequest {
int64 offset = 1;
int64 size = 2;
int64 adminId = 1;
int64 userId = 2;
int64 offset = 3;
int64 size = 4;
}
message ListEnabledDNSProvidersResponse {
repeated DNSProvider dnsProviders = 1;
}
// 查找所有的DNS服务商
message FindAllEnabledDNSProvidersRequest {
int64 adminId = 1;
int64 userId = 2;
}
message FindAllEnabledDNSProvidersResponse {
repeated DNSProvider dnsProviders = 1;
}
// 删除服务商
message DeleteDNSProviderRequest {
int64 dnsProviderId = 1;

View File

@@ -23,15 +23,6 @@ service SSLCertService {
// 列出单页匹配的Cert
rpc listSSLCerts (ListSSLCertsRequest) returns (ListSSLCertsResponse);
// 计算某个ACME用户生成的证书数量
rpc countSSLCertsWithACMEUserId (CountSSLCertsWithACMEUserIdRequest) returns (RPCCountResponse);
// 计算所有某个管理员/用户下所有的ACME用户生成的证书
rpc countAllSSLCertsWithACME (CountAllSSLCertsWithACMERequest) returns (RPCCountResponse);
// 列出单个管理员/用户下所有的ACME用户生成的证书
rpc listSSLCertsWithACME (ListSSLCertsWithACMERequest) returns (ListSSLCertsWithACMEResponse);
}
// 创建Cert
@@ -106,26 +97,3 @@ message ListSSLCertsRequest {
message ListSSLCertsResponse {
bytes certsJSON = 1;
}
// 计算某个ACME用户生成的证书数量
message CountSSLCertsWithACMEUserIdRequest {
int64 acmeUserId = 1;
}
// 计算所有某个管理员/用户下所有的ACME用户生成的证书
message CountAllSSLCertsWithACMERequest {
int64 adminId = 1;
int64 userId = 2;
}
// 列出单个管理员/用户下所有的ACME用户生成的证书
message ListSSLCertsWithACMERequest {
int64 adminId = 1;
int64 userId = 2;
int64 offset = 3;
int64 size = 4;
}
message ListSSLCertsWithACMEResponse {
bytes certsJSON = 1;
}