Go
Go is fully supported by Speedscale. Use this page for Go-specific proxy settings, TLS trust configuration, demo guidance, and the Proxymock local workflow.
- Support matrix: Technology Support
- Shared Proxymock proxy reference: Language Configuration
Demo App
- Public demo: speedscale/outerspace-go
- Stack: Go service with HTTP and gRPC endpoints
- Local run:
go run main.go - Quick validation:
./tests/run_http_tests.sh --recording
This is the canonical public Go demo for the Proxymock quickstart and local replay workflow.
Proxymock
Use this path for the fastest Go first success on a developer workstation.
- 1. Install and initialize Proxymock
brew install speedscale/tap/proxymock proxymock initUse browser sign-in by default. Use `proxymock init --api-key <your key>` only for CI or other headless environments.
- 2. Start recording
git clone https://github.com/speedscale/outerspace-go cd outerspace-go proxymock record -- go run main.goProxymock records the app while it starts the Go service as a child process.
- 3. Generate one real workflow
cd outerspace-go ./tests/run_http_tests.sh --recordingThe HTTP test script drives the requests that become the exported production-style trace.
- 4. Stop the recording, then run with mocks
cd outerspace-go proxymock mock -- go run main.goThe mocked run should no longer need live outbound dependencies.
- 5. Replay the same traffic against a change
cd outerspace-go proxymock replay --test-against http://localhost:8080Use replay as the regression check before shipping Go changes.
TLS Trust
Go usually respects SSL_CERT_FILE. See the shared Language Configuration page for the exact command and any OpenSSL-specific notes.