-
Notifications
You must be signed in to change notification settings - Fork 1
Description
Describe the bug
The BindPlane Terraform provider consistently fails with EOF errors when attempting to create resources from within a Kubernetes pod (Atlantis). The same API endpoints work perfectly when tested with curl, indicating an issue with the provider's HTTP client implementation rather than network connectivity or authentication.
To Reproduce
Steps to reproduce the behavior:
- Deploy Terraform with BindPlane provider in a Kubernetes pod (e.g., Atlantis)
- Configure provider with valid credentials pointing to a self-hosted BindPlane instance
- Attempt to create any BindPlane resource (destination, source, or configuration)
- Observe consistent EOF errors (100% failure rate over 20+ attempts)
Expected behavior
Resources should be created successfully. The API is accessible and authentication is valid - confirmed by successful curl requests from the same pod using the same credentials.
Screenshots
Error output:
Error: failed to get destination with name example-destination: Get "https://bindplane.example.com/v1/destinations/example-destination": EOF
Proof that API is accessible - curl with HTTP/2 works:
$ curl -v -u 'admin:' https://bindplane.example.com/v1/destinations/example-destination
- using HTTP/2
< HTTP/2 404
< content-type: application/json; charset=utf-8
{"errors":["resource not found"]}
Curl with HTTP/1.1 also works:
$ curl --http1.1 -v -u 'admin:' https://bindplane.example.com/v1/destinations/example-destination
< HTTP/1.1 404 Not Found
{"errors":["resource not found"]}
Environment:
- OS: Ubuntu 24 (Kubernetes pod)
- Bindplane Terraform Provider Version: 1.7.2
- Terraform Version: 1.11.4
- Platform: Kubernetes pod (Atlantis) in EKS cluster
- BindPlane Server: Self-hosted
Additional context
Debug logs show the error occurs after only 48ms:
2026-02-04T00:37:03.995Z [ERROR] provider.terraform-provider-bindplane_v1.7.2: Response contains error diagnostic: diagnostic_summary="failed to get destination: EOF"
tf_req_duration_ms=48
Stack trace points to:
github.com/observiq/bindplane-op-enterprise/client/bindplane.go:1680
github.com/observiq/terraform-provider-bindplane/client/client.go:159
Network diagnostics from the pod confirm all connectivity works:
- No proxy configured
- DNS resolution successful
- All backend IPs respond correctly
- TLS handshake successful
- Authentication valid