Variable AppConfigSchemaConst
AppConfigSchema: ZodObject<
{
logging: ZodObject<
{
level: ZodUnion<
[
ZodLiteral<"debug">,
ZodLiteral<"info">,
ZodLiteral<"warn">,
ZodLiteral<"error">,
ZodLiteral<"silent">,
],
>;
showIcons: ZodBoolean;
showTimestamp: ZodBoolean;
timestampFormat: ZodString;
showPid: ZodBoolean;
colors: ZodOptional<
ZodObject<
{
debug: ZodOptional<ZodString>;
info: ZodOptional<ZodString>;
warn: ZodOptional<ZodString>;
error: ZodOptional<ZodString>;
success: ZodOptional<ZodString>;
},
"strip",
ZodTypeAny,
{
debug?: string;
info?: string;
warn?: string;
error?: string;
success?: string;
},
{
debug?: string;
info?: string;
warn?: string;
error?: string;
success?: string;
},
>,
>;
icons: ZodOptional<
ZodObject<
{
debug: ZodOptional<ZodString>;
info: ZodOptional<ZodString>;
warn: ZodOptional<ZodString>;
error: ZodOptional<ZodString>;
success: ZodOptional<ZodString>;
},
"strip",
ZodTypeAny,
{
debug?: string;
info?: string;
warn?: string;
error?: string;
success?: string;
},
{
debug?: string;
info?: string;
warn?: string;
error?: string;
success?: string;
},
>,
>;
},
"strip",
ZodTypeAny,
{
level: "debug"
| "info"
| "warn"
| "error"
| "silent";
showIcons: boolean;
showTimestamp: boolean;
timestampFormat: string;
showPid: boolean;
colors?: {
debug?: string;
info?: string;
warn?: string;
error?: string;
success?: string;
};
icons?: {
debug?: string;
info?: string;
warn?: string;
error?: string;
success?: string;
};
},
{
level: "debug"
| "info"
| "warn"
| "error"
| "silent";
showIcons: boolean;
showTimestamp: boolean;
timestampFormat: string;
showPid: boolean;
colors?: {
debug?: string;
info?: string;
warn?: string;
error?: string;
success?: string;
};
icons?: {
debug?: string;
info?: string;
warn?: string;
error?: string;
success?: string;
};
},
>;
ui: ZodOptional<
ZodObject<
{
clearOnBanner: ZodDefault<ZodBoolean>;
showBanner: ZodDefault<ZodBoolean>;
serialFormat: ZodDefault<
ZodUnion<[ZodLiteral<"hex">, ZodLiteral<"colon">]>,
>;
},
"strip",
ZodTypeAny,
{
clearOnBanner: boolean;
showBanner: boolean;
serialFormat: "hex"
| "colon";
},
{
clearOnBanner?: boolean;
showBanner?: boolean;
serialFormat?: "hex"
| "colon";
},
>,
>;
limits: ZodOptional<
ZodObject<
{
maxCertDownloadBytes: ZodNumber;
tlsConnectTimeoutMs: ZodNumber;
maxChainDepth: ZodNumber;
aiaStopOnRepeatedUrl: ZodBoolean;
},
"strip",
ZodTypeAny,
{
maxCertDownloadBytes: number;
tlsConnectTimeoutMs: number;
maxChainDepth: number;
aiaStopOnRepeatedUrl: boolean;
},
{
maxCertDownloadBytes: number;
tlsConnectTimeoutMs: number;
maxChainDepth: number;
aiaStopOnRepeatedUrl: boolean;
},
>,
>;
pki: ZodObject<
{
defaults: ZodObject<
{
countryName: ZodString;
stateOrProvinceName: ZodString;
localityName: ZodString;
organizationName: ZodString;
organizationalUnitName: ZodOptional<ZodString>;
validityDays: ZodNumber;
preset: ZodOptional<ZodString>;
},
"strip",
ZodTypeAny,
{
countryName: string;
stateOrProvinceName: string;
localityName: string;
organizationName: string;
organizationalUnitName?: string;
validityDays: number;
preset?: string;
},
{
countryName: string;
stateOrProvinceName: string;
localityName: string;
organizationName: string;
organizationalUnitName?: string;
validityDays: number;
preset?: string;
},
>;
keys: ZodDiscriminatedUnion<
"algo",
[
ZodObject<
{
algo: ZodLiteral<"rsa">;
size: ZodUnion<[ZodLiteral<(...)>, ZodLiteral<(...)>]>;
encoding: ZodUnion<[ZodLiteral<(...)>, ZodLiteral<(...)>]>;
},
"strip",
ZodTypeAny,
{ algo: "rsa"; size: 2048
| 4096; encoding: "pem" | "der" },
{ algo: "rsa"; size: 2048 | 4096; encoding: "pem" | "der" },
>,
ZodObject<
{
algo: ZodLiteral<"ecdsa">;
curve: ZodUnion<
[ZodLiteral<(...)>, ZodLiteral<(...)>, ZodLiteral<(...)>],
>;
encoding: ZodUnion<[ZodLiteral<(...)>, ZodLiteral<(...)>]>;
},
"strip",
ZodTypeAny,
{
algo: "ecdsa";
curve: "P-256"
| "P-384"
| "P-521";
encoding: "pem" | "der";
},
{
algo: "ecdsa";
curve: "P-256"
| "P-384"
| "P-521";
encoding: "pem" | "der";
},
>,
ZodObject<
{
algo: ZodLiteral<"ed25519">;
encoding: ZodUnion<[ZodLiteral<(...)>, ZodLiteral<(...)>]>;
},
"strip",
ZodTypeAny,
{ algo: "ed25519"; encoding: "pem"
| "der" },
{ algo: "ed25519"; encoding: "pem" | "der" },
>,
],
>;
csr: ZodObject<
{
signature: ZodUnion<
[ZodLiteral<"sha256">, ZodLiteral<"sha384">, ZodLiteral<"sha512">],
>;
encoding: ZodUnion<[ZodLiteral<"pem">, ZodLiteral<"der">]>;
},
"strip",
ZodTypeAny,
{ signature: "sha256"
| "sha384"
| "sha512"; encoding: "pem" | "der" },
{ signature: "sha256" | "sha384" | "sha512"; encoding: "pem" | "der" },
>;
interactive: ZodDefault<ZodBoolean>;
sanitizeName: ZodOptional<ZodBoolean>;
mergePresets: ZodDefault<ZodBoolean>;
},
"strip",
ZodTypeAny,
{
defaults: {
countryName: string;
stateOrProvinceName: string;
localityName: string;
organizationName: string;
organizationalUnitName?: string;
validityDays: number;
preset?: string;
};
keys: | { algo: "rsa"; size: 2048
| 4096; encoding: "pem" | "der" }
| {
algo: "ecdsa";
curve: "P-256" | "P-384" | "P-521";
encoding: "pem" | "der";
}
| { algo: "ed25519"; encoding: "pem"
| "der" };
csr: {
signature: "sha256" | "sha384" | "sha512";
encoding: "pem" | "der";
};
interactive: boolean;
sanitizeName?: boolean;
mergePresets: boolean;
},
{
defaults: {
countryName: string;
stateOrProvinceName: string;
localityName: string;
organizationName: string;
organizationalUnitName?: string;
validityDays: number;
preset?: string;
};
keys: | { algo: "rsa"; size: 2048
| 4096; encoding: "pem" | "der" }
| {
algo: "ecdsa";
curve: "P-256" | "P-384" | "P-521";
encoding: "pem" | "der";
}
| { algo: "ed25519"; encoding: "pem"
| "der" };
csr: {
signature: "sha256" | "sha384" | "sha512";
encoding: "pem" | "der";
};
interactive?: boolean;
sanitizeName?: boolean;
mergePresets?: boolean;
},
>;
storage: ZodObject<
{
paths: ZodObject<
{
output: ZodString;
archive: ZodString;
allowedOutputDirs: ZodArray<ZodString, "many">;
},
"strip",
ZodTypeAny,
{ output: string; archive: string; allowedOutputDirs: string[] },
{ output: string; archive: string; allowedOutputDirs: string[] },
>;
filename: ZodObject<
{ format: ZodString; timestampFormat: ZodString },
"strip",
ZodTypeAny,
{ format: string; timestampFormat: string },
{ format: string; timestampFormat: string },
>;
conflict: ZodObject<
{
strategy: ZodUnion<
[
ZodLiteral<"archive">,
ZodLiteral<"overwrite">,
ZodLiteral<"error">,
],
>;
archiveFormat: ZodString;
},
"strip",
ZodTypeAny,
{ strategy: "error"
| "archive"
| "overwrite"; archiveFormat: string },
{ strategy: "error" | "archive" | "overwrite"; archiveFormat: string },
>;
},
"strip",
ZodTypeAny,
{
paths: {
output: string;
archive: string;
allowedOutputDirs: string[];
};
filename: { format: string; timestampFormat: string };
conflict: {
strategy: "error" | "archive" | "overwrite";
archiveFormat: string;
};
},
{
paths: {
output: string;
archive: string;
allowedOutputDirs: string[];
};
filename: { format: string; timestampFormat: string };
conflict: {
strategy: "error" | "archive" | "overwrite";
archiveFormat: string;
};
},
>;
presets: ZodRecord<
ZodString,
ZodObject<
{
description: ZodString;
organizationalUnitName: ZodOptional<
ZodUnion<[ZodString, ZodArray<ZodString, "many">]>,
>;
validityDays: ZodOptional<ZodNumber>;
extensions: ZodOptional<
ZodObject<
{
serverAuth: ZodOptional<ZodBoolean>;
clientAuth: ZodOptional<ZodBoolean>;
},
"strip",
ZodTypeAny,
{ serverAuth?: boolean; clientAuth?: boolean },
{ serverAuth?: boolean; clientAuth?: boolean },
>,
>;
variables: ZodOptional<
ZodRecord<
ZodString,
ZodObject<
{
type: ZodUnion<[(...), (...)]>;
message: ZodString;
validate: ZodOptional<ZodString>;
choices: ZodOptional<ZodArray<(...), (...)>>;
default: ZodOptional<ZodString>;
},
"strip",
ZodTypeAny,
{
type: "input"
| "list";
message: string;
validate?: string;
choices?: (...)[];
default?: string;
},
{
type: "input"
| "list";
message: string;
validate?: string;
choices?: (...)[];
default?: string;
},
>,
>,
>;
subjectAltName: ZodOptional<
ZodObject<
{ templates: ZodArray<ZodString, "many"> },
"strip",
ZodTypeAny,
{ templates: string[] },
{ templates: string[] },
>,
>;
countryName: ZodOptional<ZodString>;
organizationName: ZodOptional<ZodString>;
sanitizeName: ZodOptional<ZodBoolean>;
keys: ZodOptional<
ZodObject<
{
algo: ZodUnion<
[ZodLiteral<(...)>, ZodLiteral<(...)>, ZodLiteral<(...)>],
>;
size: ZodOptional<ZodUnion<[(...), (...)]>>;
curve: ZodOptional<ZodUnion<[(...), (...), (...)]>>;
},
"strip",
ZodTypeAny,
{
algo: "rsa"
| "ecdsa"
| "ed25519";
size?: 2048 | 4096;
curve?: "P-256" | "P-384" | "P-521";
},
{
algo: "rsa"
| "ecdsa"
| "ed25519";
size?: 2048 | 4096;
curve?: "P-256" | "P-384" | "P-521";
},
>,
>;
},
"strip",
ZodTypeAny,
{
description: string;
organizationalUnitName?: string
| string[];
validityDays?: number;
extensions?: { serverAuth?: boolean; clientAuth?: boolean };
variables?: Record<
string,
{
type: "input"
| "list";
message: string;
validate?: string;
choices?: string[];
default?: string;
},
>;
subjectAltName?: { templates: string[] };
countryName?: string;
organizationName?: string;
sanitizeName?: boolean;
keys?: {
algo: "rsa" | "ecdsa" | "ed25519";
size?: 2048 | 4096;
curve?: "P-256" | "P-384" | "P-521";
};
},
{
description: string;
organizationalUnitName?: string
| string[];
validityDays?: number;
extensions?: { serverAuth?: boolean; clientAuth?: boolean };
variables?: Record<
string,
{
type: "input"
| "list";
message: string;
validate?: string;
choices?: string[];
default?: string;
},
>;
subjectAltName?: { templates: string[] };
countryName?: string;
organizationName?: string;
sanitizeName?: boolean;
keys?: {
algo: "rsa" | "ecdsa" | "ed25519";
size?: 2048 | 4096;
curve?: "P-256" | "P-384" | "P-521";
};
},
>,
>;
},
"strip",
ZodTypeAny,
{
logging: {
level: "debug"
| "info"
| "warn"
| "error"
| "silent";
showIcons: boolean;
showTimestamp: boolean;
timestampFormat: string;
showPid: boolean;
colors?: {
debug?: string;
info?: string;
warn?: string;
error?: string;
success?: string;
};
icons?: {
debug?: string;
info?: string;
warn?: string;
error?: string;
success?: string;
};
};
ui?: {
clearOnBanner: boolean;
showBanner: boolean;
serialFormat: "hex"
| "colon";
};
limits?: {
maxCertDownloadBytes: number;
tlsConnectTimeoutMs: number;
maxChainDepth: number;
aiaStopOnRepeatedUrl: boolean;
};
pki: {
defaults: {
countryName: string;
stateOrProvinceName: string;
localityName: string;
organizationName: string;
organizationalUnitName?: string;
validityDays: number;
preset?: string;
};
keys: | { algo: "rsa"; size: 2048
| 4096; encoding: "pem" | "der" }
| {
algo: "ecdsa";
curve: "P-256" | "P-384" | "P-521";
encoding: "pem" | "der";
}
| { algo: "ed25519"; encoding: "pem"
| "der" };
csr: {
signature: "sha256" | "sha384" | "sha512";
encoding: "pem" | "der";
};
interactive: boolean;
sanitizeName?: boolean;
mergePresets: boolean;
};
storage: {
paths: {
output: string;
archive: string;
allowedOutputDirs: string[];
};
filename: { format: string; timestampFormat: string };
conflict: {
strategy: "error" | "archive" | "overwrite";
archiveFormat: string;
};
};
presets: Record<
string,
{
description: string;
organizationalUnitName?: string
| string[];
validityDays?: number;
extensions?: { serverAuth?: boolean; clientAuth?: boolean };
variables?: Record<
string,
{
type: "input"
| "list";
message: string;
validate?: string;
choices?: string[];
default?: string;
},
>;
subjectAltName?: { templates: string[] };
countryName?: string;
organizationName?: string;
sanitizeName?: boolean;
keys?: {
algo: "rsa" | "ecdsa" | "ed25519";
size?: 2048 | 4096;
curve?: "P-256" | "P-384" | "P-521";
};
},
>;
},
{
logging: {
level: "debug"
| "info"
| "warn"
| "error"
| "silent";
showIcons: boolean;
showTimestamp: boolean;
timestampFormat: string;
showPid: boolean;
colors?: {
debug?: string;
info?: string;
warn?: string;
error?: string;
success?: string;
};
icons?: {
debug?: string;
info?: string;
warn?: string;
error?: string;
success?: string;
};
};
ui?: {
clearOnBanner?: boolean;
showBanner?: boolean;
serialFormat?: "hex"
| "colon";
};
limits?: {
maxCertDownloadBytes: number;
tlsConnectTimeoutMs: number;
maxChainDepth: number;
aiaStopOnRepeatedUrl: boolean;
};
pki: {
defaults: {
countryName: string;
stateOrProvinceName: string;
localityName: string;
organizationName: string;
organizationalUnitName?: string;
validityDays: number;
preset?: string;
};
keys: | { algo: "rsa"; size: 2048
| 4096; encoding: "pem" | "der" }
| {
algo: "ecdsa";
curve: "P-256" | "P-384" | "P-521";
encoding: "pem" | "der";
}
| { algo: "ed25519"; encoding: "pem"
| "der" };
csr: {
signature: "sha256" | "sha384" | "sha512";
encoding: "pem" | "der";
};
interactive?: boolean;
sanitizeName?: boolean;
mergePresets?: boolean;
};
storage: {
paths: {
output: string;
archive: string;
allowedOutputDirs: string[];
};
filename: { format: string; timestampFormat: string };
conflict: {
strategy: "error" | "archive" | "overwrite";
archiveFormat: string;
};
};
presets: Record<
string,
{
description: string;
organizationalUnitName?: string
| string[];
validityDays?: number;
extensions?: { serverAuth?: boolean; clientAuth?: boolean };
variables?: Record<
string,
{
type: "input"
| "list";
message: string;
validate?: string;
choices?: string[];
default?: string;
},
>;
subjectAltName?: { templates: string[] };
countryName?: string;
organizationName?: string;
sanitizeName?: boolean;
keys?: {
algo: "rsa" | "ecdsa" | "ed25519";
size?: 2048 | 4096;
curve?: "P-256" | "P-384" | "P-521";
};
},
>;
},
> = ...
Complete application configuration schema (root of igcv3.conf.yml)