O Terraform Provider Coolify permite que você gerencie recursos do Coolify (servidores, aplicações, bancos de dados, etc.) como código (IaC). Este provedor integra-se à API do Coolify para automatizar o provisionamento e a configuração da sua infraestrutura.
- Linguagem: Go (Golang)
- Framework: Terraform Plugin Framework (hashicorp/terraform-plugin-framework)
- SDK: coolify-sdk-go (SDK customizado para a API do Coolify)
- Gestão de Dependências: Go Modules
- Go instalando (versão recomendada no
.go-version) - Terraform (versão 1.0+)
- Docker e Docker Compose (para testes locais)
-
Clone o repositório:
git clone https://github.com/marconneves/terraform-provider-coolify.git cd terraform-provider-coolify -
Compile o provedor:
go build -o terraform-provider-coolify
-
Configuração para desenvolvimento local: Para testar o provedor localmente sem publicá-lo, você pode usar um arquivo
.terraformrcno seu home directory:provider_installation { dev_overrides { "marconneves/coolify" = "/caminho/para/o/binario/do/provedor" } direct {} }
-
Rodando testes com Docker: O projeto utiliza Docker Compose para subir instâncias locais do Coolify ou bancos de dados para testes de aceitação:
docker compose up -d
Execute os testes:
TF_ACC=1 go test ./... -v
As seguintes variáveis de ambiente são utilizadas para configurar o provedor:
| Variável | Descrição | Obrigatório |
|---|---|---|
COOLIFY_ENDPOINT |
URL da API do Coolify (ex: https://app.coolify.io/api/v1) |
Sim |
COOLIFY_API_TOKEN |
Token de autenticação da API | Sim |
- Faça um Fork do repositório.
- Crie uma branch para sua feature (
git checkout -b feature/nova-feature). - Siga os padrões de código (veja AGENTS.md).
- Certifique-se de que os testes estão passando.
- Abra um Pull Request detalhando as mudanças.
Desenvolvido com ❤️ pela comunidade Coolify.