Terraform

Last updated: Oct 28, 2026


Rationale

Terraform is the tool that Fluid Attacks uses to write all its infrastructure stack as code.

These are the primary reasons why Fluid Attacks selected it:

  • It is open source.
  • A large community uses it.
  • It uses HCL, a structured configuration language that is very easy to learn.
  • It works with many platforms.
  • It does not use master machines or agents.
  • The code shows the infrastructure that Fluid Attacks wants, and Terraform makes only the changes that are necessary to get it.
  • Terraform records the condition of each part of the infrastructure in a state file. Fluid Attacks keeps the state files in Amazon S3.
  • Developers see the plan of each change before Terraform applies it.
  • It has hundreds of open source providers that give it full flexibility on many platforms.
  • It has thousands of open source modules that make it easier to write infrastructure and prevent repetition.
  • Terraform usually deploys the infrastructure after a short time.

Alternatives

Fluid Attacks examined these alternatives, but it did not select them for these reasons:

  • Ansible: The deployments were too slow.
  • AWS CDK: It works only with AWS.
  • AWS CloudFormation: It works only with AWS.
  • Chef: It uses a master machine and agents, and it changes the servers in place.
  • Pulumi: Its community is smaller than the Terraform community. Thus, it has a smaller number of providers and modules, and less community support.
  • Puppet: It uses a master machine and agents, and it changes the servers in place.
  • SaltStack: It uses a master machine and agents, and it changes the servers in place.

Usage

Fluid Attacks uses it for all the infrastructure parts, for example, databases, DNS records, firewall rules, and computing clusters. These are some of the components that it configures:

  • GitLab Runners
  • Kubernetes
  • Okta / IAM
  • Website

Fluid Attacks does not use Terraform in these components:

On this page