Complete rewrite of the VirtFusion Terraform provider with full API coverage: - 20 managed resources (server, build, SSH key, user, firewall, IP blocks, etc.) - 30 data sources (hypervisors, packages, servers, IP blocks, self-service, etc.) - New HTTP client with proper error handling, query parameter support, and automatic multipage pagination via GetAllPages (fetches all pages from Laravel-style paginated endpoints and merges into a single response) - Fixed type mismatches against live API: ServerData.Suspended (int→bool), IPBlockData.Type (string→int), PackageData json tags (primaryStorage, etc.), ServerData nested CPU/Settings/Resources structure, HypervisorGroupResources array response - Configurable results-per-page (default 300) on all list data sources - Migrated CI from GitHub Actions to Gitea Actions - Updated goreleaser config, go.mod dependencies, and examples Verified against live VirtFusion instance at cp.vps.ezscale.tech: all data sources return correct data with full pagination support. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
26 lines
350 B
Makefile
26 lines
350 B
Makefile
default: build
|
|
|
|
.PHONY: build
|
|
build:
|
|
go build -v ./...
|
|
|
|
.PHONY: test
|
|
test:
|
|
go test -race -v ./internal/...
|
|
|
|
.PHONY: testacc
|
|
testacc:
|
|
TF_ACC=1 go test ./... -v $(TESTARGS) -timeout 120m
|
|
|
|
.PHONY: lint
|
|
lint:
|
|
golangci-lint run
|
|
|
|
.PHONY: generate
|
|
generate:
|
|
go generate ./...
|
|
|
|
.PHONY: drift-check
|
|
drift-check:
|
|
go run ./scripts/check-endpoint-drift.go
|