Skip to content
cloudemu

§ 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 version

If 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-project

Go fundamentals#

You should be comfortable with:

  • Writing and running Go programs
  • Using context.Context for 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 path

Once confirmed, proceed to Installation.

On this page

On this page