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 projectflisk initA local dev project, not infrastructure |
Different job, closest command.
terraform initSets up a directory of existing .tf files; no scaffold |
Different job, closest command.
tofu initSets up a directory of existing .tf files; no scaffold |
pulumi new |
cdk init app --language=typescript |
No equivalent
|
| Validate the config | Different job, closest command.
flisk config verifyChecks generated local files |
terraform validate |
tofu validate |
Different job, closest command.
pulumi previewNo validate command; preview runs the program and changes nothing |
aws cloudformation validate-template --template-body file://template.yaml |
|
| Preview changes | Different job, closest command.
flisk up --dry-runShows what would start locally |
terraform plan |
tofu plan |
pulumi preview |
aws cloudformation deploy --stack-name my-stack --template-file template.yaml --no-execute-changesetCreates a change set and stops without executing it |
|
| Apply changes | Different job, closest command.
flisk upStarts local services, provisions nothing |
terraform apply |
tofu apply |
pulumi up |
cdk deploy |
aws cloudformation deploy --stack-name my-stack --template-file template.yaml |
| Tear everything down | Different job, closest command.
flisk downStops local services |
terraform destroy |
tofu destroy |
pulumi destroy |
cdk destroy |
aws cloudformation delete-stack --stack-name my-stack |
| Read outputs | terraform output |
tofu output |
pulumi stack output |
Different job, closest command.
cdk deploy --outputs-file outputs.jsonWrites outputs after a deploy; no read-only command |
aws cloudformation describe-stacks --stack-name my-stackOutputs are a field of the stack description |
|
| List what exists | Different job, closest command.
flisk statusLocal services only |
terraform state list |
tofu state list |
pulumi stack --show-urns |
Different job, closest command.
cdk listLists 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-appReads 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 IMPORTAlso needs --resources-to-import; then execute the change set |
|
| Format the code | No equivalent
|
terraform fmt |
No equivalent
|
No equivalent
|
No equivalent
|
|
| Redeploy on file changes | Different job, closest command.
flisk upLive reload for local services |
No equivalent
|
No equivalent
|
No equivalent
|
No task matches. Try a shorter search.
- Same job
- Different job: closest command, not a swap
- Blank: no equivalent
- Hover a cell for ↗︎ source and i note. Click a command to copy it.