对LocalStack运行Terraform的轻量级包装脚本
项目描述
tflocal
- Terraform与LocalStack
此包提供了tflocal
- 一个小的包装脚本,用于在Terraform上针对LocalStack。
先决条件
- Python 3.x
pip
terraform
工作原理
该脚本使用Terraform覆盖机制并创建一个临时文件localstack_providers_override.tf
来配置AWSprovider
部分的端点。所有服务的端点都被配置为指向LocalStack API(默认为http://localhost:4566
)。
安装
可以通过pip
安装tflocal
命令行界面
pip install terraform-local
配置
以下环境变量可以被配置
DRY_RUN
:在不调用Terraform的情况下生成覆盖文件TF_CMD
:要调用的Terraform命令(默认:terraform
)AWS_ENDPOINT_URL
:目标LocalStack实例的主机名和端口号LOCALSTACK_HOSTNAME
:(已弃用)目标LocalStack实例的主机名EDGE_PORT
:(已弃用)目标LocalStack实例的端口号S3_HOSTNAME
:用于连接LocalStack S3的特殊主机名(默认:s3.localhost.localstack.cloud
)USE_EXEC
:是否使用os.exec
而不是subprocess.Popen
(在I/O问题的情况下尝试使用此选项)<SERVICE>_ENDPOINT
:设置自定义服务端点,例如,COGNITO_IDP_ENDPOINT=http://example.com
AWS_DEFAULT_REGION
:要使用的AWS区域(默认:us-east-1
,如果已安装boto3
,则根据本地凭据确定)CUSTOMIZE_ACCESS_KEY
:启用覆盖静态AWS Access Key ID。以下情况从上到下依次优先级AWS_ACCESS_KEY_ID
环境变量已设置access_key
已设置在Terraform AWS提供程序中AWS_PROFILE
环境变量已设置并配置AWS_DEFAULT_PROFILE
环境变量已设置并配置- 默认配置文件中的凭据已配置
- 回退到默认的
AWS_ACCESS_KEY_ID
模拟值
AWS_ACCESS_KEY_ID
:用于多账户设置的AWS Access Key ID(默认:test
-> 账户ID:000000000000
)SKIP_ALIASES
:允许跳过为指定的别名字段生成AWS提供程序覆盖,例如SKIP_ALIASES=aws_secrets,real_aws
用法
tflocal
命令的用法与terraform
命令相同。有关详细用法,请参阅terraform --help
的man页面。
变更日志
- v0.20.0:修复S3后端选项合并
- v0.19.0:添加
SKIP_ALIASES
配置环境变量 - v0.18.2:修复关于别名字端点名称的警告
- v0.18.1:修复未代理命令的问题
- v0.18.0:添加
DRY_RUN
并修复S3后端入口点 - v0.17.1:添加
packaging
模块以安装要求 - v0.17.0:添加使用新的端点S3后端选项的选项
- v0.16.1:更新Setuptools以排除打包时的测试
- v0.16.0:引入语义版本化和AWS_ENDPOINT_URL变量
- v0.15:更新Terraform AWS提供程序5.22.0的端点覆盖
- v0.14:添加对多账户环境的支持
- v0.13:修复在设置S3_HOSTNAME或LOCALSTACK_HOSTNAME时自动检测S3的
use_s3_path_style
- v0.12:修复Terraform AWS提供程序5.9.0的本地端点覆盖;修复解析为值列表的别名和区域定义
- v0.11:对S3后端配置中的布尔值进行小的修复
- v0.10:添加在本地S3后端中存储状态文件的支持
- v0.9:修复对emrserverless提供程序的不受支持的覆盖
- v0.8:配置opensearch服务的端点
- v0.7:添加对提供程序别名的初始支持
- v0.6:修复默认区域的选择
- v0.5:使AWS区域可配置,将
region
添加到提供程序配置 - v0.4:修复在S3_HOSTNAME=localhost时使用use_s3_path_style;排除
meteringmarketplace
服务端点 - v0.3:修复对-chdir=...的支持以在目标目录中创建提供程序文件
- v0.2:添加指定自定义端点的功能;将INT信号传递给子进程
- v0.1:初始发布
许可证
此软件库根据Apache License,版本2.0发布(见LICENSE
)。
项目详情
关闭
terraform_local-0.20.0.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 2f1c7f82d8cbb9f1595b372f3a2892514a6d33b26d1678a004dec31be9614318 |
|
MD5 | cc5c752770420fa7e7c673d3c481a59a |
|
BLAKE2b-256 | 3fc8e80071e1de6b2c3f9b069ae78cc2c0bfb0688ee4c2467742891ea254bb11 |