Add PKI sync AWS Certificate Manager

This commit is contained in:
Carlos Monastyrski
2025-10-01 18:43:35 -03:00
parent c03af5daf2
commit 95df76de5a
47 changed files with 1466 additions and 72 deletions
@@ -0,0 +1,52 @@
import RE2 from "re2";
import { AppConnection } from "@app/services/app-connection/app-connection-enums";
import { PkiSync } from "@app/services/pki-sync/pki-sync-enums";
/**
* AWS Certificate Manager naming constraints for certificates
*/
export const AWS_CERTIFICATE_MANAGER_CERTIFICATE_NAMING = {
/**
* Regular expression pattern for valid AWS Certificate Manager certificate names
* Must contain only alphanumeric characters, spaces, hyphens, and underscores
* Must be 1-256 characters long
*/
NAME_PATTERN: new RE2("^[a-zA-Z0-9\\s\\-_]{1,256}$"),
/**
* String of characters that are forbidden in AWS Certificate Manager certificate names
*/
FORBIDDEN_CHARACTERS: "!@#$%^&*()+={}[]|\\:;\"'<>,.?/~`",
/**
* Maximum length for certificate names in AWS Certificate Manager
*/
MAX_LENGTH: 256,
/**
* Minimum length for certificate names in AWS Certificate Manager
*/
MIN_LENGTH: 1,
/**
* String representation of the allowed character pattern (for UI display)
*/
ALLOWED_CHARACTER_PATTERN: "^[a-zA-Z0-9\\s\\-_]{1,256}$"
} as const;
/**
* AWS Certificate Manager PKI Sync list option configuration
*/
export const AWS_CERTIFICATE_MANAGER_PKI_SYNC_LIST_OPTION = {
name: "AWS Certificate Manager" as const,
connection: AppConnection.AWS,
destination: PkiSync.AwsCertificateManager,
canImportCertificates: false,
canRemoveCertificates: true,
defaultCertificateNameSchema: "Infisical-{{certificateId}}",
forbiddenCharacters: AWS_CERTIFICATE_MANAGER_CERTIFICATE_NAMING.FORBIDDEN_CHARACTERS,
allowedCharacterPattern: AWS_CERTIFICATE_MANAGER_CERTIFICATE_NAMING.ALLOWED_CHARACTER_PATTERN,
maxCertificateNameLength: AWS_CERTIFICATE_MANAGER_CERTIFICATE_NAMING.MAX_LENGTH,
minCertificateNameLength: AWS_CERTIFICATE_MANAGER_CERTIFICATE_NAMING.MIN_LENGTH
} as const;