feat: add ssl.com ca
This commit is contained in:
@@ -41,6 +41,7 @@ export interface AccessModel extends BaseModel {
|
||||
| AccessConfigForRainYun
|
||||
| AccessConfigForSafeLine
|
||||
| AccessConfigForSSH
|
||||
| AccessConfigForSSLCom
|
||||
| AccessConfigForTencentCloud
|
||||
| AccessConfigForUCloud
|
||||
| AccessConfigForUpyun
|
||||
@@ -235,6 +236,11 @@ export type AccessConfigForSSH = {
|
||||
keyPassphrase?: string;
|
||||
};
|
||||
|
||||
export type AccessConfigForSSLCom = {
|
||||
eabKid: string;
|
||||
eabHmacKey: string;
|
||||
};
|
||||
|
||||
export type AccessConfigForTencentCloud = {
|
||||
secretId: string;
|
||||
secretKey: string;
|
||||
|
||||
@@ -43,6 +43,7 @@ export const ACCESS_PROVIDERS = Object.freeze({
|
||||
RAINYUN: "rainyun",
|
||||
SAFELINE: "safeline",
|
||||
SSH: "ssh",
|
||||
SSLCOM: "sslcom",
|
||||
TENCENTCLOUD: "tencentcloud",
|
||||
UCLOUD: "ucloud",
|
||||
UPYUN: "upyun",
|
||||
@@ -129,6 +130,7 @@ export const accessProvidersMap: Map<AccessProvider["type"] | string, AccessProv
|
||||
[ACCESS_PROVIDERS.LETSENCRYPTSTAGING, "provider.letsencryptstaging", "/imgs/providers/letsencrypt.svg", [ACCESS_USAGES.CA]],
|
||||
[ACCESS_PROVIDERS.GOOGLETRUSTSERVICES, "provider.googletrustservices", "/imgs/providers/google.svg", [ACCESS_USAGES.CA]],
|
||||
[ACCESS_PROVIDERS.ZEROSSL, "provider.zerossl", "/imgs/providers/zerossl.svg", [ACCESS_USAGES.CA]],
|
||||
[ACCESS_PROVIDERS.SSLCOM, "provider.sslcom", "/imgs/providers/sslcom.svg", [ACCESS_USAGES.CA]],
|
||||
].map((e) => [
|
||||
e[0] as string,
|
||||
{
|
||||
@@ -151,6 +153,7 @@ export const APPLY_CA_PROVIDERS = Object.freeze({
|
||||
GOOGLETRUSTSERVICES: `${ACCESS_PROVIDERS.GOOGLETRUSTSERVICES}`,
|
||||
LETSENCRYPT: `${ACCESS_PROVIDERS.LETSENCRYPT}`,
|
||||
LETSENCRYPTSTAGING: `${ACCESS_PROVIDERS.LETSENCRYPTSTAGING}`,
|
||||
SSLCOM: `${ACCESS_PROVIDERS.SSLCOM}`,
|
||||
ZEROSSL: `${ACCESS_PROVIDERS.ZEROSSL}`,
|
||||
} as const);
|
||||
|
||||
@@ -174,6 +177,7 @@ export const applyCAProvidersMap: Map<ApplyCAProvider["type"] | string, ApplyCAP
|
||||
[APPLY_CA_PROVIDERS.LETSENCRYPTSTAGING, "true"],
|
||||
[APPLY_CA_PROVIDERS.ZEROSSL],
|
||||
[APPLY_CA_PROVIDERS.GOOGLETRUSTSERVICES],
|
||||
[APPLY_CA_PROVIDERS.SSLCOM],
|
||||
].map(([type, builtin]) => [
|
||||
type,
|
||||
{
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
import { type ApplyCAProviderType } from "./provider";
|
||||
|
||||
export const SETTINGS_NAMES = Object.freeze({
|
||||
EMAILS: "emails",
|
||||
NOTIFY_TEMPLATES: "notifyTemplates",
|
||||
@@ -134,37 +136,12 @@ export const notifyChannelsMap: Map<NotifyChannel["type"], NotifyChannel> = new
|
||||
// #endregion
|
||||
|
||||
// #region Settings: SSLProvider
|
||||
export const SSLPROVIDERS = Object.freeze({
|
||||
LETS_ENCRYPT: "letsencrypt",
|
||||
LETS_ENCRYPT_STAGING: "letsencryptstaging",
|
||||
ZERO_SSL: "zerossl",
|
||||
GOOGLE_TRUST_SERVICES: "googletrustservices",
|
||||
} as const);
|
||||
|
||||
export type SSLProviders = (typeof SSLPROVIDERS)[keyof typeof SSLPROVIDERS];
|
||||
|
||||
export type SSLProviderSettingsContent = {
|
||||
provider: (typeof SSLPROVIDERS)[keyof typeof SSLPROVIDERS];
|
||||
provider: ApplyCAProviderType;
|
||||
config: {
|
||||
[key: string]: Record<string, unknown> | undefined;
|
||||
[SSLPROVIDERS.LETS_ENCRYPT]?: SSLProviderLetsEncryptConfig;
|
||||
[SSLPROVIDERS.LETS_ENCRYPT_STAGING]?: SSLProviderLetsEncryptConfig;
|
||||
[SSLPROVIDERS.ZERO_SSL]?: SSLProviderZeroSSLConfig;
|
||||
[SSLPROVIDERS.GOOGLE_TRUST_SERVICES]?: SSLProviderGoogleTrustServicesConfig;
|
||||
};
|
||||
};
|
||||
|
||||
export type SSLProviderLetsEncryptConfig = NonNullable<unknown>;
|
||||
|
||||
export type SSLProviderZeroSSLConfig = {
|
||||
eabKid: string;
|
||||
eabHmacKey: string;
|
||||
};
|
||||
|
||||
export type SSLProviderGoogleTrustServicesConfig = {
|
||||
eabKid: string;
|
||||
eabHmacKey: string;
|
||||
};
|
||||
// #endregion
|
||||
|
||||
// #region Settings: Persistence
|
||||
|
||||
Reference in New Issue
Block a user