跳转到主要内容

用于使用LocalStack的Pulumi的轻量级包装脚本

项目描述

LocalStack的Pulumi CLI

免责声明:pulumi-local目前不支持aws-native包。(pulumi/pulumi-aws-native #108

此包提供了pulumilocal命令,这是一个围绕pulumi命令行接口的轻量级包装,用于使用PulumiLocalStack

安装

您可以通过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:当使用overrideseparate策略生成配置文件时使用的堆栈名称。
  • DRY_RUN:仅与CONFIG_STRATEGY=override一起使用,因此创建的临时堆栈配置不会被删除。
  • NON_INTERACTIVE:启动非交互式会话,其中所有用户提示都将自动接受

[!WARNING] 使用DRY_RUNNON_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 (13.2 kB 查看哈希值)

上传时间

支持者

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面