跳到主要内容
CivoCloudManager

在 Mac 上连接 Civo API Key,一次就够。

在 Civo 控制台生成密钥,粘贴一次,之后交给 macOS Keychain 保管。

在 Mac 上用 Civo,第一步都一样:没有 API key,后面什么都做不了。常规做法是走 Civo CLI,密钥会被写进你主目录下的一个明文 JSON 文件,之后自己管。CivoCloudManager 用的是同一把密钥,区别在于它在初始设置阶段就拿 Civo REST API v2 验证一遍,然后存进 macOS Keychain,而不是某个 dotfile。两条路这页都写了,挑顺手的那条。

在 CivoCloudManager 里连接密钥

  1. 01

    点开菜单栏里的盾牌。

    首次启动后,应用会在菜单栏放一个盾牌图标。点开它就进入六步初始设置。不需要注册账号,也没有什么可订阅的,因为应用是直接和 Civo 说话。

  2. 02

    粘贴 API key 并验证。

    密钥填进一个安全输入框。按下 Validate,应用会先拿它去调一次 Civo,通过了才让你继续,所以打错一个字符、或者用了已经重新生成过的旧密钥,会当场失败,而不是等到三屏之后。验证通过会就地确认。

  3. 03

    选择区域。

    应用会从你的账户读取实时的区域列表,每个区域连同所属国家一起显示。选中的区域会成为那些需要指定区域的请求的默认值。单个请求仍然可以显式指向别的区域。

  4. 04

    挑出要管理的防火墙,并给每个设定端口。

    初始设置会按区域列出账户里的防火墙,你勾选希望菜单栏控制的那些。每个防火墙配一个端口,默认是 Kubernetes API server 用的 6443。这一步可以跳过,以后再配。

  5. 05

    按需开启开机自启。

    这会用 SMAppService 注册应用,重启之后菜单栏盾牌还在。如果你用定时防火墙访问,这一项很重要:应用必须在运行、并且能连上 Civo,才能把自己打开的规则关掉。

Civo API key 从哪来

密钥在 Civo 控制台生成,任何客户端都生成不了。登录之后进入账户区域的 Security 版块,直接地址是 dashboard.civo.com/security,你的 API key 都列在那里。Civo 自己的文档也在同一处讲轮换:点密钥旁边的 Regenerate 就会重置,改动立刻生效,之后每一个请求都得用新密钥。把这个值当密码对待,它握着账户的完整权限。如果拿不准手上的密钥还是不是当前那把,与其去排查 401,不如直接重新生成再粘贴一遍。

作为对照:CLI 那条路

官方 Civo CLI 按名字保存密钥。用 civo apikey add <name> <key> 添加一把,用 civo apikey current <name> 切成当前密钥,用 civo apikey list 看手上有哪些。这些连同区域之类的设置一起落在主目录下的 .civo.json 里。路径可以用 CIVO_CONFIG 环境变量或者 --config 参数换掉。CI/CD 和写脚本就该用它,而且有句话得说清楚:多个命名账户之间来回切,CLI 做得比应用好。它唯一没做的事,是给密钥加上文件权限之外的任何保护。

密钥在你 Mac 上的去向

CivoCloudManager 把密钥作为通用密码项写进 macOS Keychain,只有在 Mac 解锁时可读,绝不落到主目录的配置文件里。应用内查看已保存的机密,比如实例密码、数据库密码和 Object Store 的 secret access key,都要先过 LocalAuthentication 的 Touch ID。你的 Civo 密钥只会发往一个主机:api.civo.com,也就是 Civo REST API v2。这条路径上没有发行方的任何服务器,应用也不采集遥测。它运行在 App Sandbox 里,只申请四项权限:沙盒、对外网络客户端、用于导出的用户选择文件读写,以及应用范围书签。有一处需要老实交代:菜单栏要为你当前的地址开防火墙,就得知道你的公网 IP,这个是问一个公共 IP 回显服务拿到的。那个请求不带任何 Civo 凭据。

同一把密钥能到 Kubernetes API,所以 kubectl 可有可无

你的 API key 会从 Civo 取回集群的 kubeconfig,而 Kubernetes 的访问权限实际上就在这份 kubeconfig 里。应用用 Swift 解析它,用 SecItemImport 导入 PEM 证书和私钥,用 SecIdentityCreate 把两者配成一对,再从 URLSession 直接建立客户端证书 mTLS。不用 kubectl,不用 openssl,不启动外部进程。kubeconfig 里的 CA 是这条连接唯一的信任锚,主机不对、CA 不相干或者叶子证书过期,都走不到接受那一步。pod 日志、工作负载、事件和节点指标都从这条连接过来。你也随时可以把 kubeconfig 导出成 .yaml 文件,想用 kubectl 就用。

用这把密钥,不需要先掏钱

菜单栏的防火墙管理永久免费:为当前公网 IP 开关访问、每个防火墙单独配端口、带名字的 IP 预设、15 分钟、30 分钟、一小时或两小时的定时访问,以及批量关闭。完整的资源仪表盘从首次启动起免费用七个自然日,之后需要在 Mac App Store 上一次性购买,支持 Family Sharing。不用银行卡,没有订阅,我们这边也没有账号。需要 macOS 15 或更新版本,Apple silicon 或 Intel 都可以。

关于 Civo API key,大家都在问

Civo API key 在哪里找?
在 Civo 控制台里,账户的 Security 版块,直接地址是 dashboard.civo.com/security。密钥都列在那里,每一把旁边都有 Regenerate 按钮。密钥不在 CLI 里创建,也不在任何第三方应用里创建,那些工具只能消费你在控制台生成好的密钥。
把 Civo API key 存在 Mac 上安全吗?
取决于存在哪里。Civo CLI 会把密钥写进主目录的 .civo.json,那是一个只靠文件权限保护的明文文件。CivoCloudManager 把它作为通用密码项写进 macOS Keychain,只有 Mac 解锁时才可读,而查看其他已保存的机密还要过 Touch ID。无论哪种方式,这把密钥都等于账户的完整权限,所以按密码对待。
轮换或吊销 Civo API key 之后会怎样?
在 Civo 控制台重新生成会立刻生效,所有还拿着旧值的客户端从下一个请求开始就会失败。只需要在一个地方改:把新密钥粘进应用的设置,它会替换 Keychain 里的条目;CLI 那边则是 civo apikey add <name> <key>,再跟一条 civo apikey current <name>。其他都不用动,因为区域、防火墙选择和 IP 预设是分开存的。
可以同时用多个 Civo 账户吗?
在 CivoCloudManager 里不行。应用在 Keychain 里只保存一把 API key,换账户就是换掉这把密钥。这一点 Civo CLI 更强:它能存多把带名字的密钥,用 civo apikey current <name> 来回切。如果你整天在几个账户之间跳,那部分交给 CLI,应用留给你真正盯着的那个账户。
还需要 Civo CLI 吗?
CI/CD、写脚本,以及任何要在无人值守下跑的场景,需要,而且 CLI 就是对的工具。Mac 上的日常工作则不需要。应用调用的是同一套 Civo REST API v2,不经 kubectl 就能用客户端证书 mTLS 连到 Kubernetes API,还覆盖了 CLI 没有的 pod 日志、S3 对象浏览和费用数字。不少人最后是两个一起用。

菜单栏防火墙不花钱。

在 Mac App Store 下载 CivoCloudManager,粘贴一次密钥,之后就能从菜单栏为当前 IP 开关防火墙访问,免费,不需要购买。

在 Mac App Store 下载

需要 macOS 15 (Sequoia) 或更新版本。

返回概览