
Terraform 提供管理 Ory 网络资源的服务——包括身份、OAuth2 客户端、权限、组织、项目等。
概览
感谢Jason Hernandez和Materialize团队创建了该服务提供者的初始版本!另见 NOTICE.md 一个用于管理 Ory 网络资源的 Terraform 提供商,使用基础设施即代码。 :该提供商仅适用于(托管的SaaS产品)。它不支持自托管的Ory部署。 ory_project_config资源中的许多属性已重命名以遵循 OpenAPI 规范命名规范。旧名称仍然有效,但在 Terraform 输出中会显示弃用警告,并将在未来的主要版本中被移除。运行 ./scripts/migrate-deprecated-attrs.sh 查看完整的重命名列表。 要自动迁移你的.tf文件,请运行提供的迁移脚本: 脚本会为每个修改的文件创建.bak备份。迁移后,运行 terraform 计划以确认检测到无更改。 有关重命名属性的完整列表,请参见project_config资源文档。 - Terraform >= 1.0 - Go(参见Go中的版本)。
概述(AI 翻译)
特别感谢 感谢Jason Hernandez和Materialize团队创建了该服务提供者的初始版本!另见 NOTICE.md
一个用于管理 Ory 网络资源的 Terraform 提供商,使用基础设施即代码。
注:本提供商仅支持 Ory Network(托管型 SaaS 产品)。不支持自托管的 Ory 部署。
通知 - 所有剩余的弃用属性将在[[T0]上被清理。
迁移中弃用 ory_project_config 属性
ory_project_config 资源中的许多属性已重命名以遵循 OpenAPI 规范命名规范。旧名称仍然有效,但在 Terraform 输出中会显示弃用警告,并将在未来的主要版本中被移除。运行 ./scripts/migrate-deprecated-attrs.sh 查看完整的重命名列表。
重命名属性示例:
| 旧名 | 新名 |
|---|---|
enable_password |
selfservice_methods_password_enabled |
login_ui_url |
selfservice_flows_login_ui_url |
oauth2_access_token_lifespan |
oauth2_ttl_access_token |
password_min_length |
selfservice_methods_password_config_min_password_length |
本页由 AI 翻译,技术细节请以原文为准。
README
以下为原文 README 节选,完整内容请查看原文。
Terraform Provider for Ory Network
Special Thanks Shoutout to Jason Hernandez and the Materialize team for creating the initial version of this provider! Also see NOTICE.md
A Terraform provider for managing Ory Network resources using infrastructure-as-code.
Note: This provider is for Ory Network (the managed SaaS offering) only. It does not support self-hosted Ory deployments.
Requirements
- Terraform >= 1.0
- Go (see version in
go.mod; for building from source) - An Ory Network account
Installation
terraform {
required_providers {
ory = {
source = "ory/ory"
}
}
}
Authentication
Ory Network uses two types of API keys:
| Key Type | Prefix | Purpose |
|---|---|---|
| Workspace API Key | ory_wak_... |
Projects, organizations, workspace management |
| Project API Key | ory_pat_... |
Identities, OAuth2 clients, relationships |
export ORY_WORKSPACE_API_KEY="ory_wak_..."
export ORY_PROJECT_API_KEY="ory_pat_..."
export ORY_PROJECT_ID="your-project-uuid"
export ORY_PROJECT_SLUG="your-project-slug"
Or configure directly in the provider block:
provider "ory" {
workspace_api_key = var.ory_workspace_key # or ORY_WORKSPACE_API_KEY env var
project_api_key = var.ory_project_key # or ORY_PROJECT_API_KEY env var
project_id = var.ory_project_id # or ORY_PROJECT_ID env var
project_slug = var.ory_project_slug # or ORY_PROJECT_SLUG env var
}
Quick Start
terraform {
required_providers {
ory = {
source = "ory/ory"
}
}
}
provider "ory" {}
# Configure project settings
resource "ory_project_config" "main" {
cors_enabled = true
cors_origins = ["https://app.example.com"]
selfservice_methods_password_config_min_password_length = 10
session_lifespan = "720h0m0s" # 30 days
}
# Add Google social login
resource "ory_social_provider" "google" {
provider_id = "google"
provider_type = "google"
client_id = var.google_client_id
client_secret = var.google_client_secret
scope = ["email", "profile"]
}
# Create a webhook for new registrations
resource "ory_action" "welcome_email" {
flow = "registration"
timing = "after"
推荐工具
换一个关键词,或者移除筛选条件。
安装
npx skillfish add ory/terraform-provider-ory