Le fournisseur Terraform officiel d’OpenAI 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.
Dans ce guide, vous allez créer un projet OpenAI. Consultez ensuite les guides pratiques sur les accès aux projets, les comptes de service, les limites opérationnelles, les paramètres de contrôle des projets et l’importation de ressources.
Prérequis
Vous avez besoin des éléments suivants :
- Terraform en version 1.0 ou ultérieure. Les exemples d’importation nécessitent Terraform 1.5 ou une 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. Ces clés fonctionnent uniquement avec les points de terminaison d’administration de l’API OpenAI. Stockez la clé dans une variable d’environnement ou dans un gestionnaire de secrets. Ne l’incluez ni dans votre configuration Terraform ni dans votre dépôt de code source.
Configuration du 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 notes de version du fournisseur avant toute mise à niveau.
Définissez votre clé API d’administration dans une variable d’environnement :
export OPENAI_ADMIN_KEY="<your-admin-api-key>"
Par défaut, le fournisseur lit la variable OPENAI_ADMIN_KEY. Vous pouvez aussi définir OPENAI_ORG_ID et OPENAI_PROJECT_ID pour inclure les en-têtes OpenAI-Organization et OpenAI-Project dans les requêtes API. Si ces variables facultatives ne sont pas définies, OpenAI identifie l’organisation et le projet à partir de la clé API. Définissez-les pour indiquer explicitement quelle organisation ou quel projet votre configuration Terraform gère. Consultez la référence de configuration du fournisseur pour connaître tous les arguments disponibles.
Initialisation et application de la configuration
Initialisez le répertoire de travail, puis mettez en forme et validez la configuration :
terraform init
terraform fmt
terraform validate
Terraform télécharge le fournisseur et crée le fichier .terraform.lock.hcl. Enregistrez ce fichier de verrouillage dans un commit de votre dépôt de code source pour que Terraform sélectionne la même version du fournisseur lors des prochaines exécutions. Exécutez terraform init -upgrade pour sélectionner la version la plus récente du fournisseur autorisée par la contrainte.
Examinez les modifications que Terraform prévoit d’apporter :
terraform plan
Le plan devrait indiquer qu’une seule ressource openai_project sera ajoutée. Une fois le plan vérifié, appliquez la configuration :
terraform apply
Confirmez l’application de la configuration lorsque Terraform vous y invite. Terraform crée le projet et affiche son identifiant dans la sortie project_id.
Guides par cas d’usage
| Guide | Objectif |
|---|---|
| Projets et accès | Créer des projets et configurer les accès en fonction des rôles et des 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 | Mettre en cohérence les limites de débit existantes et configurer les alertes de dépenses. |
| Paramètres de contrôle 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 mise en cohérence | Prendre en charge des ressources existantes avec Terraform et détecter les écarts entre leur état réel et leur configuration. |
Pour connaître les arguments de chaque ressource et les formats d’importation, consultez la référence des ressources et des sources de données du fournisseur.