cdk-factory 0.15.7__tar.gz → 0.15.8__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of cdk-factory might be problematic. Click here for more details.
- {cdk_factory-0.15.7 → cdk_factory-0.15.8}/PKG-INFO +1 -1
- {cdk_factory-0.15.7 → cdk_factory-0.15.8}/pyproject.toml +1 -1
- {cdk_factory-0.15.7 → cdk_factory-0.15.8}/src/cdk_factory/lambdas/edge/ip_gate/handler.py +19 -19
- {cdk_factory-0.15.7 → cdk_factory-0.15.8}/src/cdk_factory/stack_library/websites/static_website_stack.py +12 -0
- cdk_factory-0.15.8/src/cdk_factory/version.py +1 -0
- cdk_factory-0.15.7/src/cdk_factory/version.py +0 -1
- {cdk_factory-0.15.7 → cdk_factory-0.15.8}/.gitignore +0 -0
- {cdk_factory-0.15.7 → cdk_factory-0.15.8}/.windsurfrules +0 -0
- {cdk_factory-0.15.7 → cdk_factory-0.15.8}/LICENSE +0 -0
- {cdk_factory-0.15.7 → cdk_factory-0.15.8}/README.md +0 -0
- {cdk_factory-0.15.7 → cdk_factory-0.15.8}/archive/README.md +0 -0
- {cdk_factory-0.15.7 → cdk_factory-0.15.8}/archive/migrate_to_enhanced_ssm.py +0 -0
- {cdk_factory-0.15.7 → cdk_factory-0.15.8}/examples/json-imports/README.md +0 -0
- {cdk_factory-0.15.7 → cdk_factory-0.15.8}/examples/separate-api-gateway/README.md +0 -0
- {cdk_factory-0.15.7 → cdk_factory-0.15.8}/examples/separate-api-gateway/api-gateway-stack.json +0 -0
- {cdk_factory-0.15.7 → cdk_factory-0.15.8}/examples/separate-api-gateway/config.json +0 -0
- {cdk_factory-0.15.7 → cdk_factory-0.15.8}/examples/separate-api-gateway/lambda-stack.json +0 -0
- {cdk_factory-0.15.7 → cdk_factory-0.15.8}/mypy.ini +0 -0
- {cdk_factory-0.15.7 → cdk_factory-0.15.8}/publish_to_pypi.py +0 -0
- {cdk_factory-0.15.7 → cdk_factory-0.15.8}/publish_to_pypi.sh +0 -0
- {cdk_factory-0.15.7 → cdk_factory-0.15.8}/pysetup.py +0 -0
- {cdk_factory-0.15.7 → cdk_factory-0.15.8}/pysetup.sh +0 -0
- {cdk_factory-0.15.7 → cdk_factory-0.15.8}/requirements.dev.txt +0 -0
- {cdk_factory-0.15.7 → cdk_factory-0.15.8}/requirements.tests.txt +0 -0
- {cdk_factory-0.15.7 → cdk_factory-0.15.8}/requirements.txt +0 -0
- {cdk_factory-0.15.7 → cdk_factory-0.15.8}/run-checks.sh +0 -0
- {cdk_factory-0.15.7 → cdk_factory-0.15.8}/run-tests-clean-venv.sh +0 -0
- {cdk_factory-0.15.7 → cdk_factory-0.15.8}/run-tests.sh +0 -0
- {cdk_factory-0.15.7 → cdk_factory-0.15.8}/scripts/cloudfront-cleanup.sh +0 -0
- {cdk_factory-0.15.7 → cdk_factory-0.15.8}/src/cdk_factory/__init__.py +0 -0
- {cdk_factory-0.15.7 → cdk_factory-0.15.8}/src/cdk_factory/app.py +0 -0
- {cdk_factory-0.15.7 → cdk_factory-0.15.8}/src/cdk_factory/builds/README.md +0 -0
- {cdk_factory-0.15.7 → cdk_factory-0.15.8}/src/cdk_factory/cdk.json +0 -0
- {cdk_factory-0.15.7 → cdk_factory-0.15.8}/src/cdk_factory/cli.py +0 -0
- {cdk_factory-0.15.7 → cdk_factory-0.15.8}/src/cdk_factory/commands/command_loader.py +0 -0
- {cdk_factory-0.15.7 → cdk_factory-0.15.8}/src/cdk_factory/configurations/base_config.py +0 -0
- {cdk_factory-0.15.7 → cdk_factory-0.15.8}/src/cdk_factory/configurations/cdk_config.py +0 -0
- {cdk_factory-0.15.7 → cdk_factory-0.15.8}/src/cdk_factory/configurations/deployment.py +0 -0
- {cdk_factory-0.15.7 → cdk_factory-0.15.8}/src/cdk_factory/configurations/deployment_wave.py +0 -0
- {cdk_factory-0.15.7 → cdk_factory-0.15.8}/src/cdk_factory/configurations/devops.py +0 -0
- {cdk_factory-0.15.7 → cdk_factory-0.15.8}/src/cdk_factory/configurations/enhanced_base_config.py +0 -0
- {cdk_factory-0.15.7 → cdk_factory-0.15.8}/src/cdk_factory/configurations/enhanced_ssm_config.py +0 -0
- {cdk_factory-0.15.7 → cdk_factory-0.15.8}/src/cdk_factory/configurations/management.py +0 -0
- {cdk_factory-0.15.7 → cdk_factory-0.15.8}/src/cdk_factory/configurations/pipeline.py +0 -0
- {cdk_factory-0.15.7 → cdk_factory-0.15.8}/src/cdk_factory/configurations/pipeline_stage.py +0 -0
- {cdk_factory-0.15.7 → cdk_factory-0.15.8}/src/cdk_factory/configurations/resources/_resources.py +0 -0
- {cdk_factory-0.15.7 → cdk_factory-0.15.8}/src/cdk_factory/configurations/resources/api_gateway.py +0 -0
- {cdk_factory-0.15.7 → cdk_factory-0.15.8}/src/cdk_factory/configurations/resources/apigateway_route_config.py +0 -0
- {cdk_factory-0.15.7 → cdk_factory-0.15.8}/src/cdk_factory/configurations/resources/auto_scaling.py +0 -0
- {cdk_factory-0.15.7 → cdk_factory-0.15.8}/src/cdk_factory/configurations/resources/cloudfront.py +0 -0
- {cdk_factory-0.15.7 → cdk_factory-0.15.8}/src/cdk_factory/configurations/resources/cloudwatch_widget.py +0 -0
- {cdk_factory-0.15.7 → cdk_factory-0.15.8}/src/cdk_factory/configurations/resources/code_artifact.py +0 -0
- {cdk_factory-0.15.7 → cdk_factory-0.15.8}/src/cdk_factory/configurations/resources/code_artifact_login.py +0 -0
- {cdk_factory-0.15.7 → cdk_factory-0.15.8}/src/cdk_factory/configurations/resources/code_repository.py +0 -0
- {cdk_factory-0.15.7 → cdk_factory-0.15.8}/src/cdk_factory/configurations/resources/cognito.py +0 -0
- {cdk_factory-0.15.7 → cdk_factory-0.15.8}/src/cdk_factory/configurations/resources/docker.py +0 -0
- {cdk_factory-0.15.7 → cdk_factory-0.15.8}/src/cdk_factory/configurations/resources/dynamodb.py +0 -0
- {cdk_factory-0.15.7 → cdk_factory-0.15.8}/src/cdk_factory/configurations/resources/ecr.py +0 -0
- {cdk_factory-0.15.7 → cdk_factory-0.15.8}/src/cdk_factory/configurations/resources/ecs_service.py +0 -0
- {cdk_factory-0.15.7 → cdk_factory-0.15.8}/src/cdk_factory/configurations/resources/exisiting.py +0 -0
- {cdk_factory-0.15.7 → cdk_factory-0.15.8}/src/cdk_factory/configurations/resources/lambda_edge.py +0 -0
- {cdk_factory-0.15.7 → cdk_factory-0.15.8}/src/cdk_factory/configurations/resources/lambda_function.py +0 -0
- {cdk_factory-0.15.7 → cdk_factory-0.15.8}/src/cdk_factory/configurations/resources/lambda_layers.py +0 -0
- {cdk_factory-0.15.7 → cdk_factory-0.15.8}/src/cdk_factory/configurations/resources/lambda_triggers.py +0 -0
- {cdk_factory-0.15.7 → cdk_factory-0.15.8}/src/cdk_factory/configurations/resources/load_balancer.py +0 -0
- {cdk_factory-0.15.7 → cdk_factory-0.15.8}/src/cdk_factory/configurations/resources/monitoring.py +0 -0
- {cdk_factory-0.15.7 → cdk_factory-0.15.8}/src/cdk_factory/configurations/resources/rds.py +0 -0
- {cdk_factory-0.15.7 → cdk_factory-0.15.8}/src/cdk_factory/configurations/resources/resource_mapping.py +0 -0
- {cdk_factory-0.15.7 → cdk_factory-0.15.8}/src/cdk_factory/configurations/resources/resource_naming.py +0 -0
- {cdk_factory-0.15.7 → cdk_factory-0.15.8}/src/cdk_factory/configurations/resources/resource_types.py +0 -0
- {cdk_factory-0.15.7 → cdk_factory-0.15.8}/src/cdk_factory/configurations/resources/route53.py +0 -0
- {cdk_factory-0.15.7 → cdk_factory-0.15.8}/src/cdk_factory/configurations/resources/route53_hosted_zone.py +0 -0
- {cdk_factory-0.15.7 → cdk_factory-0.15.8}/src/cdk_factory/configurations/resources/rum.py +0 -0
- {cdk_factory-0.15.7 → cdk_factory-0.15.8}/src/cdk_factory/configurations/resources/s3.py +0 -0
- {cdk_factory-0.15.7 → cdk_factory-0.15.8}/src/cdk_factory/configurations/resources/security_group.py +0 -0
- {cdk_factory-0.15.7 → cdk_factory-0.15.8}/src/cdk_factory/configurations/resources/security_group_full_stack.py +0 -0
- {cdk_factory-0.15.7 → cdk_factory-0.15.8}/src/cdk_factory/configurations/resources/sqs.py +0 -0
- {cdk_factory-0.15.7 → cdk_factory-0.15.8}/src/cdk_factory/configurations/resources/vpc.py +0 -0
- {cdk_factory-0.15.7 → cdk_factory-0.15.8}/src/cdk_factory/configurations/stack.py +0 -0
- {cdk_factory-0.15.7 → cdk_factory-0.15.8}/src/cdk_factory/configurations/workload.py +0 -0
- {cdk_factory-0.15.7 → cdk_factory-0.15.8}/src/cdk_factory/constructs/cloudfront/cloudfront_distribution_construct.py +0 -0
- {cdk_factory-0.15.7 → cdk_factory-0.15.8}/src/cdk_factory/constructs/ecr/ecr_construct.py +0 -0
- {cdk_factory-0.15.7 → cdk_factory-0.15.8}/src/cdk_factory/constructs/lambdas/lambda_function_construct.py +0 -0
- {cdk_factory-0.15.7 → cdk_factory-0.15.8}/src/cdk_factory/constructs/lambdas/lambda_function_docker_construct.py +0 -0
- {cdk_factory-0.15.7 → cdk_factory-0.15.8}/src/cdk_factory/constructs/lambdas/lambda_function_role_construct.py +0 -0
- {cdk_factory-0.15.7 → cdk_factory-0.15.8}/src/cdk_factory/constructs/lambdas/policies/policy_docs.py +0 -0
- {cdk_factory-0.15.7 → cdk_factory-0.15.8}/src/cdk_factory/constructs/lambdas/policies/policy_statements.py +0 -0
- {cdk_factory-0.15.7 → cdk_factory-0.15.8}/src/cdk_factory/constructs/s3_buckets/s3_bucket_construct.py +0 -0
- {cdk_factory-0.15.7 → cdk_factory-0.15.8}/src/cdk_factory/constructs/s3_buckets/s3_bucket_replication_destination_construct.py +0 -0
- {cdk_factory-0.15.7 → cdk_factory-0.15.8}/src/cdk_factory/constructs/s3_buckets/s3_bucket_replication_source_construct.py +0 -0
- {cdk_factory-0.15.7 → cdk_factory-0.15.8}/src/cdk_factory/constructs/sqs/policies/sqs_policies.py +0 -0
- {cdk_factory-0.15.7 → cdk_factory-0.15.8}/src/cdk_factory/interfaces/enhanced_ssm_parameter_mixin.py +0 -0
- {cdk_factory-0.15.7 → cdk_factory-0.15.8}/src/cdk_factory/interfaces/istack.py +0 -0
- {cdk_factory-0.15.7 → cdk_factory-0.15.8}/src/cdk_factory/interfaces/live_ssm_resolver.py +0 -0
- {cdk_factory-0.15.7 → cdk_factory-0.15.8}/src/cdk_factory/interfaces/ssm_parameter_mixin.py +0 -0
- {cdk_factory-0.15.7 → cdk_factory-0.15.8}/src/cdk_factory/lambdas/health_handler.py +0 -0
- {cdk_factory-0.15.7 → cdk_factory-0.15.8}/src/cdk_factory/pipeline/path_utils.py +0 -0
- {cdk_factory-0.15.7 → cdk_factory-0.15.8}/src/cdk_factory/pipeline/pipeline_factory.py +0 -0
- {cdk_factory-0.15.7 → cdk_factory-0.15.8}/src/cdk_factory/pipeline/security/policies.py +0 -0
- {cdk_factory-0.15.7 → cdk_factory-0.15.8}/src/cdk_factory/pipeline/security/roles.py +0 -0
- {cdk_factory-0.15.7 → cdk_factory-0.15.8}/src/cdk_factory/pipeline/stage.py +0 -0
- {cdk_factory-0.15.7 → cdk_factory-0.15.8}/src/cdk_factory/stack/istack.py +0 -0
- {cdk_factory-0.15.7 → cdk_factory-0.15.8}/src/cdk_factory/stack/stack_factory.py +0 -0
- {cdk_factory-0.15.7 → cdk_factory-0.15.8}/src/cdk_factory/stack/stack_module_loader.py +0 -0
- {cdk_factory-0.15.7 → cdk_factory-0.15.8}/src/cdk_factory/stack/stack_module_registry.py +0 -0
- {cdk_factory-0.15.7 → cdk_factory-0.15.8}/src/cdk_factory/stack/stack_modules.py +0 -0
- {cdk_factory-0.15.7 → cdk_factory-0.15.8}/src/cdk_factory/stack_library/__init__.py +0 -0
- {cdk_factory-0.15.7 → cdk_factory-0.15.8}/src/cdk_factory/stack_library/api_gateway/api_gateway_stack.py +0 -0
- {cdk_factory-0.15.7 → cdk_factory-0.15.8}/src/cdk_factory/stack_library/auto_scaling/__init__.py +0 -0
- {cdk_factory-0.15.7 → cdk_factory-0.15.8}/src/cdk_factory/stack_library/auto_scaling/auto_scaling_stack.py +0 -0
- {cdk_factory-0.15.7 → cdk_factory-0.15.8}/src/cdk_factory/stack_library/aws_lambdas/lambda_stack.py +0 -0
- {cdk_factory-0.15.7 → cdk_factory-0.15.8}/src/cdk_factory/stack_library/buckets/README.md +0 -0
- {cdk_factory-0.15.7 → cdk_factory-0.15.8}/src/cdk_factory/stack_library/buckets/bucket_stack.py +0 -0
- {cdk_factory-0.15.7 → cdk_factory-0.15.8}/src/cdk_factory/stack_library/cloudfront/__init__.py +0 -0
- {cdk_factory-0.15.7 → cdk_factory-0.15.8}/src/cdk_factory/stack_library/cloudfront/cloudfront_stack.py +0 -0
- {cdk_factory-0.15.7 → cdk_factory-0.15.8}/src/cdk_factory/stack_library/code_artifact/code_artifact_stack.py +0 -0
- {cdk_factory-0.15.7 → cdk_factory-0.15.8}/src/cdk_factory/stack_library/cognito/cognito_stack.py +0 -0
- {cdk_factory-0.15.7 → cdk_factory-0.15.8}/src/cdk_factory/stack_library/dynamodb/dynamodb_stack.py +0 -0
- {cdk_factory-0.15.7 → cdk_factory-0.15.8}/src/cdk_factory/stack_library/ecr/README.md +0 -0
- {cdk_factory-0.15.7 → cdk_factory-0.15.8}/src/cdk_factory/stack_library/ecr/ecr_stack.py +0 -0
- {cdk_factory-0.15.7 → cdk_factory-0.15.8}/src/cdk_factory/stack_library/ecs/__init__.py +0 -0
- {cdk_factory-0.15.7 → cdk_factory-0.15.8}/src/cdk_factory/stack_library/ecs/ecs_service_stack.py +0 -0
- {cdk_factory-0.15.7 → cdk_factory-0.15.8}/src/cdk_factory/stack_library/lambda_edge/__init__.py +0 -0
- {cdk_factory-0.15.7 → cdk_factory-0.15.8}/src/cdk_factory/stack_library/lambda_edge/lambda_edge_stack.py +0 -0
- {cdk_factory-0.15.7 → cdk_factory-0.15.8}/src/cdk_factory/stack_library/load_balancer/__init__.py +0 -0
- {cdk_factory-0.15.7 → cdk_factory-0.15.8}/src/cdk_factory/stack_library/load_balancer/load_balancer_stack.py +0 -0
- {cdk_factory-0.15.7 → cdk_factory-0.15.8}/src/cdk_factory/stack_library/monitoring/__init__.py +0 -0
- {cdk_factory-0.15.7 → cdk_factory-0.15.8}/src/cdk_factory/stack_library/monitoring/monitoring_stack.py +0 -0
- {cdk_factory-0.15.7 → cdk_factory-0.15.8}/src/cdk_factory/stack_library/rds/__init__.py +0 -0
- {cdk_factory-0.15.7 → cdk_factory-0.15.8}/src/cdk_factory/stack_library/rds/rds_stack.py +0 -0
- {cdk_factory-0.15.7 → cdk_factory-0.15.8}/src/cdk_factory/stack_library/route53/__init__.py +0 -0
- {cdk_factory-0.15.7 → cdk_factory-0.15.8}/src/cdk_factory/stack_library/route53/route53_stack.py +0 -0
- {cdk_factory-0.15.7 → cdk_factory-0.15.8}/src/cdk_factory/stack_library/rum/__init__.py +0 -0
- {cdk_factory-0.15.7 → cdk_factory-0.15.8}/src/cdk_factory/stack_library/rum/rum_stack.py +0 -0
- {cdk_factory-0.15.7 → cdk_factory-0.15.8}/src/cdk_factory/stack_library/security_group/__init__.py +0 -0
- {cdk_factory-0.15.7 → cdk_factory-0.15.8}/src/cdk_factory/stack_library/security_group/security_group_full_stack.py +0 -0
- {cdk_factory-0.15.7 → cdk_factory-0.15.8}/src/cdk_factory/stack_library/security_group/security_group_stack.py +0 -0
- {cdk_factory-0.15.7 → cdk_factory-0.15.8}/src/cdk_factory/stack_library/simple_queue_service/sqs_stack.py +0 -0
- {cdk_factory-0.15.7 → cdk_factory-0.15.8}/src/cdk_factory/stack_library/stack_base.py +0 -0
- {cdk_factory-0.15.7 → cdk_factory-0.15.8}/src/cdk_factory/stack_library/vpc/__init__.py +0 -0
- {cdk_factory-0.15.7 → cdk_factory-0.15.8}/src/cdk_factory/stack_library/vpc/vpc_stack.py +0 -0
- {cdk_factory-0.15.7 → cdk_factory-0.15.8}/src/cdk_factory/stages/websites/static_website_stage.py +0 -0
- {cdk_factory-0.15.7 → cdk_factory-0.15.8}/src/cdk_factory/templates/README.md +0 -0
- {cdk_factory-0.15.7 → cdk_factory-0.15.8}/src/cdk_factory/templates/app.py.template +0 -0
- {cdk_factory-0.15.7 → cdk_factory-0.15.8}/src/cdk_factory/templates/cdk.json.template +0 -0
- {cdk_factory-0.15.7 → cdk_factory-0.15.8}/src/cdk_factory/utilities/api_gateway_integration_utility.py +0 -0
- {cdk_factory-0.15.7 → cdk_factory-0.15.8}/src/cdk_factory/utilities/commandline_args.py +0 -0
- {cdk_factory-0.15.7 → cdk_factory-0.15.8}/src/cdk_factory/utilities/configuration_loader.py +0 -0
- {cdk_factory-0.15.7 → cdk_factory-0.15.8}/src/cdk_factory/utilities/docker_utilities.py +0 -0
- {cdk_factory-0.15.7 → cdk_factory-0.15.8}/src/cdk_factory/utilities/environment_services.py +0 -0
- {cdk_factory-0.15.7 → cdk_factory-0.15.8}/src/cdk_factory/utilities/file_operations.py +0 -0
- {cdk_factory-0.15.7 → cdk_factory-0.15.8}/src/cdk_factory/utilities/git_utilities.py +0 -0
- {cdk_factory-0.15.7 → cdk_factory-0.15.8}/src/cdk_factory/utilities/json_loading_utility.py +0 -0
- {cdk_factory-0.15.7 → cdk_factory-0.15.8}/src/cdk_factory/utilities/lambda_function_utilities.py +0 -0
- {cdk_factory-0.15.7 → cdk_factory-0.15.8}/src/cdk_factory/utilities/os_execute.py +0 -0
- {cdk_factory-0.15.7 → cdk_factory-0.15.8}/src/cdk_factory/utils/api_gateway_utilities.py +0 -0
- {cdk_factory-0.15.7 → cdk_factory-0.15.8}/src/cdk_factory/workload/workload_factory.py +0 -0
- {cdk_factory-0.15.7 → cdk_factory-0.15.8}/src/handlers/test/handler.py +0 -0
|
@@ -113,7 +113,7 @@ def lambda_handler(event, context):
|
|
|
113
113
|
Configuration (fetched from SSM Parameter Store):
|
|
114
114
|
- GATE_ENABLED: Whether IP gating is enabled (true/false)
|
|
115
115
|
- ALLOW_CIDRS: Comma-separated list of allowed CIDR ranges
|
|
116
|
-
-
|
|
116
|
+
- DNS_ALIAS: CloudFront domain for backup/lockout page
|
|
117
117
|
|
|
118
118
|
Runtime configuration is bundled in runtime_config.json by CDK.
|
|
119
119
|
SSM parameter paths are auto-generated by CDK as:
|
|
@@ -172,9 +172,9 @@ def lambda_handler(event, context):
|
|
|
172
172
|
print(f"IP gating is disabled (GATE_ENABLED={gate_enabled or 'NONE'})")
|
|
173
173
|
return request
|
|
174
174
|
|
|
175
|
-
# Get allowed CIDRs and
|
|
175
|
+
# Get allowed CIDRs and backup host
|
|
176
176
|
allow_cidrs_str = get_ssm_parameter(f'/{env}/{function_name}/allow-cidrs', 'us-east-1')
|
|
177
|
-
|
|
177
|
+
dns_alias = get_ssm_parameter(f'/{env}/{function_name}/dns-alias', 'us-east-1')
|
|
178
178
|
|
|
179
179
|
# Parse allowed CIDRs (empty string results in empty list)
|
|
180
180
|
allowed_cidrs = [cidr.strip() for cidr in allow_cidrs_str.split(',') if cidr.strip()]
|
|
@@ -188,35 +188,35 @@ def lambda_handler(event, context):
|
|
|
188
188
|
print(f"IP {client_ip} is allowed")
|
|
189
189
|
return request
|
|
190
190
|
|
|
191
|
-
# IP not allowed - either redirect or proxy
|
|
191
|
+
# IP not allowed - either redirect or proxy backup page
|
|
192
192
|
# Check response mode from SSM (default: redirect for backward compatibility)
|
|
193
193
|
response_mode_param = f"/{env}/{function_name}/response-mode"
|
|
194
194
|
response_mode = get_ssm_parameter(response_mode_param, 'us-east-1', default='redirect')
|
|
195
195
|
|
|
196
196
|
if response_mode == 'proxy':
|
|
197
|
-
# Proxy mode: Fetch and return
|
|
198
|
-
print(f"IP {client_ip} is NOT allowed, proxying content from {
|
|
197
|
+
# Proxy mode: Fetch and return backup content (keeps URL the same)
|
|
198
|
+
print(f"IP {client_ip} is NOT allowed, proxying content from {dns_alias}")
|
|
199
199
|
|
|
200
200
|
try:
|
|
201
201
|
import urllib3
|
|
202
202
|
http = urllib3.PoolManager()
|
|
203
203
|
|
|
204
|
-
# Fetch the
|
|
205
|
-
|
|
204
|
+
# Fetch the backup page - always request /index.html
|
|
205
|
+
alias_response = http.request(
|
|
206
206
|
'GET',
|
|
207
|
-
f'https://{
|
|
207
|
+
f'https://{dns_alias}/index.html',
|
|
208
208
|
headers={'User-Agent': 'CloudFront-IP-Gate-Proxy'},
|
|
209
209
|
timeout=3.0
|
|
210
210
|
)
|
|
211
211
|
|
|
212
|
-
# Return the
|
|
212
|
+
# Return the backup content
|
|
213
213
|
response = {
|
|
214
|
-
'status': str(
|
|
215
|
-
'statusDescription': 'OK' if
|
|
214
|
+
'status': str(alias_response.status),
|
|
215
|
+
'statusDescription': 'OK' if alias_response.status == 200 else 'Service Unavailable',
|
|
216
216
|
'headers': {
|
|
217
217
|
'content-type': [{
|
|
218
218
|
'key': 'Content-Type',
|
|
219
|
-
'value':
|
|
219
|
+
'value': alias_response.headers.get('Content-Type', 'text/html')
|
|
220
220
|
}],
|
|
221
221
|
'cache-control': [{
|
|
222
222
|
'key': 'Cache-Control',
|
|
@@ -227,20 +227,20 @@ def lambda_handler(event, context):
|
|
|
227
227
|
'value': 'proxy'
|
|
228
228
|
}]
|
|
229
229
|
},
|
|
230
|
-
'body':
|
|
230
|
+
'body': alias_response.data.decode('utf-8')
|
|
231
231
|
}
|
|
232
232
|
|
|
233
|
-
print(f"Successfully proxied
|
|
233
|
+
print(f"Successfully proxied backup page (status {alias_response.status})")
|
|
234
234
|
return response
|
|
235
235
|
|
|
236
236
|
except Exception as proxy_error:
|
|
237
|
-
print(f"Error proxying
|
|
237
|
+
print(f"Error proxying backup content: {str(proxy_error)}")
|
|
238
238
|
# Fall back to redirect if proxy fails
|
|
239
239
|
print(f"Falling back to redirect mode")
|
|
240
240
|
response_mode = 'redirect'
|
|
241
241
|
|
|
242
|
-
# Redirect mode (default): HTTP 302 redirect to
|
|
243
|
-
print(f"IP {client_ip} is NOT allowed, redirecting to {
|
|
242
|
+
# Redirect mode (default): HTTP 302 redirect to backup site
|
|
243
|
+
print(f"IP {client_ip} is NOT allowed, redirecting to {dns_alias}")
|
|
244
244
|
|
|
245
245
|
response = {
|
|
246
246
|
'status': '302',
|
|
@@ -248,7 +248,7 @@ def lambda_handler(event, context):
|
|
|
248
248
|
'headers': {
|
|
249
249
|
'location': [{
|
|
250
250
|
'key': 'Location',
|
|
251
|
-
'value': f'https://{
|
|
251
|
+
'value': f'https://{dns_alias}'
|
|
252
252
|
}],
|
|
253
253
|
'cache-control': [{
|
|
254
254
|
'key': 'Cache-Control',
|
|
@@ -261,6 +261,18 @@ class StaticWebSiteStack(IStack):
|
|
|
261
261
|
description=f"CloudFront distribution ID for {stack_config.name}",
|
|
262
262
|
)
|
|
263
263
|
|
|
264
|
+
# Export DNS alias (first alias) if configured
|
|
265
|
+
if "dns_alias" in ssm_exports and cloudfront_distribution.aliases:
|
|
266
|
+
# Export the first alias (primary domain)
|
|
267
|
+
primary_alias = cloudfront_distribution.aliases[0] if isinstance(cloudfront_distribution.aliases, list) else cloudfront_distribution.aliases
|
|
268
|
+
self.export_ssm_parameter(
|
|
269
|
+
scope=self,
|
|
270
|
+
id="SsmExportDnsAlias",
|
|
271
|
+
value=primary_alias,
|
|
272
|
+
parameter_name=ssm_exports["dns_alias"],
|
|
273
|
+
description=f"Primary DNS alias for {stack_config.name}",
|
|
274
|
+
)
|
|
275
|
+
|
|
264
276
|
logger.info(f"Exported {len(ssm_exports)} SSM parameters for stack {stack_config.name}")
|
|
265
277
|
|
|
266
278
|
def __get_version_number(self, assets_path: str) -> str:
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = "0.15.8"
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
__version__ = "0.15.7"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{cdk_factory-0.15.7 → cdk_factory-0.15.8}/examples/separate-api-gateway/api-gateway-stack.json
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{cdk_factory-0.15.7 → cdk_factory-0.15.8}/src/cdk_factory/configurations/enhanced_base_config.py
RENAMED
|
File without changes
|
{cdk_factory-0.15.7 → cdk_factory-0.15.8}/src/cdk_factory/configurations/enhanced_ssm_config.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{cdk_factory-0.15.7 → cdk_factory-0.15.8}/src/cdk_factory/configurations/resources/_resources.py
RENAMED
|
File without changes
|
{cdk_factory-0.15.7 → cdk_factory-0.15.8}/src/cdk_factory/configurations/resources/api_gateway.py
RENAMED
|
File without changes
|
|
File without changes
|
{cdk_factory-0.15.7 → cdk_factory-0.15.8}/src/cdk_factory/configurations/resources/auto_scaling.py
RENAMED
|
File without changes
|
{cdk_factory-0.15.7 → cdk_factory-0.15.8}/src/cdk_factory/configurations/resources/cloudfront.py
RENAMED
|
File without changes
|
|
File without changes
|
{cdk_factory-0.15.7 → cdk_factory-0.15.8}/src/cdk_factory/configurations/resources/code_artifact.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{cdk_factory-0.15.7 → cdk_factory-0.15.8}/src/cdk_factory/configurations/resources/cognito.py
RENAMED
|
File without changes
|
{cdk_factory-0.15.7 → cdk_factory-0.15.8}/src/cdk_factory/configurations/resources/docker.py
RENAMED
|
File without changes
|
{cdk_factory-0.15.7 → cdk_factory-0.15.8}/src/cdk_factory/configurations/resources/dynamodb.py
RENAMED
|
File without changes
|
|
File without changes
|
{cdk_factory-0.15.7 → cdk_factory-0.15.8}/src/cdk_factory/configurations/resources/ecs_service.py
RENAMED
|
File without changes
|
{cdk_factory-0.15.7 → cdk_factory-0.15.8}/src/cdk_factory/configurations/resources/exisiting.py
RENAMED
|
File without changes
|
{cdk_factory-0.15.7 → cdk_factory-0.15.8}/src/cdk_factory/configurations/resources/lambda_edge.py
RENAMED
|
File without changes
|
|
File without changes
|
{cdk_factory-0.15.7 → cdk_factory-0.15.8}/src/cdk_factory/configurations/resources/lambda_layers.py
RENAMED
|
File without changes
|
|
File without changes
|
{cdk_factory-0.15.7 → cdk_factory-0.15.8}/src/cdk_factory/configurations/resources/load_balancer.py
RENAMED
|
File without changes
|
{cdk_factory-0.15.7 → cdk_factory-0.15.8}/src/cdk_factory/configurations/resources/monitoring.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{cdk_factory-0.15.7 → cdk_factory-0.15.8}/src/cdk_factory/configurations/resources/resource_types.py
RENAMED
|
File without changes
|
{cdk_factory-0.15.7 → cdk_factory-0.15.8}/src/cdk_factory/configurations/resources/route53.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{cdk_factory-0.15.7 → cdk_factory-0.15.8}/src/cdk_factory/configurations/resources/security_group.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{cdk_factory-0.15.7 → cdk_factory-0.15.8}/src/cdk_factory/constructs/lambdas/policies/policy_docs.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{cdk_factory-0.15.7 → cdk_factory-0.15.8}/src/cdk_factory/constructs/sqs/policies/sqs_policies.py
RENAMED
|
File without changes
|
{cdk_factory-0.15.7 → cdk_factory-0.15.8}/src/cdk_factory/interfaces/enhanced_ssm_parameter_mixin.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{cdk_factory-0.15.7 → cdk_factory-0.15.8}/src/cdk_factory/stack_library/auto_scaling/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{cdk_factory-0.15.7 → cdk_factory-0.15.8}/src/cdk_factory/stack_library/aws_lambdas/lambda_stack.py
RENAMED
|
File without changes
|
|
File without changes
|
{cdk_factory-0.15.7 → cdk_factory-0.15.8}/src/cdk_factory/stack_library/buckets/bucket_stack.py
RENAMED
|
File without changes
|
{cdk_factory-0.15.7 → cdk_factory-0.15.8}/src/cdk_factory/stack_library/cloudfront/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{cdk_factory-0.15.7 → cdk_factory-0.15.8}/src/cdk_factory/stack_library/cognito/cognito_stack.py
RENAMED
|
File without changes
|
{cdk_factory-0.15.7 → cdk_factory-0.15.8}/src/cdk_factory/stack_library/dynamodb/dynamodb_stack.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{cdk_factory-0.15.7 → cdk_factory-0.15.8}/src/cdk_factory/stack_library/ecs/ecs_service_stack.py
RENAMED
|
File without changes
|
{cdk_factory-0.15.7 → cdk_factory-0.15.8}/src/cdk_factory/stack_library/lambda_edge/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{cdk_factory-0.15.7 → cdk_factory-0.15.8}/src/cdk_factory/stack_library/load_balancer/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{cdk_factory-0.15.7 → cdk_factory-0.15.8}/src/cdk_factory/stack_library/monitoring/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{cdk_factory-0.15.7 → cdk_factory-0.15.8}/src/cdk_factory/stack_library/route53/route53_stack.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{cdk_factory-0.15.7 → cdk_factory-0.15.8}/src/cdk_factory/stack_library/security_group/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{cdk_factory-0.15.7 → cdk_factory-0.15.8}/src/cdk_factory/stages/websites/static_website_stage.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{cdk_factory-0.15.7 → cdk_factory-0.15.8}/src/cdk_factory/utilities/lambda_function_utilities.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|