Terraform-Provider

Terraform-Provider

Verwalte Apps, Umgebungsvariablen und benutzerdefinierte Domains von Terraform aus mit einem Read-Write-API-Token.

Der Provider liest RAILYARD_TOKEN (ein Read-Write-API-Token aus Settings → Team → API tokens) und RAILYARD_API (Standard https://app.railyard.run).

terraform {
  required_providers { railyard = { source = "almokhtarbr/railyard" } }
}

provider "railyard" {}

resource "railyard_app" "web" {
  name    = "shop"
  git_url = "https://github.com/acme/shop"
  git_ref = "main"
  server  = "my-server-hostname" # optional; sonst der erste Server des Teams
}

resource "railyard_env_var" "rails_env" {
  app_id = railyard_app.web.id
  key    = "RAILS_ENV"
  value  = "production"
}

resource "railyard_domain" "www" {
  app_id   = railyard_app.web.id
  hostname = "www.example.com"
}

Das Erstellen einer App deployt sie nicht: pushe ins Repository mit aktiviertem Auto-Deploy oder führe railyard deploy aus. Eine so erstellte App liest weiterhin ihr Repository aus (Start-Befehl, Port, Dockerfile, Datastores); explizit übergebene Einstellungen gewinnen. Sealed Variables behalten ihre Werte.

Imports: terraform import railyard_app.web <app id> und terraform import railyard_env_var.x <app id>/<KEY>.

Der Provider ist noch nicht in der Terraform Registry; baue ihn aus dem Quellcode und richte dev_overrides auf die Binary aus.