Third-Party Integration

Architecture

Store credentials for external service integrations:

  • Payment gateways - Stripe, PayPal, Square API keys
  • Email providers - SendGrid, SES, Mailgun credentials
  • Analytics services - Segment, Mixpanel, Amplitude tokens
  • OAuth providers - Google, GitHub, Auth0 client secrets

When to Use

Use this pattern when your application requires:

  • Integration with third-party APIs and services
  • Secure storage of vendor-provided credentials
  • Regular rotation of API keys and tokens
  • Centralized management of integration secrets

Example Implementation

module "stripe_credentials" {
  source  = "registry.patterneddesigns.ca/patterneddesigns/secrets-manager/aws"
  version = "2.1.0"

  name = "prod/integrations/stripe"
  secret_string = jsonencode({
    publishable_key = var.stripe_publishable_key
    secret_key      = var.stripe_secret_key
    webhook_secret  = var.stripe_webhook_secret
  })

  kms_key_id = module.kms.key_id
}

module "oauth_credentials" {
  source  = "registry.patterneddesigns.ca/patterneddesigns/secrets-manager/aws"
  version = "2.1.0"

  name = "prod/integrations/google-oauth"
  secret_string = jsonencode({
    client_id     = var.google_client_id
    client_secret = var.google_client_secret
  })

  kms_key_id = module.kms.key_id
}