用于使用LocalStack的Pulumi的轻量级包装脚本
项目描述
LocalStack的Pulumi CLI
免责声明:pulumi-local目前不支持aws-native包。(pulumi/pulumi-aws-native #108)
此包提供了pulumilocal
命令,这是一个围绕pulumi
命令行接口的轻量级包装,用于使用Pulumi
与LocalStack。
安装
您可以通过pip
安装pulumilocal
命令
pip install pulumi-local
先决条件
请确保您在本地机器上有一个运行的LocalStack实例。
用法
pulumilocal
命令的用法与pulumi
命令相同。有关详细用法,请参阅pulumi -h
的手册页。
将环境变量添加到本地后端存储状态(可选)
export PULUMI_CONFIG_PASSPHRASE=lsdevtest
export PULUMI_BACKEND_URL=file://`pwd`/myproj
注意:有关其他选项,请参阅关于可用环境变量和本地后端的官方文档。
使用堆栈名称lsdev创建一个新的Pulumi项目
mkdir myproj
pulumilocal new typescript -y -s lsdev --cwd myproj
注意:如果命令在项目目录中运行,则不需要--cwd
开关。
选择并创建lsdev Pulumi堆栈
如果您刚才已经执行了上面的new typescript
命令,则此步骤是不必要的,因为它已经选择了。
pulumilocal stack select -c lsdev --cwd myproj
将堆栈部署到LocalStack
pulumilocal up --cwd myproj
工作原理
当运行任何pulumi部署命令(如pulumilocal ["up", "destroy", "preview", "cancel"]
)时,包装脚本会运行pulumi config
命令,以增强pulumi配置并添加LocalStack AWS配置,然后运行原始pulumi命令。
配置
您可以配置以下环境变量
AWS_ENDPOINT_URL
:目标LocalStack实例的主机名和端口号LOCALSTACK_HOSTNAME
:(已弃用)连接到LocalStack时要使用的目标主机(默认:localhost
)EDGE_PORT
:(已弃用)连接到LocalStack时要使用的目标端口号(默认:4566
)PULUMI_CMD
:系统PATH上的可执行Pulumi命令的名称(默认:pulumi
)CONFIG_STRATEGY
:处理配置合并的策略。如果堆栈配置已经存在,pulumi-local
将提示用户输入。可能的值有overwrite
(默认):pulumi-local将覆盖堆栈的配置,并用与LocalStack通信所需的值替换它。此策略相当于旧行为。override
:从当前堆栈配置生成临时配置文件并覆盖其值,运行此文件后,将删除该文件。文件名称由LS_STACK_NAME
变量生成。separate
:创建一个单独的堆栈,堆栈名称由LS_STACK_NAME
环境变量设置。
[!NOTE] 下一个
pulumi-local
版本将弃用配置不当或缺失的CONFIG_STRATEGY
环境变量导致的默认策略。
LS_STACK_NAME
:当使用override
和separate
策略生成配置文件时使用的堆栈名称。DRY_RUN
:仅与CONFIG_STRATEGY=override
一起使用,因此创建的临时堆栈配置不会被删除。NON_INTERACTIVE
:启动非交互式会话,其中所有用户提示都将自动接受
[!WARNING] 使用
DRY_RUN
和NON_INTERACTIVE
标志一起更改堆栈配置而不进行确认提示。请谨慎使用!
部署到AWS
使用您首选的Pulumi后端。https://www.pulumi.com/docs/concepts/state/#deciding-on-a-state-backend 将上述说明中的pulumilocal
命令更改为pulumi
。
变更日志
- v1.3.0:添加配置合并策略、dry-run和非交互式运行。
- v1.2.2:修复包元数据中的项目URL。
- v1.2.1:添加对AWS_ENDPOINT_URL环境变量的支持。
- v1.2.0:添加动态端点生成和测试。
- v1.1:将README添加到长描述中并更新twine发布。
- v1.0:使用
pulumi config set-all
设置所有AWS提供者配置,而不是直接修改堆栈文件。删除将堆栈名称默认设置为localstack
。添加argparse。删除pyyaml依赖项。删除python2包分类器。 - v0.6:在默认配置中将已弃用的
s3ForcePathStyle
替换为s3UsePathStyle
。 - v0.5:删除已弃用的
mobileanalytics
服务配置以修复无效键错误。 - v0.4:将pulumilocal.bat指向正确的脚本。
- v0.3:添加init命令并默认添加aws:region键。
- v0.2:添加init命令并默认添加aws:region键。
- v0.1:初始发布
许可证
本软件库采用Apache许可证第2.0版发布(请参阅LICENSE
)。
项目详情
pulumi_local-1.3.0.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 440ae5151b037f78540f325251e760a93bd47406338b62f03efb2128833da8af |
|
MD5 | 776b7572d3613d8b5b39ddc46de5b56f |
|
BLAKE2b-256 | ca66c435c31828c6b8c18aaff187e6ebbd0c2cf3bfdfd3f4e0be1cd82ee51905 |