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.