Provider do Terraform

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.