Le fournisseur Terraform OpenAI officiel vous permet de gérer les ressources de votre organisation OpenAI avec l’infrastructure en tant que code. Il utilise l’API d’administration pour gérer les projets, les utilisateurs, les groupes, les rôles, les comptes de service, les certificats, les limites de débit, les alertes de dépenses et les paramètres de projet associés.
Ce guide vous accompagne dans la création d’un projet OpenAI. Consultez ensuite les guides par cas d’usage pour gérer l’accès aux projets, les comptes de service, les limites opérationnelles, les contrôles des projets et les importations.
Avant de commencer
Vous avez besoin des éléments suivants :
- Terraform 1.0 ou version ultérieure. Les exemples d’importation nécessitent Terraform 1.5 ou version ultérieure.
- Une organisation OpenAI dans laquelle vous avez l’autorisation de créer une clé API d’administration.
Les points de terminaison de l’API d’administration nécessitent des clés API d’administration, qui ne fonctionnent pas avec les autres points de terminaison de l’API OpenAI. Stockez la clé dans une variable d’environnement ou un gestionnaire de secrets. Ne l’incluez pas dans votre configuration Terraform et ne l’enregistrez pas dans votre système de gestion de versions.
Configurez le fournisseur
Créez un répertoire et ajoutez-y un fichier main.tf contenant la configuration suivante :
terraform {
required_version = ">= 1.0"
required_providers {
openai = {
source = "openai/openai"
version = ">= 1.0.0"
}
}
}
provider "openai" {}
resource "openai_project" "example" {
name = "terraform-managed"
}
output "project_id" {
value = openai_project.example.project_id
}
La contrainte de version autorise la version 1.0.0 du fournisseur et les versions ultérieures. Consultez les versions du fournisseur avant toute mise à niveau.
Définissez votre clé API d’administration dans l’environnement :
export OPENAI_ADMIN_KEY="<your-admin-api-key>"
Par défaut, le fournisseur lit OPENAI_ADMIN_KEY. Vous pouvez également définir OPENAI_ORG_ID et OPENAI_PROJECT_ID pour envoyer les en-têtes OpenAI-Organization et OpenAI-Project avec les requêtes API. Lorsque ces variables facultatives ne sont pas définies, OpenAI détermine l’organisation et le projet à partir de la clé API. Définissez-les si vous souhaitez indiquer explicitement l’organisation ou le projet géré par votre configuration Terraform. Consultez la référence de configuration du fournisseur pour connaître tous les arguments disponibles.
Initialisez et appliquez la configuration
Initialisez le répertoire de travail, puis formatez et vérifiez la configuration :
terraform init
terraform fmt
terraform validate
Terraform télécharge le fournisseur et crée .terraform.lock.hcl. Enregistrez le fichier de verrouillage dans votre système de gestion de versions afin que les exécutions suivantes sélectionnent la même version du fournisseur. Exécutez terraform init -upgrade pour sélectionner la dernière version du fournisseur autorisée par la contrainte.
Examinez les modifications que Terraform va effectuer :
terraform plan
Le plan devrait indiquer une ressource openai_project à ajouter. N’appliquez la configuration qu’après avoir examiné le plan :
terraform apply
Confirmez l’application de la configuration lorsque vous y êtes invité. Terraform crée le projet et affiche son identifiant à partir de la sortie project_id.
Choisissez un guide par cas d’usage
| Guide | Objectif |
|---|---|
| Projets et accès | Créer des projets et configurer les accès basés sur les rôles et les groupes. |
| Comptes de service | Créer des comptes de service pour l’authentification par identité de charge de travail ou par clé API. |
| Limites de débit et dépenses | Réconcilier les limites de débit existantes et configurer les alertes de dépenses. |
| Contrôles des modèles, des outils et des données | Configurer l’accès aux modèles, les outils hébergés et la conservation des données. |
| Importation et réconciliation | Prendre en charge les ressources existantes et détecter les écarts de configuration. |
Pour connaître les différents arguments et formats d’importation, consultez la référence des ressources et des sources de données du fournisseur.