[eos] Wie verwendet man die Umgebungsvariablen EOS_CLIENT_* mit OpenTofu?

  • Ich mache meine ersten Gehversuche mit Terraform/OpenTofu und habe es mit einem Dual-Stack-Debian12-VPS auch hinbekommen, das Beispiel aus der Dokumentation auszuführen. :)

    Dabei habe ich client_id und client_secret direkt in main.tf eingetragen, weil ich es noch nicht geschafft habe, die Werte per Umgebungsvariable zu übergeben.
    Wie ist die genaue Syntax dafür?

    Die folgenden Varianten haben nicht funktioniert:

    Code
    provider "eoscloud" {
      client_id     = "<EOS_CLIENT_ID>"
      client_secret = "<EOS_CLIENT_SECRET>"
    }
    Code
    provider "eoscloud" {
      client_id     = "EOS_CLIENT_ID"
      client_secret = "EOS_CLIENT_SECRET"
    }
    Code
    provider "eoscloud" {
      client_id     = EOS_CLIENT_ID
      client_secret = EOS_CLIENT_SECRET
    }


    In der Doku steht es so, weshalb ich annehmen würde, daß obige Variante 2 die richtige sein sollte.

    Code
    provider "eoscloud" {
      client_id     = "<CLIENT-ID>"     # or EOS_CLIENT_ID
      client_secret = "<CLIENT-SECRET>" # or EOS_CLIENT_SECRET
    }

    Die Umgebungsvariablen habe ich mit export EOS_CLIENT_*=XXX gesetzt und bekomme die Werte auch mit echo angezeigt.
    Für die ersten beiden Varianten erhalte ich die Fehlermeldung resolving realm from token: oauth2: "invalid_client" "Client authentication failed (e.g., unknown client, no client authentication included, or unsupported authentication method)." Für die dritte Variante kommt ein anderer Fehler.

    Was mache ich falsch?

  • Wenn du die Umgebungsvariablen nutzen willst, darfst du die Optionen in der Konfigurationsdatei selbst nicht setzen. So funktioniert das zumindest mit anderen Providern. Lass client_id und client_secret aus deiner Provider Konfiguration mal komplett raus und setze das nur(!) als Umgebungsvariable mittels "export". Das sollte dann funktionieren.