CLI 参考

pikeway keys add

以标签在本机保存一把 API key。

用法

bash
pikeway keys add --label <label> --key pk-... [--json]

说明

把 key 追加到本地配置文件(需要时以 600 权限创建)。第一次添加的 key 会成为当前 key;之后添加的只保存、不激活。切换请用 pikeway keys activate。

  • 不会向网关校验 key。要一步完成保存和校验,请用 pikeway setup --key。
  • 标签不可重复。添加已存在的标签会失败,请先用 pikeway keys remove 删除旧的。
  • key 可在控制台 /console/keys 创建。

参数

--labelstring必填
key 的名称,如 main、ci、agent。
--key, -kpk-…必填
要保存的 key。与全局参数 --key 是同一个参数,因此 -k 也可以。

示例

bash
# first key: saved and activated
pikeway keys add --label main --key pk-AbCdEf0123456789xYz9

# a second key for CI, short alias for --key
pikeway keys add --label ci -k pk-9fQr7s6t5u4v3w2xT2mw

# replace an existing label
pikeway keys remove --label main && pikeway keys add --label main --key pk-...

# read the key from a secret store instead of typing it
pikeway keys add --label agent --key "$(pass show pikeway/agent)"

输出

第一把 key
added main (active)
之后的 key
added ci

--json

json
{ "added": "ci", "active": "main" }

错误与退出码

退出码错误信息触发条件
2missing --label没有传 --label 或没有给值。
2missing --key没有传 --key 或没有给值。
2a key labelled "main" already exists (remove it first)该标签已被占用,不做任何改动。
在命令行里输入 key 会留在 shell 历史记录中。在共享环境里,建议从密钥管理工具设置 PIKEWAY_API_KEY;如果你的 shell 会忽略以空格开头的命令,也可以在命令前加空格。
同样支持全局参数 -j, --json。见 全局参数 与 退出码。