Files

3.6 KiB

page_title, subcategory, description
page_title subcategory description
kms_secret_sync_render Resource - terraform-provider Secret Syncs Create and manage Render secret syncs

kms_secret_sync_render (Resource)

Create and manage Render 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_app_connection_render" "render-app-connection-demo" {
  name        = "render-app-connection-demo"
  description = "This is a demo Render App Connection."
  method      = "api-key"
  credentials = {
    api_key = "<api-key>"
  }
}

resource "kms_secret_sync_render" "render-secret-sync-demo" {
  name          = "render-secret-sync-demo"
  description   = "This is a demo Render Secret Sync."
  project_id    = "<project-id>"
  environment   = "<environment-slug>"
  secret_path   = "<secret-path>"
  connection_id = kms_app_connection_render.render-app-connection-demo.id
  destination_config = {
    service_id = "<service-id>"
    scope      = "<scope>" // Supported options: service
    type       = "<type>"  // Supported options: env|file
  }
  sync_options = {
    initial_sync_behavior = "<initial-sync-behavior>" # Supported options: overwrite-destination|import-prioritize-source|import-prioritize-destination
    key_schema            = "<key-schema>"            // Optional
  }
}

Schema

Required

  • connection_id (String) The ID of the render 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 Render 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 Render sync.

Read-Only

  • id (String) The ID of the Render secret sync

Nested Schema for destination_config

Required:

  • scope (String) The Render scope that secrets should be synced to. Supported options: service
  • service_id (String) The ID of the Render service to sync secrets to.
  • type (String) The Render resource type to sync secrets to. Supported options: env, file

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

Optional:

  • disable_secret_deletion (Boolean) When set to true, Hanzo KMS will not remove secrets from Render. 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 Render destination.