Flisk vs Terraform, OpenTofu, Pulumi, CDK and CloudFormation

These provision cloud infrastructure. Flisk runs your app locally and never provisions.

Task Flisk Local dev stack Terraform Provisions infrastructure OpenTofu Open Terraform fork Pulumi Infrastructure in code AWS CDK AWS infrastructure in code CloudFormation AWS templates
Create a project
Different job, closest command.
flisk project
flisk init

A local dev project, not infrastructure

Different job, closest command.
terraform init

Sets up a directory of existing .tf files; no scaffold

Different job, closest command.
tofu init

Sets up a directory of existing .tf files; no scaffold

cdk init app --language=typescript
Validate the config
Different job, closest command.
flisk config verify

Checks generated local files

Different job, closest command.
pulumi preview

No validate command; preview runs the program and changes nothing

cdk synth

Also validates the templates by default

aws cloudformation validate-template --template-body file://template.yaml
Preview changes
Different job, closest command.
flisk up --dry-run

Shows what would start locally

aws cloudformation deploy --stack-name my-stack --template-file template.yaml --no-execute-changeset

Creates a change set and stops without executing it

Apply changes
Different job, closest command.
flisk up

Starts local services, provisions nothing

aws cloudformation deploy --stack-name my-stack --template-file template.yaml
Tear everything down
Different job, closest command.
flisk down

Stops local services

aws cloudformation delete-stack --stack-name my-stack
Read outputs
Different job, closest command.
flisk networks

Local service URLs

Different job, closest command.
cdk deploy --outputs-file outputs.json

Writes outputs after a deploy; no read-only command

aws cloudformation describe-stacks --stack-name my-stack

Outputs are a field of the stack description

List what exists
Different job, closest command.
flisk status

Local services only

Different job, closest command.
cdk list

Lists stacks in the app, not deployed resources

aws cloudformation list-stack-resources --stack-name my-stack
Adopt existing resources
Different job, closest command.
flisk import ./my-app

Reads a docker-compose.yml, not cloud resources

terraform import aws_instance.foo i-abcd1234
tofu import aws_instance.foo i-abcd1234
pulumi import 'aws:iam/user:User' name id
aws cloudformation create-change-set --stack-name my-stack --change-set-name my-import --template-body file://template.yaml --change-set-type IMPORT

Also needs --resources-to-import; then execute the change set

Format the code
Redeploy on file changes
Different job, closest command.
flisk up

Live reload for local services

No equivalent

Not in the CLI command reference