§ Documentation
Prerequisites
What you need before using cloudemu
What you need depends on how you run cloudemu. The recommended path for integration — running it as a standalone server or in Docker and pointing your app's SDK at its endpoints — needs neither Go nor a Go SDK; any language works. You only need the items below if you import cloudemu in-process as a Go library (for Go unit tests, or the Portable Go API).
Required for the in-process (Go) path#
These apply when you import cloudemu as a Go library. If you're integrating an existing app, prefer the standalone server or Docker path — start the emulator and override your SDK endpoint — and none of the items below are required.
Go 1.25+#
cloudemu requires Go 1.25.0 or later. Check your version:
go versionIf you need to install or upgrade Go, visit go.dev/dl.
A Go module#
Your project should be using Go modules. If you're starting fresh:
mkdir my-project && cd my-project
go mod init github.com/yourname/my-projectRecommended knowledge#
Go fundamentals#
You should be comfortable with:
- Writing and running Go programs
- Using
context.Contextfor API calls - Go interfaces and structs
- Error handling patterns (
if err != nil) - Go modules and dependency management
Cloud concepts#
While cloudemu handles everything in memory, familiarity with these cloud concepts will help:
- Compute: Virtual machines, instance types, lifecycle states
- Storage: Buckets, objects, keys, content types
- Database: NoSQL key-value stores, partition keys, queries
- Networking: VPCs, subnets, security groups, CIDR blocks
- Monitoring: Metrics, alarms, thresholds
- IAM: Users, roles, policies, permissions
Whichever way you run it, you never need:
- A cloud account (AWS, Azure, or GCP)
- Any real cloud service, network calls out to a provider, or a bill
For the in-process (Go) path specifically, you also don't need Docker or a running server — everything lives inside your process. If you'd rather run cloudemu as a standalone server or in Docker, that path uses a container runtime (or the cloudemu binary) and a local network endpoint by design, and lets you drive it with any SDK or CLI in any language.
Verify your setup#
Run this to confirm Go is ready:
go version # Should show go1.25.0 or later
go env GOPATH # Should show a valid pathOnce confirmed, proceed to Installation.