线性云
此包提供了代理工具,用于提供 Linode 实例,部署 StackScripts,管理 DNS,删除实例,并通过 Linode REST API 创建NodeBalances .
安装
npm install @framers/agentos-ext-cloud-linode
同伴依赖 : @framers/agentos >=0.10.40。 。 。 .
使用量
import { AgentOS } from '@framers/agentos';
const agentos = await AgentOS.create({
extensionManifest: {
packs: [
{
package: '@framers/agentos-ext-cloud-linode',
options: {
token: process.env.LINODE_TOKEN ?? process.env.LINODE_API_TOKEN,
},
},
],
},
});
配置
| 选项 | 秘密编号 | 环境变量 | 需求 | 默认 |
token | linode.token | LINODE_TOKEN,则 LINODE_API_TOKEN | 对 | 空字符串 |
baseUrl | 无 | 无 | 没有 | https://api.linode.com/v4 |
secrets | linode.token | 无 | 没有 | A. 背景情况 secrets空对象 |
符号解析自 options.token,然后是环境变量. options.secrets 优先于上下文 secrets。 。 。 .
| 工具 | 它会做什么 |
linodeCreateInstance | 创建 Linode VPS 实例,其中包含区域、计划、 OS 图像和可选的 SSH 密钥. |
linodeListInstances | 列出有状态的账户实例,IP地址,规格,标记,和页码. |
linodeDeployStackScript | 使用 StackScript 安装新实例, 用于在第一个启动时自动设置 . |
linodeManageDns | 创建 DNS 区域并添加,列表,更新,或删除 DNS 记录. |
linodeDeleteInstance | 永久删除一个实例及其相关的磁盘, IP, 和备份 . |
linodeCreateNodeBalancer | 在同一区域创建带有协议,健康检查和后端节点的节点. |
linodeCreateInstance
| 参数 | 类型 | 需求 | 说明 |
region | 字符串 | 对 | 区域弹丸. |
plan | 字符串 | 对 | 实例类型或计划. |
image | 字符串 | 对 | OS图像ID. |
label | 字符串 | 没有 | 以人类可读标签为例. |
rootPass | 字符串 | 对 | 有长度和复杂度要求的根密码. |
tags | 字符串数组 | 没有 | 组织实例的标记 . |
authorizedKeys | 字符串数组 | 没有 | 授权的SSH公用钥匙. |
backupsEnabled | 布尔 | 没有 | 启用自动备份, 默认 : false。 。 。 . |
privateIp | 布尔 | 没有 | 指定私人IP地址, 默认 : false。 。 。 . |
linodeListInstances
| 参数 | 类型 | 需求 | 说明 |
page | 编号 | 没有 | 页码用于页码. |
pageSize | 编号 | 没有 | 每页结果数. |
linodeDeployStackScript
| 参数 | 类型 | 需求 | 说明 |
stackscriptId | 编号 | 对 | 由Linode Cloud 管理器或API提供的 StackScript ID. |
region | 字符串 | 对 | 区域弹丸. |
plan | 字符串 | 对 | 实例类型或计划. |
image | 字符串 | 对 | OS图像与 StackScript 兼容. |
rootPass | 字符串 | 对 | 实例的根密码 . |
stackscriptData | 对象 | 没有 | StackScript 用户定义的字段为密钥值对; 检查 StackScript 所需的字段 . |
label | 字符串 | 没有 | 以人类可读标签为例. |
tags | 字符串数组 | 没有 | 组织实例的标记 . |
authorizedKeys | 字符串数组 | 没有 | 授权的SSH公用钥匙. |
backupsEnabled | 布尔 | 没有 | 启用自动备份, 默认 : false。 。 。 . |
privateIp | 布尔 | 没有 | 指定私人IP地址, 默认 : false。 。 。 . |
linodeManageDns
| 参数 | 类型 | 需求 | 说明 |
action | 字符串 | 对 | DNS 动作 : createZone, (中文(简体) ), listZones, (中文(简体) ), addRecord, (中文(简体) ), listRecords, (中文(简体) ), updateRecord,或 deleteRecord。 。 。 . |
domain | 字符串 | 没有 | 域名 createZone。 。 。 . |
soaEmail | 字符串 | 没有 | SOA 电子邮件地址, 需要用于 createZone。 。 。 . |
domainId | 编号 | 没有 | 域名区名,为记录操作所需的. |
recordId | 编号 | 没有 | 所需记录身份 updateRecord 财务报告和审定财务报表 deleteRecord。 。 。 . |
recordType | 字符串 | 没有 | DNS 记录类型 : A, (中文(简体) ), AAAA, (中文(简体) ), CNAME, (中文(简体) ), MX, (中文(简体) ), TXT, (中文(简体) ), SRV, (中文(简体) ), NS, (中文(简体) ), CAA,或 PTR; 需要为 addRecord。 。 。 . |
name | 字符串 | 没有 | 记录名或主机名. |
target | 字符串 | 没有 | 记录目标或值,例如IP地址,主机名,或文本值. |
priority | 编号 | 没有 | MX或SRV优先;更低的表示更高优先. |
weight | 编号 | 没有 | SRV重量. |
port | 编号 | 没有 | SRV端口. |
ttlSec | 编号 | 没有 | TTL 以秒计;0使用区默认. |
tag | 字符串 | 没有 | CAA 标签, 例如 issue, (中文(简体) ), issuewild,或 iodef。 。 。 . |
tags | 字符串数组 | 没有 | 域名标记 . |
description | 字符串 | 没有 | 域名区说明. |
linodeDeleteInstance
| 参数 | 类型 | 需求 | 说明 |
instanceId | 编号 | 对 | 要删除的 Linode 实例的数字 ID . |
linodeCreateNodeBalancer
| 参数 | 类型 | 需求 | 说明 |
region | 字符串 | 对 | 区域 sattle; 必须匹配后端实例的区域 . |
label | 字符串 | 没有 | 人可读取的"NodeBalancer"标签. |
clientConnThrottle | 编号 | 没有 | 每个客户端IP每秒最大新TCP连接;0指无限并是计划默认. |
tags | 字符串数组 | 没有 | 组织节点屏蔽器的标记 . |
config | 对象 | 没有 | 初始端口,协议,算法,健康检查,以及后端节点. |
config.port | 编号 | 没有 | 开口听. |
config.protocol | 字符串 | 没有 | http, (中文(简体) ), https,或 tcp; 默认 : http。 。 。 . |
config.algorithm | 字符串 | 没有 | roundrobin, (中文(简体) ), leastconn,或 source; 默认 : roundrobin。 。 。 . |
config.check | 字符串 | 没有 | 健康检查类型 : none, (中文(简体) ), connection, (中文(简体) ), http,或 http_body。 。 。 . |
config.checkInterval | 编号 | 没有 | 健康检查间隔数秒. |
config.checkTimeout | 编号 | 没有 | 健康检查暂停数秒. |
config.checkAttempts | 编号 | 没有 | 标记不健康前的检查失败次数 . |
config.checkPath | 字符串 | 没有 | HTTP健康检查路径. |
config.stickiness | 字符串 | 没有 | 会话粘度 : none, (中文(简体) ), table,或 http_cookie。 。 。 . |
config.nodes | 对象数组 | 没有 | 同一区域的后端 Linode 实例 . |
config.nodes[].address | 字符串 | 是的,在每个节点内 | 后端地址作为私人IP和端口. |
config.nodes[].label | 字符串 | 是的,在每个节点内 | 节点标签. |
config.nodes[].weight | 编号 | 没有 | 负载平衡重量. |
config.nodes[].mode | 字符串 | 没有 | 节点模式 : accept, (中文(简体) ), reject, (中文(简体) ), drain,或 backup。 。 。 . |
页:1
缺少符号时启动失败 。 它通过获取账户信息来验证认证, 如果请求失败则失败 .
实例创建, StackScript 部署, DNS 更改,和 NodeBalancer 创建修改了云资源. 实例删除是不可逆的,并去除相關磁碟,IP和备份.
对于 linodeManageDns中,要求的一栏遵循计划。 执行还要求 domain 财务报告和审定财务报表 soaEmail 页:1 createZone· ; domainId, (中文(简体) ), recordType, (中文(简体) ), name,以及 target 页:1 addRecord· ; domainId 页:1 listRecords; 和 : domainId 与 recordId 页:1 updateRecord 财务报告和审定财务报表 deleteRecord。 。 。 .
许可证
阿帕奇 - 2.0