@cloudyskysoftware/pulumi-fly-machines

中文文档
0.0.18发布于 2026/10/23Apache-2.0TypeScript构建来源已验证近 30 天下载 2016

飞.io 在快速启动的 VM 上运行您的应用程序 。 这个 机器 API 给您低级别控制 Fly Apps, Machines, 卷, IP任务, 秘密等等.

中文使用文档
文档目录4 节
  1. 软件包 SDK
  2. 使用提供者
  3. 导入现有资源
  4. 发布新版本

Pulumi 飞行机器本地供应商

飞.io 在快速启动的 VM 上运行您的应用程序 。 这个 机器 API 给您低级别控制 Fly Apps, Machines, 卷, IP任务, 秘密等等.

此提供者是使用 pulschema 财务报告和审定财务报表 pulumi-provider-framework。 。 。 .

软件包 SDK

使用提供者

你需要一个Fly.io API标志。 跟着飞来 文档 因为创造了一个, 举例来说 fly tokens create org。 。 。 . 然后把信物设为秘密 pulumi config set --secret fly-machines:apiKey <token>。 。 。 . 或者,设置 FLY_MACHINES_APIKEY 环境变量。 供货商把信物当作 Bearer 符号 .

import * as pulumi from "@pulumi/pulumi";
import * as fly from "@cloudyskysoftware/pulumi-fly-machines";

const config = new pulumi.Config();
const orgSlug = config.require("orgSlug");

const app = new fly.apps.v1.App("myapp", {
  name: "my-fly-app",
  orgSlug,
});

const ip = new fly.apps.v1.AppIPAssignment("app-ip", {
  appName: app.name,
  type: "shared_v4",
});

const machine = new fly.apps.v1.Machine(
  "myapp-machine",
  {
    appName: app.name,
    config: {
      image: "flyio/hellofly:latest",
      services: [
        {
          ports: [
            { port: 443, handlers: ["tls", "http"] },
            { port: 80, handlers: ["http"] },
          ],
          protocol: "tcp",
          internalPort: 8080,
        },
      ],
    },
  },
  { dependsOn: ip },
);

export const appUrl = pulumi.interpolate`https://${app.name}.fly.dev`;

见 examples/simple 包括如何使用 MachinesMetadataKey 使 API 创建的机器可见 flyctl。 。 。 .

导入现有资源

导入的ID应满足 GET 资源结束点 您正在导入。 路径中所需的ID应该由 /。 。 。 . 地点 GET 结束点 OpenAPI 光谱。 。 。 .

例如,读取一个机器,OpenAPI spec中的路径是: GET /v1/apps/{app_name}/machines/{machine_id}。 。 。 .

因此 pulumi import 要运行的命令是 :

# The type fly-machines:apps/v1:Machine can be easily found by using your IDEs
# Go To Definition functionality for the resource and looking at the type
# property defined in the custom resource's class definition.
pulumi import fly-machines:apps/v1:Machine {resourceName} /{app_name}/{machine_id}

或者,您也可以使用 import Pulumi资源选项. 运行 pulumi up 将资源导入到您的堆栈状态。 一旦进口, 您应该删除 import 资源选项.

const myMachine = new fly.apps.v1.Machine(
  "myMachine",
  { appName: "my-app", config: { image: "flyio/hellofly:latest" } },
  {
    protect: true,
    import: `/my-app/<machine-id>`,
  },
);

参见"普鲁米" 文档 用于导入 a 资源.

发布新版本

: info: 切换到 main 分支和获取最新消息 git pull origin main && git fetch。检查最后的释放标记是什么 .

  1. 常规发布只应增加补丁版本,除非需要小版本或重大(突破性)版本的通缩.

  2. 更新 CHANGELOG.md 并附上关于本版将包含的内容的说明.

  3. 提交更改日志为 git commit -am "vX.Y.Z" 或类似的东西 推 git push origin main。 。 。 .

  4. 通过运行将承诺与发布版本标记

    git tag vX.Y.Z
    git tag sdk/vX.Y.Z
    
  5. 推出标签.

    git push --tags
    

版本与发布记录

@cloudyskysoftware/pulumi-fly-machines 共发布 14 个版本,首次发布于 2026/10/12;过去 12 个月发布了 14 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
0.0.18latest2026/10/2317 天前
0.0.172026/10/2317 天前
0.0.162026/10/2318 天前
0.0.152026/10/2120 天前
0.0.142026/10/2021 天前
0.0.132026/10/1823 天前

关于 @cloudyskysoftware/pulumi-fly-machines 的常见问题

@cloudyskysoftware/pulumi-fly-machines 是什么?

飞.io 在快速启动的 VM 上运行您的应用程序 。 这个 机器 API 给您低级别控制 Fly Apps, Machines, 卷, IP任务, 秘密等等.

如何安装 @cloudyskysoftware/pulumi-fly-machines?

在项目目录运行 npm install @cloudyskysoftware/pulumi-fly-machines,或使用 pnpm add / yarn add / bun add。

@cloudyskysoftware/pulumi-fly-machines 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@cloudyskysoftware/pulumi-fly-machines 可以商用吗?

@cloudyskysoftware/pulumi-fly-machines 使用 Apache-2.0 许可。宽松许可:允许商业使用、修改和再分发,并附带明确的专利授权;分发时需保留许可与 NOTICE 文件,修改过的文件要注明改动。以上为概括,不构成法律意见,请以许可原文为准。

@cloudyskysoftware/pulumi-fly-machines 的下载量有多少?

根据 npm 官方下载统计,@cloudyskysoftware/pulumi-fly-machines 在 2026/10/10 – 2026/11/08 这 30 天内被下载 2,016 次,日均约 67 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@cloudyskysoftware/pulumi-fly-machines 还在维护吗?

最新版本 0.0.18 发布于 2026/10/23(17 天前);至今共发布 14 个版本,其中过去 12 个月发布了 14 个;首次发布于 2026/10/12。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。