Skip to main content
Prerequisites:
  1. Navigate to Project > Integrations and select the Secret Syncs tab. Select the Add Sync button. Secret Syncs Tab
  2. Select the Cloudflare Workers option. Select Cloudflare Workers
  3. Configure the Source from where secrets should be retrieved, then click Next. Configure Source
  • Environment: The project environment to retrieve secrets from.
  • Secret Path: The folder path to retrieve secrets from.
If you need to sync secrets from multiple folder locations, check out secret imports.
  1. Configure the Destination to where secrets should be deployed, then click Next. Configure Destination
  • Cloudflare Connection: The Cloudflare Connection to authenticate with.
  • Cloudflare Workers Script: Choose the Cloudflare Workers script you want to sync secrets to.
  1. Configure the Sync Options to specify how secrets should be synced, then click Next. Configure Options
  • Initial Sync Behavior: Determines how Infisical should resolve the initial sync.
    • Overwrite Destination Secrets: Removes any secrets at the destination endpoint not present in Infisical.
  • Key Schema: Template that determines how secret names are transformed when syncing, using {{secretKey}} as a placeholder for the original secret name and {{environment}} for the environment.
  • Auto-Sync Enabled: If enabled, secrets will automatically be synced from the source location when changes occur. Disable to enforce manual syncing only.
  • Disable Secret Deletion: If enabled, Infisical will not remove secrets from the sync destination. Enable this option if you intend to manage some secrets manually outside of Infisical.
  • Variable type: How Cloudflare stores each synced secret
    • Secret: Encrypted, so you can’t read the value in the Cloudflare dashboard
    • Text: Plain text that you can read in the Cloudflare dashboard
    • JSON: A JSON value that your Worker receives already parsed (each secret value must be valid JSON)
If a secret already exists on the Worker as a different type, the sync fails with an error that names it, and nothing on the Worker changes. To sync it, delete the variable in Cloudflare or change the sync’s variable type. With Sync plaintext and JSON variables turned on, a Secret sync updates existing text and JSON variables as they are instead. Syncs created before the variable type option existed skip those secrets rather than failing.
  1. Configure the Details of your Cloudflare Workers Sync, then click Next. Configure Details
  • Name: The name of your sync. Must be slug-friendly.
  • Description: An optional description for your sync.
  1. Review your Cloudflare Workers Sync configuration, then click Create Sync. Confirm Configuration
  2. If enabled, your Cloudflare Workers Sync will begin syncing your secrets to the destination endpoint. Sync Secrets

Syncing while a version is pending

If someone uploads a version of the Worker without deploying it, for example with wrangler versions upload, that version is pending, and Cloudflare doesn’t let Infisical change the Worker’s secrets directly. Instead, Cloudflare creates a new version from the pending one with the updated secrets, and Infisical labels it with the infisical-sync tag. Infisical doesn’t deploy the new version, because deploying it also deploys the pending changes. The sync’s status shows the ID of the new version, and the secrets take effect when you deploy that version in Cloudflare.

Removing secrets while a version is pending

Infisical can only remove secrets while the Worker’s latest version is the deployed one, so if a version is pending, removing secrets fails and nothing on the Worker changes. If you delete the sync with Remove Synced Secrets turned on, Infisical keeps the sync. To remove the secrets, deploy the pending version in Cloudflare, then remove the secrets again.