This project aims at providing endpoints matching AWS API's to be able to test Terraform provisioning and create mock environments. It uses Localstack to mock most services, but adds a OAuth server matching Amazon Cognito User Pools Auth API and support for those services :
- ACM
- Cognito-idp
- EC2
- KMS
- Route53
This is based on Localstack default ports configuration.
From this project:
- Cognito-idp and Cognito Auth at http://localhost:4500
- ACM at http://localhost:4501
- KMS at http://localhost:4502
- EC2 at http://localhost:4503
- Route53 at http://localhost:4580
From Localstack:
- API Gateway at http://localhost:4567
- Kinesis at http://localhost:4568
- DynamoDB at http://localhost:4569
- DynamoDB Streams at http://localhost:4570
- Elasticsearch at http://localhost:4571
- S3 at http://localhost:4572
- Firehose at http://localhost:4573
- Lambda at http://localhost:4574
- SNS at http://localhost:4575
- SQS at http://localhost:4576
- Redshift at http://localhost:4577
- ES (Elasticsearch Service) at http://localhost:4578
- SES at http://localhost:4579
- CloudFormation at http://localhost:4581
- CloudWatch at http://localhost:4582
- SSM at http://localhost:4583
- SecretsManager at http://localhost:4584
- StepFunctions at http://localhost:4585
- CloudWatch Logs at http://localhost:4586
- STS at http://localhost:4592
- IAM at http://localhost:4593
docker run --rm -it kronostechnologies/aws-mocks
All the services from this project are started. At the moment this can't be configured.
To configure Localstack services, use the SERVICES
environment variable.
Check Localstack configuration section for more details and other configurations options.
- AddTagsToCertificateRequest
- DescribeCertificateRequest
- ListTagsForCertificateRequest
- RequestCertificateRequest
- AttachLoadBalancerTargetGroupsRequest
- CreateAutoScalingGroupRequest
- CreateLaunchConfigurationRequest
- DescribeAutoScalingGroupsRequest
- DeleteLaunchConfigurationRequest
- DescribeLaunchConfigurationsRequest
- DescribeNotificationConfigurationsRequest
- PutNotificationConfigurationRequest
- CreateResourceServerRequest
- CreateUserPoolClientRequest
- CreateUserPoolDomainRequest
- CreateUserPoolRequest
- DeleteUserPoolRequest
- DescribeResourceServerRequest
- DescribeUserPoolClientRequest
- DescribeUserPoolDomainRequest
- DescribeUserPoolRequest
- GetUserPoolMfaConfigRequest
- SetUserPoolMfaConfigRequest
- UpdateUserPoolClientRequest
- UpdateUserPoolRequest
- Supports only
client_credentials
- AssociateRouteTableRequest
- AttachInternetGatewayRequest
- AuthorizeSecurityGroupEgressRequest
- AuthorizeSecurityGroupIngressRequest
- CreateInternetGatewayRequest
- CreateRouteRequest
- CreateRouteTableRequest
- CreateSecurityGroupRequest
- CreateSubnetRequest
- CreateTagsRequest
- CreateVpcEndpointRequest
- CreateVpcRequest
- DescribeAccountAttributesRequest
- DescribeAvailabilityZonesRequest
- DescribeImagesRequest
- DescribeInstanceAttributeRequest
- DescribeInstanceCreditSpecificationsRequest
- DescribeInstancesRequest
- DescribeInternetGatewaysRequest
- DescribeNetworkAclsRequest
- DescribePrefixListsRequest
- DescribeRouteTablesRequest
- DescribeSecurityGroupsRequest
- DescribeSubnetsRequest
- DescribeTagsRequest
- DescribeVolumesRequest
- DescribeVpcAttributeRequest
- DescribeVpcClassicLinkRequest
- DescribeVpcClassicLinkDnsSupportRequest
- DescribeVpcEndpointsRequest
- DescribeVpcEndpointServicesRequest
- DescribeVpcsRequest
- DisassociateRouteTableRequest
- ModifyInstanceAttributeRequest
- ModifyVpcAttributeRequest
- ModifyVpcEndpointRequest
- RevokeSecurityGroupEgressRequest
- RunInstancesRequest
- TerminateInstancesRequest
- AddTagsRequest
- CreateListenerRequest
- CreateLoadBalancerRequest
- CreateRuleRequest
- CreateTargetGroupRequest
- DescribeListenersRequest
- DescribeLoadBalancerAttributesRequest
- DescribeLoadBalancersRequest
- DescribeRulesRequest
- DescribeTargetGroupAttributesRequest
- DescribeTagsRequest
- DescribeTargetGroupsRequest
- ModifyLoadBalancerAttributesRequest
- ModifyTargetGroupAttributesRequest
- ModifyTargetGroupRequest
- SetSecurityGroupsRequest
- CreateCapacityProviderRequest
- CreateClusterRequest
- CreateService
- DeleteServiceRequest
- DeregisterTaskDefinitionRequest
- DescribeCapacityProvidersRequest
- DescribeClustersRequest
- DescribeServicesRequest
- DescribeTaskDefinitionRequest
- RegisterTaskDefinitionRequest
- UpdateServiceRequest
- CreateAliasRequest
- CreateKeyRequest
- DeleteAliasRequest
- DescribeKeyRequest
- EncryptRequest
- GetKeyPolicyRequest
- GetKeyRotationStatusRequest
- ListAliasesRequest
- ListResourceTagsRequest
- TagResourceRequest
- UpdateKeyDescriptionRequest
- AssociateVPCWithHostedZoneRequest
- ChangeResourceRecordSetsRequest
- ChangeTagsForResourceRequest
- CreateHostedZoneRequest
- CreateReusableDelegationSetRequest
- DisassociateVPCFromHostedZoneRequestRequest
- GetHostedZoneRequest
- GetReusableDelegationSetRequest
- ListHostedZonesRequest
- ListResourceRecordSetsRequest
- ListTagsForResourceRequest
- UpdateHostedZoneCommentRequest
make build_image
All the Terraform config is in the test resources folder
- Run either the Docker image or the app locally using your IDE
make test_infra