Provider do Terraform
Gerencie apps, variáveis de ambiente e domínios personalizados pelo Terraform com um token de API de leitura e escrita.
O provider lê RAILYARD_TOKEN (um token de API de leitura e escrita em Settings → Team → API tokens) e RAILYARD_API (padrão 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" # opcional; senão usa o primeiro servidor da equipe
}
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"
}
Criar um app não faz o deploy dele: dê push no repositório com o auto-deploy ativado, ou rode railyard deploy. Um app criado desse jeito ainda lê seu repositório (start command, porta, Dockerfile, bancos de dados); configurações que você passar explicitamente têm prioridade. Variáveis seladas mantêm seus valores.
Imports: terraform import railyard_app.web <app id> e terraform import railyard_env_var.x <app id>/<KEY>.
O provider ainda não está no Terraform Registry; faça o build a partir do código-fonte e aponte dev_overrides para o binário.