Bucket über MinIO Terraform Provider erstellen

Last change on 2026-05-06 • Created on 2024-09-23 • ID: ST-507F6

Um einen neuen Bucket über Terraform zu erstellen, wird in diesem Beispiel der aminueza/minio Terraform Provider verwendet.

  1. Terraform installieren

    Bevor du loslegst, stelle sicher, dass Terraform installiert ist und du S3-Zugangsdaten besitzt:

  2. Dateien erstellen

    Erstelle einen neuen Ordner für dein Projekt und ergänze die Dateien minio.tf und terraform.tfvars.

    Du solltest nun eine Ordnerstruktur wie diese haben:

    terraform/
    ├── minio.tf
    └── terraform.tfvars
  3. Terraform-Konfiguration hinzufügen

    Zum Zeitpunkt der Erstellung dieses Artikels ist die neueste Version des Terraform Providers für MinIO 3.33.1. Eine vollständige Liste aller verfügbaren Versionen findest du hier.

    Bearbeite minio.tf mit einem Texteditor deiner Wahl und füge folgenden Inhalt ein:

    Ersetze fsn1 mit deinem bevorzugten Standort.

    terraform {
      required_providers {
        minio = {
          source = "aminueza/minio"
          version = "3.33.1"
        }
      }
    }
    
    variable "access_key" {}
    variable "secret_key" { sensitive = true }
    
    provider "minio" {
      minio_server   = "fsn1.your-objectstorage.com"
      minio_user     = var.access_key
      minio_password = var.secret_key
      minio_region   = "fsn1"
      minio_ssl      = true
    }
    
    resource "minio_s3_bucket" "bucket" {
      bucket_prefix  = "test-bucket-"
      acl            = "private"
      object_locking = false
    }

    Mit dieser Konfiguration wird ein neuer Bucket mit einem zufälligen Namen (test-bucket-...) und der Sichtbarkeit-Einstellung privat erstellt.

    Um Object Locking zu aktivieren, ändere den Wert von object_locking von "false" in "true".

    Eine genaue Dokumentation für den MinIO Terraform Provider findest du in der Terraform-Dokumentation.

  4. Variablen hinzufügen

    Bearbeite terraform.tfvars mit einem Texteditor deiner Wahl und füge folgenden Inhalt ein:

    Ersetze YOUR_ACCESS_KEY und YOUR_SECRET_KEY mit deinem eigenen Keys.

    access_key = "YOUR_ACCESS_KEY"
    secret_key = "YOUR_SECRET_KEY"
  5. Bucket erstellen

Navigiere in den Ordner mit den gerade erstellten Dateien und führe die folgenden Befehle aus, um einen neuen Bucket zu erstellen:

```bash
terraform init
terraform version
```

Um die [MinIO-Version](https://github.com/aminueza/terraform-provider-minio/releases) nach der ersten Initialisierung zu ändern, bearbeite `minio.tf` und führe `terraform init` erneut aus.

```bash
terraform apply
```

In der Hetzner Console sollte der neue Bucket nun ebenfalls angezeigt werden. Um den gerade erstellten Bucket wieder zu entfernen, kannst du im selben Ordner, in dem du gerade terraform apply ausgeführt hast, nun terraform destroy ausführen.

Import

Um ein bestehendes Bucket zu importieren, muss der Name des Buckets als id verwendet werden. Beispiel:

import {
  to = minio_s3_bucket.bucket
  id = "not-a-minecraft-bucket"
}

Nächste Schritte: