Files
terraform-provider/docs/resources/secret_sync_cloudflare_workers.md

3.3 KiB

page_title, subcategory, description
page_title subcategory description
kms_secret_sync_cloudflare_workers Resource - terraform-provider Secret Syncs Create and manage Cloudflare Workers secret syncs

kms_secret_sync_cloudflare_workers (Resource)

Create and manage Cloudflare Workers secret syncs

Example Usage

terraform {
  required_providers {
    kms = {
      # version = <latest version>
      source = "hanzokms/kms"
    }
  }
}

provider "kms" {
  host = "https://kms.hanzo.ai" # Only required if using self hosted instance of Hanzo KMS, default is https://kms.hanzo.ai
  auth = {
    universal = {
      client_id     = "<machine-identity-client-id>"
      client_secret = "<machine-identity-client-secret>"
    }
  }
}

resource "kms_secret_sync_cloudflare_workers" "cloudflare-workers-secret-sync" {
  name          = "cloudflare-workers-secret-sync-demo"
  description   = "Demo of Cloudflare Workers secret sync"
  project_id    = "<project-id>"
  environment   = "<environment-slug>"
  secret_path   = "<secret-path>" # Root folder is /
  connection_id = "<cloudflare-app-connection-id>"

  sync_options = {
    initial_sync_behavior   = "overwrite-destination" # Supported options: overwrite-destination, import-prioritize-source, import-prioritize-destination
    disable_secret_deletion = false
    key_schema              = "<key-schema>" # The format to use for structuring secret keys
  }

  destination_config = {
    script_id = "<cloudflare-workers-script-id>"
  }
}

Schema

Required

  • connection_id (String) The ID of the cloudflare Connection to use for syncing.
  • destination_config (Attributes) The destination configuration for the secret sync. (see below for nested schema)
  • environment (String) The slug of the project environment to sync secrets from.
  • name (String) The name of the Cloudflare Workers sync to create. Must be slug-friendly.
  • project_id (String) The ID of the Hanzo KMS project to create the sync in.
  • secret_path (String) The folder path to sync secrets from.
  • sync_options (Attributes) Parameters to modify how secrets are synced. (see below for nested schema)

Optional

  • auto_sync_enabled (Boolean) Whether secrets should be automatically synced when changes occur at the source location or not.
  • description (String) An optional description for the Cloudflare Workers sync.

Read-Only

  • id (String) The ID of the Cloudflare Workers secret sync

Nested Schema for destination_config

Required:

  • script_id (String) The Cloudflare Workers script ID where the secrets will be synced

Nested Schema for sync_options

Required:

  • initial_sync_behavior (String) Specify how Hanzo KMS should resolve the initial sync to the destination. Supported options: overwrite-destination, import-prioritize-source, import-prioritize-destination

Optional:

  • disable_secret_deletion (Boolean) When set to true, Hanzo KMS will not remove secrets from Cloudflare Workers. Enable this option if you intend to manage some secrets manually outside of Hanzo KMS.
  • key_schema (String) The format to use for structuring secret keys in the Cloudflare Workers destination.