# @cloudyskysoftware/pulumi-fly-machines 中文文档

规范地址：https://npmcn.com/package/%40cloudyskysoftware/pulumi-fly-machines/

版本：0\.0\.18
npm 元数据更新时间：2026-10-23T15:37:21.114Z
中文译文更新时间：2026-11-10T05:13:21.871Z
软件包许可：Apache-2\.0

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40cloudyskysoftware/pulumi-fly-machines
原文对照：https://npmcn.com/package/%40cloudyskysoftware/pulumi-fly-machines/?lang=original
项目主页：https://cloudysky.software/
源码仓库：https://github.com/cloudy-sky-software/pulumi-fly-machines

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：1.2 MB，443 个文件
- TypeScript 类型：包内自带
- 运行依赖：1 个
- 首次发布：2026-10-12T15:17:34.410Z
- 最新版本发布：2026-10-23T15:37:20.779Z
- 近 30 天下载量：2016（2026-10-10 至 2026-11-08，npm 官方下载统计）
- 已发布版本数：14（近 12 个月 14 个）

## 中文简介

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

## 安装

```sh
npm install @cloudyskysoftware/pulumi-fly-machines
```

也可以使用：`pnpm add @cloudyskysoftware/pulumi-fly-machines`、`yarn add @cloudyskysoftware/pulumi-fly-machines`、`bun add @cloudyskysoftware/pulumi-fly-machines`

## README

# Pulumi 飞行机器本地供应商

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

> 此提供者是使用 [`pulschema`](https://github.com/cloudy-sky-software/pulschema) 财务报告和审定财务报表 [`pulumi-provider-framework`](https://github.com/cloudy-sky-software/pulumi-provider-framework)。 。 。 .

## 软件包 SDK

-   节点:https://www.npmjs.com/package/@cloudyskysoftware/pulumi-fly-机器
-   Python : (中文(简体) ) [https://pypi.org/project/pulumi-fly-mouthers/ 互联网档案馆的存檔,存档日期2013-12-02](https://pypi.org/project/pulumi-fly-machines/)
-   . NET : (中文(简体) ) [https://www.nuget.org/packages/CloudySkySoftware.Pulumi. FlyMachines 互联网档案馆的存檔,存档日期2011-12-21](https://www.nuget.org/packages/CloudySkySoftware.Pulumi.FlyMachines)
-   开始: `import github.com/cloudy-sky-software/pulumi-fly-machines/sdk/go/fly-machines`

## 使用提供者

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

```typescript
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`](https://npmcn.com/package/%40cloudyskysoftware/pulumi-fly-machines/examples/simple) 包括如何使用 `MachinesMetadataKey` 使 API 创建的机器可见 `flyctl`。 。 。 .

### 导入现有资源

导入的ID应满足 `GET` 资源结束点 您正在导入。 路径中所需的ID应该由 `/`。 。 。 . 地点 `GET` 结束点 [OpenAPI 光谱](https://github.com/cloudy-sky-software/pulumi-fly-machines/blob/main/provider/cmd/pulumi-gen-fly-machines/openapi.yml)。 。 。 .

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

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

```bash
# 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` 资源选项.

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

参见"普鲁米" [文档](https://www.pulumi.com/docs/iac/adopting-pulumi/import/) 用于导入 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.  通过运行将承诺与发布版本标记
    
    ```bash
    git tag vX.Y.Z
    git tag sdk/vX.Y.Z
    ```
    
5.  推出标签.
    
    ```bash
    git push --tags
    ```

## 常见问题

### @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 和提交记录判断。

