From 93e7723b486e389949a9625c0da17e32c785d304 Mon Sep 17 00:00:00 2001 From: x032205 Date: Thu, 31 Jul 2025 00:10:18 -0400 Subject: [PATCH 1/7] feat(app-connections, PKI): Cloudflare as DNS provider --- .../cloudflare-connection-router.ts | 28 +++- .../cloudflare/cloudflare-connection-fns.ts | 24 ++- .../cloudflare-connection-service.ts | 26 ++- .../cloudflare/cloudflare-connection-types.ts | 5 + .../acme/acme-certificate-authority-enums.ts | 3 +- .../acme/acme-certificate-authority-fns.ts | 151 ++++++++---------- .../acme/dns-providers/cloudflare.ts | 109 +++++++++++++ .../acme/dns-providers/route54.ts | 75 +++++++++ .../api/appConnections/cloudflare/queries.tsx | 31 +++- .../api/appConnections/cloudflare/types.ts | 5 + frontend/src/hooks/api/ca/constants.tsx | 13 +- frontend/src/hooks/api/ca/enums.tsx | 3 +- frontend/src/hooks/api/ca/types.ts | 2 +- .../components/ExternalCaModal.tsx | 135 ++++++++++------ 14 files changed, 461 insertions(+), 149 deletions(-) create mode 100644 backend/src/services/certificate-authority/acme/dns-providers/cloudflare.ts create mode 100644 backend/src/services/certificate-authority/acme/dns-providers/route54.ts diff --git a/backend/src/server/routes/v1/app-connection-routers/cloudflare-connection-router.ts b/backend/src/server/routes/v1/app-connection-routers/cloudflare-connection-router.ts index d18d0564e..8a8d5deb1 100644 --- a/backend/src/server/routes/v1/app-connection-routers/cloudflare-connection-router.ts +++ b/backend/src/server/routes/v1/app-connection-routers/cloudflare-connection-router.ts @@ -46,7 +46,6 @@ export const registerCloudflareConnectionRouter = async (server: FastifyZodProvi const { connectionId } = req.params; const projects = await server.services.appConnection.cloudflare.listPagesProjects(connectionId, req.permission); - return projects; } }); @@ -74,7 +73,34 @@ export const registerCloudflareConnectionRouter = async (server: FastifyZodProvi const { connectionId } = req.params; const projects = await server.services.appConnection.cloudflare.listWorkersScripts(connectionId, req.permission); + return projects; + } + }); + server.route({ + method: "GET", + url: `/:connectionId/cloudflare-zones`, + config: { + rateLimit: readLimit + }, + schema: { + params: z.object({ + connectionId: z.string().uuid() + }), + response: { + 200: z + .object({ + id: z.string(), + name: z.string() + }) + .array() + } + }, + onRequest: verifyAuth([AuthMode.JWT]), + handler: async (req) => { + const { connectionId } = req.params; + + const projects = await server.services.appConnection.cloudflare.listZones(connectionId, req.permission); return projects; } }); diff --git a/backend/src/services/app-connection/cloudflare/cloudflare-connection-fns.ts b/backend/src/services/app-connection/cloudflare/cloudflare-connection-fns.ts index d0ac070f3..02f304a7f 100644 --- a/backend/src/services/app-connection/cloudflare/cloudflare-connection-fns.ts +++ b/backend/src/services/app-connection/cloudflare/cloudflare-connection-fns.ts @@ -10,7 +10,8 @@ import { TCloudflareConnection, TCloudflareConnectionConfig, TCloudflarePagesProject, - TCloudflareWorkersScript + TCloudflareWorkersScript, + TCloudflareZone } from "./cloudflare-connection-types"; export const getCloudflareConnectionListItem = () => { @@ -66,6 +67,27 @@ export const listCloudflareWorkersScripts = async ( })); }; +export const listCloudflareZones = async (appConnection: TCloudflareConnection): Promise => { + const { + credentials: { apiToken } + } = appConnection; + + const { data } = await request.get<{ result: { name: string; id: string }[] }>( + `${IntegrationUrls.CLOUDFLARE_API_URL}/client/v4/zones`, + { + headers: { + Authorization: `Bearer ${apiToken}`, + Accept: "application/json" + } + } + ); + + return data.result.map((a) => ({ + name: a.name, + id: a.id + })); +}; + export const validateCloudflareConnectionCredentials = async (config: TCloudflareConnectionConfig) => { const { apiToken, accountId } = config.credentials; diff --git a/backend/src/services/app-connection/cloudflare/cloudflare-connection-service.ts b/backend/src/services/app-connection/cloudflare/cloudflare-connection-service.ts index 5a8a161fc..c832ddb90 100644 --- a/backend/src/services/app-connection/cloudflare/cloudflare-connection-service.ts +++ b/backend/src/services/app-connection/cloudflare/cloudflare-connection-service.ts @@ -2,7 +2,11 @@ import { logger } from "@app/lib/logger"; import { OrgServiceActor } from "@app/lib/types"; import { AppConnection } from "../app-connection-enums"; -import { listCloudflarePagesProjects, listCloudflareWorkersScripts } from "./cloudflare-connection-fns"; +import { + listCloudflarePagesProjects, + listCloudflareWorkersScripts, + listCloudflareZones +} from "./cloudflare-connection-fns"; import { TCloudflareConnection } from "./cloudflare-connection-types"; type TGetAppConnectionFunc = ( @@ -16,7 +20,6 @@ export const cloudflareConnectionService = (getAppConnection: TGetAppConnectionF const appConnection = await getAppConnection(AppConnection.Cloudflare, connectionId, actor); try { const projects = await listCloudflarePagesProjects(appConnection); - return projects; } catch (error) { logger.error( @@ -30,9 +33,8 @@ export const cloudflareConnectionService = (getAppConnection: TGetAppConnectionF const listWorkersScripts = async (connectionId: string, actor: OrgServiceActor) => { const appConnection = await getAppConnection(AppConnection.Cloudflare, connectionId, actor); try { - const projects = await listCloudflareWorkersScripts(appConnection); - - return projects; + const scripts = await listCloudflareWorkersScripts(appConnection); + return scripts; } catch (error) { logger.error( error, @@ -42,8 +44,20 @@ export const cloudflareConnectionService = (getAppConnection: TGetAppConnectionF } }; + const listZones = async (connectionId: string, actor: OrgServiceActor) => { + const appConnection = await getAppConnection(AppConnection.Cloudflare, connectionId, actor); + try { + const zones = await listCloudflareZones(appConnection); + return zones; + } catch (error) { + logger.error(error, `Failed to list Cloudflare Zones for Cloudflare connection [connectionId=${connectionId}]`); + return []; + } + }; + return { listPagesProjects, - listWorkersScripts + listWorkersScripts, + listZones }; }; diff --git a/backend/src/services/app-connection/cloudflare/cloudflare-connection-types.ts b/backend/src/services/app-connection/cloudflare/cloudflare-connection-types.ts index 0ac1b708c..163bf6495 100644 --- a/backend/src/services/app-connection/cloudflare/cloudflare-connection-types.ts +++ b/backend/src/services/app-connection/cloudflare/cloudflare-connection-types.ts @@ -32,3 +32,8 @@ export type TCloudflarePagesProject = { export type TCloudflareWorkersScript = { id: string; }; + +export type TCloudflareZone = { + id: string; + name: string; +}; diff --git a/backend/src/services/certificate-authority/acme/acme-certificate-authority-enums.ts b/backend/src/services/certificate-authority/acme/acme-certificate-authority-enums.ts index 9f6fbe752..c4703d49f 100644 --- a/backend/src/services/certificate-authority/acme/acme-certificate-authority-enums.ts +++ b/backend/src/services/certificate-authority/acme/acme-certificate-authority-enums.ts @@ -1,3 +1,4 @@ export enum AcmeDnsProvider { - Route53 = "route53" + Route53 = "route53", + Cloudflare = "cloudflare" } diff --git a/backend/src/services/certificate-authority/acme/acme-certificate-authority-fns.ts b/backend/src/services/certificate-authority/acme/acme-certificate-authority-fns.ts index f6e77ac8e..96e4a1292 100644 --- a/backend/src/services/certificate-authority/acme/acme-certificate-authority-fns.ts +++ b/backend/src/services/certificate-authority/acme/acme-certificate-authority-fns.ts @@ -1,19 +1,17 @@ -import { ChangeResourceRecordSetsCommand, Route53Client } from "@aws-sdk/client-route-53"; import * as x509 from "@peculiar/x509"; import acme from "acme-client"; import { TableName } from "@app/db/schemas"; -import { CustomAWSHasher } from "@app/lib/aws/hashing"; import { crypto } from "@app/lib/crypto/cryptography"; import { BadRequestError, CryptographyError, NotFoundError } from "@app/lib/errors"; import { OrgServiceActor } from "@app/lib/types"; import { blockLocalAndPrivateIpAddresses } from "@app/lib/validator"; import { TAppConnectionDALFactory } from "@app/services/app-connection/app-connection-dal"; -import { AppConnection, AWSRegion } from "@app/services/app-connection/app-connection-enums"; +import { AppConnection } from "@app/services/app-connection/app-connection-enums"; import { decryptAppConnection } from "@app/services/app-connection/app-connection-fns"; import { TAppConnectionServiceFactory } from "@app/services/app-connection/app-connection-service"; -import { getAwsConnectionConfig } from "@app/services/app-connection/aws/aws-connection-fns"; -import { TAwsConnection, TAwsConnectionConfig } from "@app/services/app-connection/aws/aws-connection-types"; +import { TAwsConnection } from "@app/services/app-connection/aws/aws-connection-types"; +import { TCloudflareConnection } from "@app/services/app-connection/cloudflare/cloudflare-connection-types"; import { TCertificateBodyDALFactory } from "@app/services/certificate/certificate-body-dal"; import { TCertificateDALFactory } from "@app/services/certificate/certificate-dal"; import { TCertificateSecretDALFactory } from "@app/services/certificate/certificate-secret-dal"; @@ -39,6 +37,8 @@ import { TCreateAcmeCertificateAuthorityDTO, TUpdateAcmeCertificateAuthorityDTO } from "./acme-certificate-authority-types"; +import { cloudflareDeleteTxtRecord, cloudflareInsertTxtRecord } from "./dns-providers/cloudflare"; +import { route53DeleteTxtRecord, route53InsertTxtRecord } from "./dns-providers/route54"; type TAcmeCertificateAuthorityFnsDeps = { appConnectionDAL: Pick; @@ -95,74 +95,6 @@ export const castDbEntryToAcmeCertificateAuthority = ( }; }; -export const route53InsertTxtRecord = async ( - connection: TAwsConnectionConfig, - hostedZoneId: string, - domain: string, - value: string -) => { - const config = await getAwsConnectionConfig(connection, AWSRegion.US_WEST_1); // REGION is irrelevant because Route53 is global - const route53Client = new Route53Client({ - sha256: CustomAWSHasher, - useFipsEndpoint: crypto.isFipsModeEnabled(), - credentials: config.credentials!, - region: config.region - }); - - const command = new ChangeResourceRecordSetsCommand({ - HostedZoneId: hostedZoneId, - ChangeBatch: { - Comment: "Set ACME challenge TXT record", - Changes: [ - { - Action: "UPSERT", - ResourceRecordSet: { - Name: domain, - Type: "TXT", - TTL: 30, - ResourceRecords: [{ Value: value }] - } - } - ] - } - }); - - await route53Client.send(command); -}; - -export const route53DeleteTxtRecord = async ( - connection: TAwsConnectionConfig, - hostedZoneId: string, - domain: string, - value: string -) => { - const config = await getAwsConnectionConfig(connection, AWSRegion.US_WEST_1); // REGION is irrelevant because Route53 is global - const route53Client = new Route53Client({ - credentials: config.credentials!, - region: config.region - }); - - const command = new ChangeResourceRecordSetsCommand({ - HostedZoneId: hostedZoneId, - ChangeBatch: { - Comment: "Delete ACME challenge TXT record", - Changes: [ - { - Action: "DELETE", - ResourceRecordSet: { - Name: domain, - Type: "TXT", - TTL: 30, - ResourceRecords: [{ Value: value }] - } - } - ] - } - }); - - await route53Client.send(command); -}; - export const AcmeCertificateAuthorityFns = ({ appConnectionDAL, appConnectionService, @@ -209,6 +141,12 @@ export const AcmeCertificateAuthorityFns = ({ }); } + if (dnsProviderConfig.provider === AcmeDnsProvider.Cloudflare && appConnection.app !== AppConnection.Cloudflare) { + throw new BadRequestError({ + message: `App connection with ID '${dnsAppConnectionId}' is not a Cloudflare connection` + }); + } + // validates permission to connect await appConnectionService.connectAppConnectionById(appConnection.app as AppConnection, dnsAppConnectionId, actor); @@ -289,6 +227,15 @@ export const AcmeCertificateAuthorityFns = ({ }); } + if ( + dnsProviderConfig.provider === AcmeDnsProvider.Cloudflare && + appConnection.app !== AppConnection.Cloudflare + ) { + throw new BadRequestError({ + message: `App connection with ID '${dnsAppConnectionId}' is not a Cloudflare connection` + }); + } + // validates permission to connect await appConnectionService.connectAppConnectionById( appConnection.app as AppConnection, @@ -443,26 +390,56 @@ export const AcmeCertificateAuthorityFns = ({ const recordName = `_acme-challenge.${authz.identifier.value}`; // e.g., "_acme-challenge.example.com" const recordValue = `"${keyAuthorization}"`; // must be double quoted - if (acmeCa.configuration.dnsProviderConfig.provider === AcmeDnsProvider.Route53) { - await route53InsertTxtRecord( - connection as TAwsConnection, - acmeCa.configuration.dnsProviderConfig.hostedZoneId, - recordName, - recordValue - ); + switch (acmeCa.configuration.dnsProviderConfig.provider) { + case AcmeDnsProvider.Route53: { + await route53InsertTxtRecord( + connection as TAwsConnection, + acmeCa.configuration.dnsProviderConfig.hostedZoneId, + recordName, + recordValue + ); + break; + } + case AcmeDnsProvider.Cloudflare: { + await cloudflareInsertTxtRecord( + connection as TCloudflareConnection, + acmeCa.configuration.dnsProviderConfig.hostedZoneId, + recordName, + recordValue + ); + break; + } + default: { + throw new Error("Unsupported DNS provider"); + } } }, challengeRemoveFn: async (authz, challenge, keyAuthorization) => { const recordName = `_acme-challenge.${authz.identifier.value}`; // e.g., "_acme-challenge.example.com" const recordValue = `"${keyAuthorization}"`; // must be double quoted - if (acmeCa.configuration.dnsProviderConfig.provider === AcmeDnsProvider.Route53) { - await route53DeleteTxtRecord( - connection as TAwsConnection, - acmeCa.configuration.dnsProviderConfig.hostedZoneId, - recordName, - recordValue - ); + switch (acmeCa.configuration.dnsProviderConfig.provider) { + case AcmeDnsProvider.Route53: { + await route53DeleteTxtRecord( + connection as TAwsConnection, + acmeCa.configuration.dnsProviderConfig.hostedZoneId, + recordName, + recordValue + ); + break; + } + case AcmeDnsProvider.Cloudflare: { + await cloudflareDeleteTxtRecord( + connection as TCloudflareConnection, + acmeCa.configuration.dnsProviderConfig.hostedZoneId, + recordName, + recordValue + ); + break; + } + default: { + throw new Error("Unsupported DNS provider"); + } } } }); diff --git a/backend/src/services/certificate-authority/acme/dns-providers/cloudflare.ts b/backend/src/services/certificate-authority/acme/dns-providers/cloudflare.ts new file mode 100644 index 000000000..0171b24b7 --- /dev/null +++ b/backend/src/services/certificate-authority/acme/dns-providers/cloudflare.ts @@ -0,0 +1,109 @@ +import axios from "axios"; + +import { request } from "@app/lib/config/request"; +import { TCloudflareConnectionConfig } from "@app/services/app-connection/cloudflare/cloudflare-connection-types"; +import { IntegrationUrls } from "@app/services/integration-auth/integration-list"; + +export const cloudflareInsertTxtRecord = async ( + connection: TCloudflareConnectionConfig, + hostedZoneId: string, + domain: string, + value: string +) => { + const { + credentials: { apiToken } + } = connection; + + try { + await request.post( + `${IntegrationUrls.CLOUDFLARE_API_URL}/client/v4/zones/${hostedZoneId}/dns_records`, + { + type: "TXT", + name: domain, + content: value, + ttl: 60, + proxied: false + }, + { + headers: { + Authorization: `Bearer ${apiToken}`, + "Content-Type": "application/json", + Accept: "application/json" + } + } + ); + } catch (error) { + if (axios.isAxiosError(error)) { + const firstErrorMessage = ( + error.response?.data as { + errors?: { message: string }[]; + } + )?.errors?.[0]?.message; + if (firstErrorMessage) { + throw new Error(firstErrorMessage); + } + } + throw error; + } +}; + +export const cloudflareDeleteTxtRecord = async ( + connection: TCloudflareConnectionConfig, + hostedZoneId: string, + domain: string, + value: string +) => { + const { + credentials: { apiToken } + } = connection; + + try { + const listRecordsResponse = await request.get<{ + result: { id: string; type: string; name: string; content: string }[]; + }>(`${IntegrationUrls.CLOUDFLARE_API_URL}/client/v4/zones/${hostedZoneId}/dns_records`, { + headers: { + Authorization: `Bearer ${apiToken}`, + "Content-Type": "application/json", + Accept: "application/json" + }, + params: { + type: "TXT", + name: domain, + content: value + } + }); + + const dnsRecords = listRecordsResponse.data?.result; + + if (Array.isArray(dnsRecords) && dnsRecords.length > 0) { + const recordToDelete = dnsRecords.find( + (record) => record.type === "TXT" && record.name === domain && record.content === value + ); + + if (recordToDelete) { + await request.delete( + `${IntegrationUrls.CLOUDFLARE_API_URL}/client/v4/zones/${hostedZoneId}/dns_records/${recordToDelete.id}`, + { + headers: { + Authorization: `Bearer ${apiToken}`, + "Content-Type": "application/json", + Accept: "application/json" + } + } + ); + } + } + } catch (error) { + if (axios.isAxiosError(error)) { + const firstErrorMessage = ( + error.response?.data as { + errors?: { message: string }[]; + } + )?.errors?.[0]?.message; + if (firstErrorMessage) { + throw new Error(firstErrorMessage); + } + } + throw error; + } +}; diff --git a/backend/src/services/certificate-authority/acme/dns-providers/route54.ts b/backend/src/services/certificate-authority/acme/dns-providers/route54.ts new file mode 100644 index 000000000..4d235a6e0 --- /dev/null +++ b/backend/src/services/certificate-authority/acme/dns-providers/route54.ts @@ -0,0 +1,75 @@ +import { ChangeResourceRecordSetsCommand, Route53Client } from "@aws-sdk/client-route-53"; + +import { CustomAWSHasher } from "@app/lib/aws/hashing"; +import { crypto } from "@app/lib/crypto/cryptography"; +import { AWSRegion } from "@app/services/app-connection/app-connection-enums"; +import { getAwsConnectionConfig } from "@app/services/app-connection/aws/aws-connection-fns"; +import { TAwsConnectionConfig } from "@app/services/app-connection/aws/aws-connection-types"; + +export const route53InsertTxtRecord = async ( + connection: TAwsConnectionConfig, + hostedZoneId: string, + domain: string, + value: string +) => { + const config = await getAwsConnectionConfig(connection, AWSRegion.US_WEST_1); // REGION is irrelevant because Route53 is global + const route53Client = new Route53Client({ + sha256: CustomAWSHasher, + useFipsEndpoint: crypto.isFipsModeEnabled(), + credentials: config.credentials!, + region: config.region + }); + + const command = new ChangeResourceRecordSetsCommand({ + HostedZoneId: hostedZoneId, + ChangeBatch: { + Comment: "Set ACME challenge TXT record", + Changes: [ + { + Action: "UPSERT", + ResourceRecordSet: { + Name: domain, + Type: "TXT", + TTL: 30, + ResourceRecords: [{ Value: value }] + } + } + ] + } + }); + + await route53Client.send(command); +}; + +export const route53DeleteTxtRecord = async ( + connection: TAwsConnectionConfig, + hostedZoneId: string, + domain: string, + value: string +) => { + const config = await getAwsConnectionConfig(connection, AWSRegion.US_WEST_1); // REGION is irrelevant because Route53 is global + const route53Client = new Route53Client({ + credentials: config.credentials!, + region: config.region + }); + + const command = new ChangeResourceRecordSetsCommand({ + HostedZoneId: hostedZoneId, + ChangeBatch: { + Comment: "Delete ACME challenge TXT record", + Changes: [ + { + Action: "DELETE", + ResourceRecordSet: { + Name: domain, + Type: "TXT", + TTL: 30, + ResourceRecords: [{ Value: value }] + } + } + ] + } + }); + + await route53Client.send(command); +}; diff --git a/frontend/src/hooks/api/appConnections/cloudflare/queries.tsx b/frontend/src/hooks/api/appConnections/cloudflare/queries.tsx index f4ca87ad1..c0eb75c19 100644 --- a/frontend/src/hooks/api/appConnections/cloudflare/queries.tsx +++ b/frontend/src/hooks/api/appConnections/cloudflare/queries.tsx @@ -3,14 +3,16 @@ import { useQuery, UseQueryOptions } from "@tanstack/react-query"; import { apiRequest } from "@app/config/request"; import { appConnectionKeys } from "../queries"; -import { TCloudflarePagesProject, TCloudflareWorkersScript } from "./types"; +import { TCloudflarePagesProject, TCloudflareWorkersScript, TCloudflareZone } from "./types"; const cloudflareConnectionKeys = { all: [...appConnectionKeys.all, "cloudflare"] as const, listPagesProjects: (connectionId: string) => [...cloudflareConnectionKeys.all, "pages-projects", connectionId] as const, listWorkersScripts: (connectionId: string) => - [...cloudflareConnectionKeys.all, "workers-scripts", connectionId] as const + [...cloudflareConnectionKeys.all, "workers-scripts", connectionId] as const, + listWorkersZones: (connectionId: string) => + [...cloudflareConnectionKeys.all, "zones", connectionId] as const }; export const useCloudflareConnectionListPagesProjects = ( @@ -62,3 +64,28 @@ export const useCloudflareConnectionListWorkersScripts = ( ...options }); }; + +export const useCloudflareConnectionListZones = ( + connectionId: string, + options?: Omit< + UseQueryOptions< + TCloudflareZone[], + unknown, + TCloudflareZone[], + ReturnType + >, + "queryKey" | "queryFn" + > +) => { + return useQuery({ + queryKey: cloudflareConnectionKeys.listWorkersZones(connectionId), + queryFn: async () => { + const { data } = await apiRequest.get( + `/api/v1/app-connections/cloudflare/${connectionId}/cloudflare-zones` + ); + + return data; + }, + ...options + }); +}; diff --git a/frontend/src/hooks/api/appConnections/cloudflare/types.ts b/frontend/src/hooks/api/appConnections/cloudflare/types.ts index 1d5ea53d4..e8905e16c 100644 --- a/frontend/src/hooks/api/appConnections/cloudflare/types.ts +++ b/frontend/src/hooks/api/appConnections/cloudflare/types.ts @@ -6,3 +6,8 @@ export type TCloudflarePagesProject = { export type TCloudflareWorkersScript = { id: string; }; + +export type TCloudflareZone = { + id: string; + name: string; +}; diff --git a/frontend/src/hooks/api/ca/constants.tsx b/frontend/src/hooks/api/ca/constants.tsx index 6d05b5ef3..fa59b3ae0 100644 --- a/frontend/src/hooks/api/ca/constants.tsx +++ b/frontend/src/hooks/api/ca/constants.tsx @@ -1,6 +1,7 @@ +import { AppConnection } from "../appConnections/enums"; import { SshCaStatus } from "../sshCa"; import { SshCertTemplateStatus } from "../sshCertificateTemplates"; -import { CaStatus, InternalCaType } from "./enums"; +import { AcmeDnsProvider, CaStatus, InternalCaType } from "./enums"; export const caTypeToNameMap: { [K in InternalCaType]: string } = { [InternalCaType.ROOT]: "Root", @@ -13,6 +14,16 @@ export const caStatusToNameMap: { [K in CaStatus]: string } = { [CaStatus.PENDING_CERTIFICATE]: "Pending Certificate" }; +export const ACME_DNS_PROVIDER_NAME_MAP: Record = { + [AcmeDnsProvider.ROUTE53]: "Route53", + [AcmeDnsProvider.Cloudflare]: "Cloudflare" +}; + +export const ACME_DNS_PROVIDER_APP_CONNECTION_MAP: Record = { + [AcmeDnsProvider.ROUTE53]: AppConnection.AWS, + [AcmeDnsProvider.Cloudflare]: AppConnection.Cloudflare +}; + export const getCaStatusBadgeVariant = (status: CaStatus | SshCaStatus | SshCertTemplateStatus) => { switch (status) { case CaStatus.ACTIVE: diff --git a/frontend/src/hooks/api/ca/enums.tsx b/frontend/src/hooks/api/ca/enums.tsx index b2b725612..b010faa07 100644 --- a/frontend/src/hooks/api/ca/enums.tsx +++ b/frontend/src/hooks/api/ca/enums.tsx @@ -19,5 +19,6 @@ export enum CaRenewalType { } export enum AcmeDnsProvider { - ROUTE53 = "route53" + ROUTE53 = "route53", + Cloudflare = "cloudflare" } diff --git a/frontend/src/hooks/api/ca/types.ts b/frontend/src/hooks/api/ca/types.ts index f3703fe52..f9f812cb2 100644 --- a/frontend/src/hooks/api/ca/types.ts +++ b/frontend/src/hooks/api/ca/types.ts @@ -11,7 +11,7 @@ export type TAcmeCertificateAuthority = { configuration: { dnsAppConnectionId: string; dnsProviderConfig: { - provider: AcmeDnsProvider.ROUTE53; + provider: AcmeDnsProvider; hostedZoneId: string; }; directoryUrl: string; diff --git a/frontend/src/pages/cert-manager/CertificateAuthoritiesPage/components/ExternalCaModal.tsx b/frontend/src/pages/cert-manager/CertificateAuthoritiesPage/components/ExternalCaModal.tsx index b7d91a851..d318b357d 100644 --- a/frontend/src/pages/cert-manager/CertificateAuthoritiesPage/components/ExternalCaModal.tsx +++ b/frontend/src/pages/cert-manager/CertificateAuthoritiesPage/components/ExternalCaModal.tsx @@ -16,7 +16,10 @@ import { Switch } from "@app/components/v2"; import { useWorkspace } from "@app/context"; -import { useListAvailableAppConnections } from "@app/hooks/api/appConnections"; +import { + TAvailableAppConnection, + useListAvailableAppConnections +} from "@app/hooks/api/appConnections"; import { AppConnection } from "@app/hooks/api/appConnections/enums"; import { AcmeDnsProvider, @@ -28,6 +31,16 @@ import { } from "@app/hooks/api/ca"; import { UsePopUpState } from "@app/hooks/usePopUp"; import { slugSchema } from "@app/lib/schemas"; +import { + ACME_DNS_PROVIDER_APP_CONNECTION_MAP, + ACME_DNS_PROVIDER_NAME_MAP +} from "@app/hooks/api/ca/constants"; +import { APP_CONNECTION_MAP } from "@app/helpers/appConnections"; +import { + TCloudflareZone, + useCloudflareConnectionListZones +} from "@app/hooks/api/appConnections/cloudflare"; +import { SingleValue } from "react-select"; const schema = z .object({ @@ -42,7 +55,7 @@ const schema = z id: z.string(), name: z.string() }), - // currently specific to Route53 but can be extended to others by differentiating via the provider property + // currently specific to Route53 & Cloudflare but can be extended to others by differentiating via the provider property dnsProviderConfig: z.object({ provider: z.nativeEnum(AcmeDnsProvider), hostedZoneId: z.string() @@ -105,12 +118,29 @@ export const ExternalCaModal = ({ popUp, handlePopUpToggle }: Props) => { const caType = watch("type"); const dnsProvider = watch("configuration.dnsProviderConfig.provider"); - const { data: availableConnections, isPending } = useListAvailableAppConnections( - AppConnection.AWS, - { + const { data: availableRoute53Connections, isPending: isRoute53Pending } = + useListAvailableAppConnections(AppConnection.AWS, { enabled: dnsProvider === AcmeDnsProvider.ROUTE53 - } - ); + }); + + const { data: availableCloudflareConnections, isPending: isCloudflarePending } = + useListAvailableAppConnections(AppConnection.Cloudflare, { + enabled: dnsProvider === AcmeDnsProvider.Cloudflare + }); + + const availableConnections: TAvailableAppConnection[] = [ + ...(availableRoute53Connections || []), + ...(availableCloudflareConnections || []) + ]; + + const isPending = isRoute53Pending || isCloudflarePending; + + const connection = watch("configuration.dnsAppConnection"); + + const { data: cloudflareZones = [], isPending: isZonesPending } = + useCloudflareConnectionListZones(connection.id, { + enabled: dnsProvider === AcmeDnsProvider.Cloudflare && !!connection.id + }); useEffect(() => { if (ca) { @@ -138,25 +168,6 @@ export const ExternalCaModal = ({ popUp, handlePopUpToggle }: Props) => { } }); } - } else { - reset({ - type: CaType.ACME, - name: "", - status: CaStatus.ACTIVE, - enableDirectIssuance: true, - configuration: { - dnsAppConnection: { - id: "", - name: "" - }, - dnsProviderConfig: { - provider: AcmeDnsProvider.ROUTE53, - hostedZoneId: "" - }, - directoryUrl: "", - accountEmail: "" - } - }); } }, [ca, availableConnections]); @@ -284,12 +295,11 @@ export const ExternalCaModal = ({ popUp, handlePopUpToggle }: Props) => { className="w-full" isDisabled={Boolean(ca)} > - - Route53 - + {Object.values(AcmeDnsProvider).map((provider) => ( + + {ACME_DNS_PROVIDER_NAME_MAP[provider]} + + ))} )} @@ -297,7 +307,7 @@ export const ExternalCaModal = ({ popUp, handlePopUpToggle }: Props) => { ( { control={control} name="configuration.dnsAppConnection" /> - ( - - - - )} - /> + {dnsProvider === AcmeDnsProvider.ROUTE53 ? ( + ( + + + + )} + /> + ) : dnsProvider === AcmeDnsProvider.Cloudflare ? ( + ( + + zone.id === value)} + onChange={(option) => { + onChange((option as SingleValue)?.id ?? null); + }} + options={cloudflareZones} + placeholder="Select a zone..." + getOptionLabel={(option) => option.name} + getOptionValue={(option) => option.id} + /> + + )} + /> + ) : ( + <> + )} Date: Thu, 31 Jul 2025 00:29:02 -0400 Subject: [PATCH 2/7] docs --- docs/documentation/platform/pki/acme-ca.mdx | 148 ++++++++++-------- .../platform/pki/external-ca.mdx | 38 ++--- .../cloudflare-dns-configure-permissions.png | Bin 0 -> 338153 bytes .../app-connections/cloudflare.mdx | 11 ++ 4 files changed, 112 insertions(+), 85 deletions(-) create mode 100644 docs/images/app-connections/cloudflare/cloudflare-dns-configure-permissions.png diff --git a/docs/documentation/platform/pki/acme-ca.mdx b/docs/documentation/platform/pki/acme-ca.mdx index 495d20917..d243430c1 100644 --- a/docs/documentation/platform/pki/acme-ca.mdx +++ b/docs/documentation/platform/pki/acme-ca.mdx @@ -14,7 +14,7 @@ ACME is a protocol that automates the process of certificate issuance and renewa ```mermaid graph TD A[ACME CA Provider
e.g., Let's Encrypt] <-->|ACME v2 Protocol| B[Infisical] - B -->|Creates TXT Records
via Route53| C[DNS Validation] + B -->|Creates TXT Records
via Route53/Cloudflare| C[DNS Validation] B -->|Manages Certificates| D[Subscribers] ``` @@ -28,8 +28,8 @@ We recommend reading about [ACME protocol](https://tools.ietf.org/html/rfc8555) A typical workflow for using Infisical with ACME Certificate Authorities consists of the following steps: -1. Setting up AWS Route53 credentials with appropriate DNS permissions. -2. Creating an AWS connection in Infisical to store the Route53 credentials. +1. Setting up AWS Route53 or Cloudflare credentials with appropriate DNS permissions. +2. Creating an AWS connection in Infisical to store the Route53/Cloudflare credentials. 3. Registering an ACME Certificate Authority (like Let's Encrypt) with Infisical. 4. Creating subscribers that use the ACME CA as their issuing authority. 5. Managing certificate lifecycle events such as issuance, renewal, and revocation through Infisical. @@ -55,59 +55,75 @@ This automated process eliminates the need for manual intervention in domain val In the following steps, we explore how to set up ACME Certificate Authority integration with Infisical using Let's Encrypt as an example. - - Before proceeding with the ACME CA registration, you need to set up an AWS connection with the appropriate permissions for DNS validation: + + Before proceeding with the ACME CA registration, you need to set up an App Connection with the appropriate permissions for DNS validation: - 1. Navigate to your Organization Settings > App Connections and create a new AWS connection. + + + 1. Navigate to your Organization Settings > App Connections and create a new AWS connection. - 2. Ensure your AWS connection has the following minimum permissions for Route53 DNS validation: + 2. Ensure your AWS connection has the following minimum permissions for Route53 DNS validation: - ```json - { - "Version": "2012-10-17", - "Statement": [ - { - "Effect": "Allow", - "Action": "route53:GetChange", - "Resource": "arn:aws:route53:::change/*" - }, - { - "Effect": "Allow", - "Action": "route53:ListHostedZonesByName", - "Resource": "*" - }, - { - "Effect": "Allow", - "Action": [ - "route53:ListResourceRecordSets" - ], - "Resource": [ - "arn:aws:route53:::hostedzone/YOUR_HOSTED_ZONE_ID" - ] - }, - { - "Effect": "Allow", - "Action": [ - "route53:ChangeResourceRecordSets" - ], - "Resource": [ - "arn:aws:route53:::hostedzone/YOUR_HOSTED_ZONE_ID" - ], - "Condition": { - "ForAllValues:StringEquals": { - "route53:ChangeResourceRecordSetsRecordTypes": [ - "TXT" + ```json + { + "Version": "2012-10-17", + "Statement": [ + { + "Effect": "Allow", + "Action": "route53:GetChange", + "Resource": "arn:aws:route53:::change/*" + }, + { + "Effect": "Allow", + "Action": "route53:ListHostedZonesByName", + "Resource": "*" + }, + { + "Effect": "Allow", + "Action": [ + "route53:ListResourceRecordSets" + ], + "Resource": [ + "arn:aws:route53:::hostedzone/YOUR_HOSTED_ZONE_ID" + ] + }, + { + "Effect": "Allow", + "Action": [ + "route53:ChangeResourceRecordSets" + ], + "Resource": [ + "arn:aws:route53:::hostedzone/YOUR_HOSTED_ZONE_ID" + ], + "Condition": { + "ForAllValues:StringEquals": { + "route53:ChangeResourceRecordSetsRecordTypes": [ + "TXT" + ] + } + } + } ] } - } - } - ] - } - ``` + ``` - Replace `YOUR_HOSTED_ZONE_ID` with your actual Route53 hosted zone ID. + Replace `YOUR_HOSTED_ZONE_ID` with your actual Route53 hosted zone ID. - For detailed instructions on setting up an AWS connection, see the [AWS Connection](/integrations/app-connections/aws) documentation. + For detailed instructions on setting up an AWS connection, see the [AWS Connection](/integrations/app-connections/aws) documentation. + + + 1. Navigate to your Organization Settings > App Connections and create a new Cloudflare connection. + + 2. Ensure your Cloudflare token has the following minimum permissions for DNS validation: + + ``` + Account:Account Settings:Read + Zone:DNS:Edit + ``` + + For detailed instructions on setting up a Cloudflare connection, see the [Cloudflare Connection](/integrations/app-connections/cloudflare) documentation. + + @@ -127,7 +143,7 @@ In the following steps, we explore how to set up ACME Certificate Authority inte - **Type**: Select "ACME" as the External CA type. - **Name**: Enter a name for the ACME CA (e.g., "lets-encrypt-production"). - **DNS App Connection**: Select from available DNS app connections or configure a new one. This connection provides Infisical with the credentials needed to create and remove DNS records for ACME validation. - - **Hosted Zone ID**: Enter your Route53 hosted zone ID (e.g., Z04044I124N1GOOMCOYX1) for the domain(s) you'll be requesting certificates for. + - **Zone ID**: Enter your Route53 hosted zone ID (e.g., Z04044I124N1GOOMCOYX1) or select your Cloudflare Zone for the domain(s) you'll be requesting certificates for. - **Directory URL**: Enter the ACME v2 directory URL for your chosen CA provider (e.g., `https://acme-v02.api.letsencrypt.org/directory` for Let's Encrypt). - **Account Email**: Email address to associate with your ACME account. This email will receive important notifications about your certificates. - **Enable Direct Issuance**: Toggle on to allow direct certificate issuance without requiring subscribers. @@ -140,7 +156,7 @@ In the following steps, we explore how to set up ACME Certificate Authority inte ![pki external ca list](/images/platform/pki/ca/external-ca/external-ca-list.png) From here, you can: - + - View the status of the ACME CA registration - Edit the configuration settings - Disable or re-enable the ACME CA @@ -152,9 +168,9 @@ In the following steps, we explore how to set up ACME Certificate Authority inte To register an ACME CA with Infisical using the API, make a request to the Create External CA endpoint: - + ### Sample request - + ```bash Request curl 'https://app.infisical.com/api/v1/pki/ca/acme' \ -H 'Authorization: Bearer ' \ @@ -180,9 +196,9 @@ In the following steps, we explore how to set up ACME Certificate Authority inte } }' ``` - + ### Sample response - + ```bash Response { "id": "c48b701e-a20c-4a9a-8119-68f54e5fbb05", @@ -226,7 +242,7 @@ In the following steps, we explore how to set up ACME Certificate Authority inte 1. Infisical generates a key pair for the certificate 2. Sends a Certificate Signing Request (CSR) to the ACME CA 3. Receives a DNS-01 challenge from the ACME provider - 4. Creates a TXT record in Route53 to satisfy the challenge + 4. Creates a TXT record in Route53/Cloudflare to satisfy the challenge 5. Notifies the ACME provider that the challenge is ready for validation 6. Once validated, the ACME provider issues the certificate 7. Infisical stores and manages the certificate for your subscriber @@ -235,7 +251,7 @@ In the following steps, we explore how to set up ACME Certificate Authority inte The issued certificate and private key are now available through Infisical and can be: - + - Downloaded directly from the Infisical UI - Retrieved via the Infisical API for programmatic access using the [latest certificate bundle endpoint](/api-reference/endpoints/pki/subscribers/get-latest-cert-bundle) @@ -265,35 +281,35 @@ Let's Encrypt is a free, automated, and open Certificate Authority that provides - Currently, Infisical supports DNS-01 validation through AWS Route53. The DNS-01 challenge method is preferred for ACME integrations because it: - + Currently, Infisical supports DNS-01 validation through AWS Route53 or Cloudflare. The DNS-01 challenge method is preferred for ACME integrations because it: + - Works with wildcard certificates - Doesn't require your servers to be publicly accessible - Can be fully automated without manual intervention - + Support for additional DNS providers is planned for future releases. Yes! ACME CAs like Let's Encrypt support wildcard certificates (e.g., `*.example.com`) when using DNS-01 validation. Simply specify the wildcard domain in your subscriber configuration. - + Note that wildcard certificates still require DNS-01 validation - HTTP-01 validation cannot be used for wildcard certificates. Most ACME providers issue certificates with 90-day validity periods. This shorter validity period is designed to: - + - Encourage automation of certificate management - Reduce the impact of compromised certificates - Ensure systems stay up-to-date with certificate management practices - + When configured, Infisical automatically handles certificate renewal for subscribers. Yes! You can register multiple ACME CAs in the same project: - + - Different providers for different domains or use cases - Staging and production environments for the same provider - Backup providers for redundancy - + Each subscriber can be configured to use a specific ACME CA based on your requirements. - \ No newline at end of file + diff --git a/docs/documentation/platform/pki/external-ca.mdx b/docs/documentation/platform/pki/external-ca.mdx index 02285cac6..efe029149 100644 --- a/docs/documentation/platform/pki/external-ca.mdx +++ b/docs/documentation/platform/pki/external-ca.mdx @@ -13,11 +13,11 @@ In addition to creating a Private CA hierarchy, Infisical allows you to integrat ```mermaid graph TD B[Infisical] -->|Manages Certificates| D[Subscribers] - + A1[Public CAs
Let's Encrypt, ZeroSSL] -->|ACME Protocol| B A2[Enterprise CAs
Vault PKI, Step CA] -->|ACME Protocol| B A3[Cloud CAs
ACME-compatible services] -->|ACME Protocol| B - + A4[Future: Enterprise CAs] -.->|EST/SCEP Protocols| B A5[Future: Cloud CAs] -.->|REST APIs| B ``` @@ -54,7 +54,7 @@ ACME (Automatic Certificate Management Environment) is a widely adopted protocol **Public Certificate Authorities:** - Let's Encrypt - Free, automated SSL/TLS certificates -- ZeroSSL - Free and premium SSL certificates +- ZeroSSL - Free and premium SSL certificates - Buypass - Norwegian CA with free ACME certificates **Enterprise Certificate Authorities:** @@ -73,7 +73,7 @@ External CA integration is ideal for various scenarios: ### Public-Facing Services Use publicly trusted CAs for websites and services that need browser compatibility: - Web applications and APIs -- Load balancers and CDNs +- Load balancers and CDNs - Public-facing microservices ### Compliance Requirements @@ -137,18 +137,18 @@ Get started with External CA integration: Currently, Infisical supports any Certificate Authority that implements the ACME protocol, including: - + - **Public CAs**: Let's Encrypt, ZeroSSL, Buypass - - **Enterprise CAs**: HashiCorp Vault PKI, Step CA + - **Enterprise CAs**: HashiCorp Vault PKI, Step CA - **Cloud CAs**: ACME-compatible managed services - - Integration uses DNS-01 validation through Route53. Learn more about [supported DNS validation methods](/documentation/platform/pki/acme-ca#what-dns-validation-methods-are-supported). - + + Integration uses DNS-01 validation through Route53 or Cloudflare. Learn more about [supported DNS validation methods](/documentation/platform/pki/acme-ca#what-dns-validation-methods-are-supported). + Support for additional integration protocols (EST, SCEP, direct APIs) is planned for future releases. Yes. You can have both Private CAs (root and intermediate) and External CAs in the same project, allowing you flexibility in how you issue certificates for different use cases. This hybrid approach enables you to: - + - Use Private CAs for internal services and applications - Use External CAs for public-facing services - Apply consistent management practices across all certificate types @@ -156,37 +156,37 @@ Get started with External CA integration: The types of certificates you can issue depend on the External CA provider and type: - + - **Public CAs**: Typically support Domain Validation (DV) certificates, with some offering Organization Validation (OV) - **Enterprise CAs**: Support internal certificates, device certificates, and custom certificate types - **Cloud CAs**: Support various certificate types depending on the service - + Certificate capabilities vary by provider and integration method. Certificate reissuance is handled automatically by Infisical based on the CA type: - + - **Public CAs**: Automatic reissuance using ACME protocol with the same certificate extensions before expiration - **Other CA types**: Certificate management methods depend on the specific integration (when available) - + All certificate lifecycle events are tracked and managed through Infisical's unified interface, ensuring continuous certificate validity. Authentication methods vary by CA type: - + - **Public CAs**: ACME account registration with email and account keys - **Enterprise CAs**: Client certificates, username/password, or domain authentication (when available) - **Cloud CAs**: API keys, OAuth tokens, or service account authentication (when available) - + Infisical securely stores and manages all authentication credentials. Yes, Infisical provides policy enforcement capabilities: - + - Certificate template constraints - Monitoring and alerting policies - Access controls for certificate operations - + These policies ensure consistent governance across both internal and external certificate sources. - \ No newline at end of file + diff --git a/docs/images/app-connections/cloudflare/cloudflare-dns-configure-permissions.png b/docs/images/app-connections/cloudflare/cloudflare-dns-configure-permissions.png new file mode 100644 index 0000000000000000000000000000000000000000..d0ba4e68d6b2fbee7dd1b2fd677e1a3e81be9833 GIT binary patch literal 338153 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

SzIrkYS`=+K5FtCi`rpNp?XkFCP9NRAApY+&x|N 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Ν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

}yy3?tAs~4|j{3stnB+iaOi#`B5_;iAoV#Q2i{U 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 TYyn@ve`l4{Pv@MvaOM91s?C}! literal 0 HcmV?d00001 diff --git a/docs/integrations/app-connections/cloudflare.mdx b/docs/integrations/app-connections/cloudflare.mdx index 6d79d2567..241c737bc 100644 --- a/docs/integrations/app-connections/cloudflare.mdx +++ b/docs/integrations/app-connections/cloudflare.mdx @@ -50,6 +50,17 @@ Infisical supports connecting to Cloudflare using API tokens and Account ID for + + Use the following permissions to grant Infisical access to verify certificates using DNS TXT records with ACME: + + ![Configure Token](/images/app-connections/cloudflare/cloudflare-dns-configure-permissions.png) + + **Required Permissions:** + - **Account** - **Account Settings** - **Read** + - **Zone** - **DNS** - **Edit** + + Add these permissions to your API token and click **Continue to summary**, then **Create Token** to generate your API token. + From 149cecd80565347082b2c55a27d5a83b65dd7883 Mon Sep 17 00:00:00 2001 From: x032205 Date: Thu, 31 Jul 2025 00:32:31 -0400 Subject: [PATCH 3/7] Small tweaks --- .../certificate-authority/acme/dns-providers/cloudflare.ts | 6 +++--- .../src/hooks/api/appConnections/cloudflare/queries.tsx | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/backend/src/services/certificate-authority/acme/dns-providers/cloudflare.ts b/backend/src/services/certificate-authority/acme/dns-providers/cloudflare.ts index 0171b24b7..f4b12e657 100644 --- a/backend/src/services/certificate-authority/acme/dns-providers/cloudflare.ts +++ b/backend/src/services/certificate-authority/acme/dns-providers/cloudflare.ts @@ -16,7 +16,7 @@ export const cloudflareInsertTxtRecord = async ( try { await request.post( - `${IntegrationUrls.CLOUDFLARE_API_URL}/client/v4/zones/${hostedZoneId}/dns_records`, + `${IntegrationUrls.CLOUDFLARE_API_URL}/client/v4/zones/${encodeURIComponent(hostedZoneId)}/dns_records`, { type: "TXT", name: domain, @@ -60,7 +60,7 @@ export const cloudflareDeleteTxtRecord = async ( try { const listRecordsResponse = await request.get<{ result: { id: string; type: string; name: string; content: string }[]; - }>(`${IntegrationUrls.CLOUDFLARE_API_URL}/client/v4/zones/${hostedZoneId}/dns_records`, { + }>(`${IntegrationUrls.CLOUDFLARE_API_URL}/client/v4/zones/${encodeURIComponent(hostedZoneId)}/dns_records`, { headers: { Authorization: `Bearer ${apiToken}`, "Content-Type": "application/json", @@ -82,7 +82,7 @@ export const cloudflareDeleteTxtRecord = async ( if (recordToDelete) { await request.delete( - `${IntegrationUrls.CLOUDFLARE_API_URL}/client/v4/zones/${hostedZoneId}/dns_records/${recordToDelete.id}`, + `${IntegrationUrls.CLOUDFLARE_API_URL}/client/v4/zones/${encodeURIComponent(hostedZoneId)}/dns_records/${recordToDelete.id}`, { headers: { Authorization: `Bearer ${apiToken}`, diff --git a/frontend/src/hooks/api/appConnections/cloudflare/queries.tsx b/frontend/src/hooks/api/appConnections/cloudflare/queries.tsx index c0eb75c19..973943d1e 100644 --- a/frontend/src/hooks/api/appConnections/cloudflare/queries.tsx +++ b/frontend/src/hooks/api/appConnections/cloudflare/queries.tsx @@ -11,7 +11,7 @@ const cloudflareConnectionKeys = { [...cloudflareConnectionKeys.all, "pages-projects", connectionId] as const, listWorkersScripts: (connectionId: string) => [...cloudflareConnectionKeys.all, "workers-scripts", connectionId] as const, - listWorkersZones: (connectionId: string) => + listZones: (connectionId: string) => [...cloudflareConnectionKeys.all, "zones", connectionId] as const }; @@ -72,13 +72,13 @@ export const useCloudflareConnectionListZones = ( TCloudflareZone[], unknown, TCloudflareZone[], - ReturnType + ReturnType >, "queryKey" | "queryFn" > ) => { return useQuery({ - queryKey: cloudflareConnectionKeys.listWorkersZones(connectionId), + queryKey: cloudflareConnectionKeys.listZones(connectionId), queryFn: async () => { const { data } = await apiRequest.get( `/api/v1/app-connections/cloudflare/${connectionId}/cloudflare-zones` From 9928ca17eaa35aa50a074bc97740dfe4a8ba9d8f Mon Sep 17 00:00:00 2001 From: x032205 Date: Thu, 31 Jul 2025 12:51:56 -0400 Subject: [PATCH 4/7] Greptile review fixes --- .../cloudflare-connection-router.ts | 10 +++++----- .../acme/acme-certificate-authority-fns.ts | 4 ++-- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/backend/src/server/routes/v1/app-connection-routers/cloudflare-connection-router.ts b/backend/src/server/routes/v1/app-connection-routers/cloudflare-connection-router.ts index 8a8d5deb1..e5344bb6d 100644 --- a/backend/src/server/routes/v1/app-connection-routers/cloudflare-connection-router.ts +++ b/backend/src/server/routes/v1/app-connection-routers/cloudflare-connection-router.ts @@ -72,8 +72,8 @@ export const registerCloudflareConnectionRouter = async (server: FastifyZodProvi handler: async (req) => { const { connectionId } = req.params; - const projects = await server.services.appConnection.cloudflare.listWorkersScripts(connectionId, req.permission); - return projects; + const scripts = await server.services.appConnection.cloudflare.listWorkersScripts(connectionId, req.permission); + return scripts; } }); @@ -99,9 +99,9 @@ export const registerCloudflareConnectionRouter = async (server: FastifyZodProvi onRequest: verifyAuth([AuthMode.JWT]), handler: async (req) => { const { connectionId } = req.params; - - const projects = await server.services.appConnection.cloudflare.listZones(connectionId, req.permission); - return projects; + s; + const zones = await server.services.appConnection.cloudflare.listZones(connectionId, req.permission); + return zones; } }); }; diff --git a/backend/src/services/certificate-authority/acme/acme-certificate-authority-fns.ts b/backend/src/services/certificate-authority/acme/acme-certificate-authority-fns.ts index 96e4a1292..86beadffe 100644 --- a/backend/src/services/certificate-authority/acme/acme-certificate-authority-fns.ts +++ b/backend/src/services/certificate-authority/acme/acme-certificate-authority-fns.ts @@ -410,7 +410,7 @@ export const AcmeCertificateAuthorityFns = ({ break; } default: { - throw new Error("Unsupported DNS provider"); + throw new Error(`Unsupported DNS provider: ${acmeCa.configuration.dnsProviderConfig.provider as string}`); } } }, @@ -438,7 +438,7 @@ export const AcmeCertificateAuthorityFns = ({ break; } default: { - throw new Error("Unsupported DNS provider"); + throw new Error(`Unsupported DNS provider: ${acmeCa.configuration.dnsProviderConfig.provider as string}`); } } } From ed9dfd2974c580ecd87795a9108160c9ae6d8eed Mon Sep 17 00:00:00 2001 From: x032205 Date: Thu, 31 Jul 2025 12:55:59 -0400 Subject: [PATCH 5/7] Docs fix --- docs/documentation/platform/pki/acme-ca.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/documentation/platform/pki/acme-ca.mdx b/docs/documentation/platform/pki/acme-ca.mdx index d243430c1..60c6b4dcd 100644 --- a/docs/documentation/platform/pki/acme-ca.mdx +++ b/docs/documentation/platform/pki/acme-ca.mdx @@ -29,7 +29,7 @@ We recommend reading about [ACME protocol](https://tools.ietf.org/html/rfc8555) A typical workflow for using Infisical with ACME Certificate Authorities consists of the following steps: 1. Setting up AWS Route53 or Cloudflare credentials with appropriate DNS permissions. -2. Creating an AWS connection in Infisical to store the Route53/Cloudflare credentials. +2. Creating an AWS/Cloudflare connection in Infisical to store the credentials. 3. Registering an ACME Certificate Authority (like Let's Encrypt) with Infisical. 4. Creating subscribers that use the ACME CA as their issuing authority. 5. Managing certificate lifecycle events such as issuance, renewal, and revocation through Infisical. From 1c0caab469f18efeaa3b0bb439b4e32729a84d82 Mon Sep 17 00:00:00 2001 From: x032205 Date: Thu, 31 Jul 2025 13:01:04 -0400 Subject: [PATCH 6/7] Remove typo --- .../v1/app-connection-routers/cloudflare-connection-router.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/backend/src/server/routes/v1/app-connection-routers/cloudflare-connection-router.ts b/backend/src/server/routes/v1/app-connection-routers/cloudflare-connection-router.ts index e5344bb6d..dea917947 100644 --- a/backend/src/server/routes/v1/app-connection-routers/cloudflare-connection-router.ts +++ b/backend/src/server/routes/v1/app-connection-routers/cloudflare-connection-router.ts @@ -99,7 +99,7 @@ export const registerCloudflareConnectionRouter = async (server: FastifyZodProvi onRequest: verifyAuth([AuthMode.JWT]), handler: async (req) => { const { connectionId } = req.params; - s; + const zones = await server.services.appConnection.cloudflare.listZones(connectionId, req.permission); return zones; } From 5645dd2b8d508a3122cff64d8b164c4d96619a1d Mon Sep 17 00:00:00 2001 From: x032205 Date: Thu, 31 Jul 2025 13:21:28 -0400 Subject: [PATCH 7/7] Lint + form fixes --- docs/documentation/platform/pki/acme-ca.mdx | 2 +- .../components/ExternalCaModal.tsx | 37 +++++++++---------- .../SecretDetectionIgnoreValuesSection.tsx | 6 ++- 3 files changed, 24 insertions(+), 21 deletions(-) diff --git a/docs/documentation/platform/pki/acme-ca.mdx b/docs/documentation/platform/pki/acme-ca.mdx index 60c6b4dcd..8b1fa10db 100644 --- a/docs/documentation/platform/pki/acme-ca.mdx +++ b/docs/documentation/platform/pki/acme-ca.mdx @@ -143,7 +143,7 @@ In the following steps, we explore how to set up ACME Certificate Authority inte - **Type**: Select "ACME" as the External CA type. - **Name**: Enter a name for the ACME CA (e.g., "lets-encrypt-production"). - **DNS App Connection**: Select from available DNS app connections or configure a new one. This connection provides Infisical with the credentials needed to create and remove DNS records for ACME validation. - - **Zone ID**: Enter your Route53 hosted zone ID (e.g., Z04044I124N1GOOMCOYX1) or select your Cloudflare Zone for the domain(s) you'll be requesting certificates for. + - **Zone ID**: Enter the Zone ID for the domain(s) you'll be requesting certificates for. - **Directory URL**: Enter the ACME v2 directory URL for your chosen CA provider (e.g., `https://acme-v02.api.letsencrypt.org/directory` for Let's Encrypt). - **Account Email**: Email address to associate with your ACME account. This email will receive important notifications about your certificates. - **Enable Direct Issuance**: Toggle on to allow direct certificate issuance without requiring subscribers. diff --git a/frontend/src/pages/cert-manager/CertificateAuthoritiesPage/components/ExternalCaModal.tsx b/frontend/src/pages/cert-manager/CertificateAuthoritiesPage/components/ExternalCaModal.tsx index d318b357d..faba9ef37 100644 --- a/frontend/src/pages/cert-manager/CertificateAuthoritiesPage/components/ExternalCaModal.tsx +++ b/frontend/src/pages/cert-manager/CertificateAuthoritiesPage/components/ExternalCaModal.tsx @@ -1,5 +1,6 @@ import { useEffect } from "react"; import { Controller, useForm } from "react-hook-form"; +import { SingleValue } from "react-select"; import { zodResolver } from "@hookform/resolvers/zod"; import { z } from "zod"; @@ -16,10 +17,15 @@ import { Switch } from "@app/components/v2"; import { useWorkspace } from "@app/context"; +import { APP_CONNECTION_MAP } from "@app/helpers/appConnections"; import { TAvailableAppConnection, useListAvailableAppConnections } from "@app/hooks/api/appConnections"; +import { + TCloudflareZone, + useCloudflareConnectionListZones +} from "@app/hooks/api/appConnections/cloudflare"; import { AppConnection } from "@app/hooks/api/appConnections/enums"; import { AcmeDnsProvider, @@ -29,18 +35,12 @@ import { useGetCa, useUpdateCa } from "@app/hooks/api/ca"; -import { UsePopUpState } from "@app/hooks/usePopUp"; -import { slugSchema } from "@app/lib/schemas"; import { ACME_DNS_PROVIDER_APP_CONNECTION_MAP, ACME_DNS_PROVIDER_NAME_MAP } from "@app/hooks/api/ca/constants"; -import { APP_CONNECTION_MAP } from "@app/helpers/appConnections"; -import { - TCloudflareZone, - useCloudflareConnectionListZones -} from "@app/hooks/api/appConnections/cloudflare"; -import { SingleValue } from "react-select"; +import { UsePopUpState } from "@app/hooks/usePopUp"; +import { slugSchema } from "@app/lib/schemas"; const schema = z .object({ @@ -120,12 +120,12 @@ export const ExternalCaModal = ({ popUp, handlePopUpToggle }: Props) => { const { data: availableRoute53Connections, isPending: isRoute53Pending } = useListAvailableAppConnections(AppConnection.AWS, { - enabled: dnsProvider === AcmeDnsProvider.ROUTE53 + enabled: caType === CaType.ACME }); const { data: availableCloudflareConnections, isPending: isCloudflarePending } = useListAvailableAppConnections(AppConnection.Cloudflare, { - enabled: dnsProvider === AcmeDnsProvider.Cloudflare + enabled: caType === CaType.ACME }); const availableConnections: TAvailableAppConnection[] = [ @@ -135,11 +135,11 @@ export const ExternalCaModal = ({ popUp, handlePopUpToggle }: Props) => { const isPending = isRoute53Pending || isCloudflarePending; - const connection = watch("configuration.dnsAppConnection"); + const dnsAppConnection = watch("configuration.dnsAppConnection"); const { data: cloudflareZones = [], isPending: isZonesPending } = - useCloudflareConnectionListZones(connection.id, { - enabled: dnsProvider === AcmeDnsProvider.Cloudflare && !!connection.id + useCloudflareConnectionListZones(dnsAppConnection.id, { + enabled: dnsProvider === AcmeDnsProvider.Cloudflare && !!dnsAppConnection.id }); useEffect(() => { @@ -328,7 +328,7 @@ export const ExternalCaModal = ({ popUp, handlePopUpToggle }: Props) => { control={control} name="configuration.dnsAppConnection" /> - {dnsProvider === AcmeDnsProvider.ROUTE53 ? ( + {dnsProvider === AcmeDnsProvider.ROUTE53 && ( { )} /> - ) : dnsProvider === AcmeDnsProvider.Cloudflare ? ( + )} + {dnsProvider === AcmeDnsProvider.Cloudflare && ( { label="Zone" > zone.id === value)} onChange={(option) => { onChange((option as SingleValue)?.id ?? null); @@ -369,8 +370,6 @@ export const ExternalCaModal = ({ popUp, handlePopUpToggle }: Props) => { )} /> - ) : ( - <> )} {

Secret Detection

-

Define secret values to ignore when scanning designated parameter folders. Add values here to prevent false positives or allow approved sensitive data. These ignored values will not trigger policy violation alerts.

+

+ Define secret values to ignore when scanning designated parameter folders. Add values here + to prevent false positives or allow approved sensitive data. These ignored values will not + trigger policy violation alerts. +