Freedom251 › Infrastructure Testing Tools
Serverspec

What Serverspec is
Serverspec is an open-source Ruby tool for writing RSpec tests that check server configuration. It examines a server’s actual state by running commands locally or through SSH, WinRM, or the Docker API, without requiring agent software on target machines. Checks can cover packages, services, files, ports, users, Docker containers and images, Windows features, and X.509 certificates and private keys. Tests can use either RSpec `should` or `expect` syntax and work alongside configuration tools such as Puppet, Ansible, CFEngine, Itamae, and Chef. Serverspec’s stated aim is to help refactor infrastructure code. A test suite is intended for one machine or Docker container, so each target needs its own RSpec command. The project documents installation through Bundler or `gem install serverspec`. Its tutorial lists a broad range of operating systems but cautions that some are not fully supported. Serverspec is MIT licensed, maintained by Gosuke Miyashita, and its latest listed release is v2.43.0, dated April 24, 2025.
Who it suits
Serverspec suits infrastructure teams that want to verify configured servers with RSpec, including teams using the listed configuration tools. It may fit projects that need agentless checks across supported operating systems.
What it does well
- Checks state without target-server agents.
- Covers packages, services, files, and certificates.
- Works with both `should` and `expect` syntax.
- Can be used with several configuration tools.
What to know first
- Each target needs a separate RSpec command.
- Some listed operating systems are not fully supported.
- GitHub issues are disabled.
Limits
Each test suite is meant for one machine or Docker container, so a separate RSpec command is advised for each target. The tutorial lists operating systems while noting that not all are fully supported.
Plans
| Plan | Billed and limits | Price |
|---|---|---|
| Serverspec | Open source Ruby gem · no paid plans stated | Free |
As serverspec.org lists them, read 7 Oct 2026. The maker's own page has the final word.
Getting started
- Open https://serverspec.org/ for the project information and tutorial.
- Install the `serverspec` Ruby gem with Bundler or `gem install serverspec`.
- Write checks using RSpec `should` or `expect` syntax.
- Run a separate RSpec command for each machine or Docker container.
Verdict
Serverspec provides agentless server checks through familiar RSpec tests and documents many resource types and configuration-tool pairings. Its per-target execution model and incomplete support for some listed systems are worth considering.
Questions
How much does Serverspec cost?
The listed plan is free, and the project is open source. No paid plans are stated.
Which operating systems does it support?
The tutorial lists AIX, Arch Linux, macOS, Debian, Fedora/Red Hat/CentOS, FreeBSD, Gentoo Linux, NixOS, OpenBSD, openSUSE, Plamo Linux, SmartOS, Solaris, SUSE, Ubuntu, and Windows. It notes that not all are fully supported.
Does Serverspec require software on target servers?
No. The project says target servers do not need agent software installed.
How does Serverspec check a server?
It executes commands locally or through SSH, WinRM, and the Docker API, among other methods.
Who maintains Serverspec, and what is its license?
The project is maintained by Gosuke Miyashita and is MIT licensed.
Can one test suite cover several targets?
A suite is meant for one machine or Docker container. The project advises running a separate RSpec command for each target.
Facts from Serverspec's own pages
- Agentless
- The site says Serverspec does not require agent software to be installed on target servers. · serverspec.org, 7 Oct 2026
- Configuration tools
- The site names Puppet, Ansible, CFEngine, and Itamae as configuration management tools it can be used with. · serverspec.org, 7 Oct 2026
- Execution scope
- The site says a test suite is meant for one machine or Docker container and advises running a separate RSpec command for each target. · serverspec.org, 7 Oct 2026
- How it checks
- It checks servers’ actual state by executing commands locally or through SSH, WinRM, and Docker API, among other methods. · serverspec.org, 7 Oct 2026
- Infrastructure code
- The site describes helping refactor infrastructure code as Serverspec’s true aim. · serverspec.org, 7 Oct 2026
- Installation
- The site documents installing the `serverspec` Ruby gem with Bundler or `gem install serverspec`. · serverspec.org, 7 Oct 2026
- License and latest release
- GitHub identifies the repository as MIT licensed and lists v2.43.0 as its latest release, dated April 24, 2025. · github.com, 7 Oct 2026
- Maintenance
- The project’s GitHub README says it accepts pull requests and disables issues. · github.com, 7 Oct 2026
- Maker
- The official site says the project is maintained by Gosuke Miyashita. · serverspec.org, 7 Oct 2026
- Operating systems
- The tutorial lists AIX, Arch Linux, macOS, Debian, Fedora/Red Hat/CentOS, FreeBSD, Gentoo Linux, NixOS, OpenBSD, openSUSE, Plamo Linux, SmartOS, Solaris, SUSE, Ubuntu, and Windows, while noting that not all are fully supported. · serverspec.org, 7 Oct 2026
- Purpose
- Serverspec lets users write RSpec tests to check that servers are configured correctly. · serverspec.org, 7 Oct 2026
- Resource checks
- Documented resource types include packages, services, files, ports, users, Docker containers and images, Windows features, and X.509 certificates and private keys. · serverspec.org, 7 Oct 2026
- Test syntax
- Serverspec works with both RSpec `should` and `expect` syntax. · serverspec.org, 7 Oct 2026
Where Serverspec stands on Freedom251
- Infrastructure Testing Tools#16 of 28