跳转到主要内容

对LocalStack运行Terraform的轻量级包装脚本

项目描述

Build status

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 (18.8 kB 查看哈希值)

上传时间

支持