#digitalocean #digital #ocean #do #command-line-tool #cli

nightly app kbknapp/docli

用于管理DigitalOcean基础设施的命令行工具

4个版本

使用旧Rust 2015

0.1.0-beta22015年6月7日
0.1.0-beta2015年6月5日
0.1.0-alpha22015年6月4日

#7 in #digitalocean

35 星 & 5 关注者

MIT 许可证

145KB
3.5K SLoC

docli-rs (发音为 "dockly")

Build Status GitHub release GitHub license Join the chat at https://gitter.im/kbknapp/docli-rs

一个命令行工具,通过DigitalOcean API v2管理DigitalOcean基础设施

免责声明

此实用工具处于测试阶段 - 它可能做任何事情,包括吃掉你的洗衣物。您可以使用以下命令在不实际发送的情况下检查发送给DigitalOcean的请求:docli --nosend --verbose <command>(可以缩写为 docli -nv <command>

安装

Linux / OSX

如果您使用Arch Linux,可以通过AUR安装 docli-bindocli-git-git 需要夜间Rust编译器和 git)。

Linux或OS X (x86_64) 二进制文件

下载tar.gz文件,解压,并将其复制到您的 $PATH 中(如果在OS X上,将 linux 替换为 osx

$ wget http://wod.twentyfives.net/bin/docli/docli-0.1.0-beta2-x86_64-linux.tar.gz
$ tar xvf docli-0.1.0-beta2-x86_64-linux.tar.gz
$ cp docli-0.1.0-beta2-x86_64-linux/bin/docli ~/.bin

在示例中,~/.bin$PATH

Windows (尚未提供...)

我尚未尝试在Windows上编译[目前]。您可以自由地克隆存储库,并尝试使用夜间Rust编译器进行编译。

从源代码编译

如果您想从源代码编译(在性能良好的机器上大约需要2分钟),请使用以下命令:

注意:目前,您必须使用 Rust 夜间版本才能编译。

$ git clone https://github.com/kbknapp/docli-rs
$ cd docli-rs
$ cargo build --release
$ cp target/release/docli ~/.bin

用法

您可以从命令行运行 docli 并使用各种子命令来对您的 DigitalOcean 基础设施执行操作。要查看可用的命令,请运行 docli --helpdocli <command> --help

docli v0.1.0
Kevin K. <kbknapp@gmail.com>
A utility for managing DigitalOcean infrastructure

USAGE:
    docli [FLAGS] [OPTIONS] [SUBCOMMANDS]

FLAGS:
    -h, --help       Prints help information
    -n, --nosend     Does NOT send request over the network (useful with --verbose)
        --version    Prints version information
    -v, --verbose    Displays the request being sent to server and JSON reply

OPTIONS:
    -t, --token <token>        Digital Ocean Auth Token (Defaults to contents of DO_AUTH_TOKEN env var if omitted)

SUBCOMMANDS:
    account     Show account information and actions
    dns         Manage DNS records on a specific domain
    domains     Manage domains
    droplet     Manage a specific droplet
    droplets    Manage droplets
    help        Prints this message
    image       Manage images
    list        Get information from DigitalOcean about various sections
    ssh-keys    Manage SSH keys

DigitalOcean 个人 OAuth 令牌

为了使用 DigitalOcean v2 API(这是 docli 在幕后使用的,您必须生成一个个人认证令牌。然后,您可以将此令牌直接传递给 docli,使用 --token <token>,或者在使用 docli 之前设置一个 DO_AUTH_TOKEN 环境变量。在 Linux 或 OSX 上,打开终端并运行以下命令(使用 docli account 测试,它会列出您的账户信息)

$ export DO_AUTH_TOKEN=<PASTE YOUR TOKEN HERE>
$ docli account

个人认证令牌可以是读/写,或只读/只写。为了处理会破坏现有信息的 API 调用(即修改现有信息的调用),您必须有一个具有写权限的令牌。

要生成新的个人认证令牌,请参阅 以下 DigitalOcean 详情

贡献

贡献总是受欢迎!根据您喜欢做什么或擅长什么,有无数种方式可以帮助。从文档、代码清理、问题完成、新功能,等等,您想什么,甚至提交问题也是贡献,并且非常受赞赏!

注意:目前最好的帮助方式之一就是简单地使用这个工具并报告问题!

  1. 分叉 docli
  2. 克隆您的分叉(git clone https://github.com/$YOUR_USERNAME/docli-rs && cd docli-rs
  3. 创建新的分支(git checkout -b new-branch
  4. 做出更改,并提交(git commit -am "你的信息"
  • 我使用一个 常规 变更日志格式,这样我就可以使用 clog 更新我的变更日志
  • 使用以下格式格式化提交主题行:TYPE(COMPONENT): MESSAGE 其中 TYPE 是以下之一
    • feat - 一个新功能
    • imp - 对现有功能的改进
    • perf - 性能改进
    • docs - 仅更改文档
    • tests - 仅更改测试框架或测试
    • fix - 一个错误修复
    • refactor - 代码功能不改变,但底层结构可能改变
    • style - 仅包含风格更改,没有功能更改
    • wip - 正在进行中的提交(通常应该使用 git rebase 删除)
    • chore - 包括所有与构建系统有关的事项
  • 组件 COMPONENT 是可选的,可能是一个单个文件、目录或逻辑组件。如果提交应用于全局,则可以省略
  1. git rebase 将提交精简,并删除 --fixupgit rebase -i HEAD~NUM,其中 NUM 是回退的提交数)
  2. 将您的更改推回您的分叉(git push origin $your-branch
  3. 创建一个拉取请求!(您也可以首先创建拉取请求,我们将在准备好时合并。这是讨论提议更改的好方法。)

依赖项

~12MB
~255K SLoC