{"id":13436355,"url":"https://github.com/kbknapp/docli-rs","last_synced_at":"2025-03-18T21:30:22.226Z","repository":{"id":32043432,"uuid":"35614945","full_name":"kbknapp/docli-rs","owner":"kbknapp","description":"Command-line utility for managing DigitalOcean infrastructure","archived":true,"fork":false,"pushed_at":"2016-03-10T21:29:01.000Z","size":466,"stargazers_count":35,"open_issues_count":2,"forks_count":2,"subscribers_count":5,"default_branch":"master","last_synced_at":"2024-10-27T20:19:16.779Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kbknapp.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE-MIT","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-05-14T14:13:00.000Z","updated_at":"2023-11-14T02:00:20.000Z","dependencies_parsed_at":"2022-09-13T08:22:08.716Z","dependency_job_id":null,"html_url":"https://github.com/kbknapp/docli-rs","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kbknapp%2Fdocli-rs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kbknapp%2Fdocli-rs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kbknapp%2Fdocli-rs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kbknapp%2Fdocli-rs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kbknapp","download_url":"https://codeload.github.com/kbknapp/docli-rs/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244310246,"owners_count":20432501,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-07-31T03:00:47.092Z","updated_at":"2025-03-18T21:30:22.221Z","avatar_url":"https://github.com/kbknapp.png","language":"Rust","readme":"# docli-rs (pronounced \"dockly\")\n\n[![Build Status](https://travis-ci.org/kbknapp/docli-rs.svg?branch=master)](https://travis-ci.org/kbknapp/docli-rs) [![GitHub release](https://img.shields.io/github/release/kbknapp/docli-rs.svg)](https://github.com/kbknapp/docli-rs) [![GitHub license](https://img.shields.io/github/license/kbknapp/docli-rs.svg)](https://github.com/kbknapp/docli-rs/) [![Join the chat at https://gitter.im/kbknapp/docli-rs](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/kbknapp/docli-rs?utm_source=badge\u0026utm_medium=badge\u0026utm_campaign=pr-badge\u0026utm_content=badge)\n\nA command-line utility for managing DigitalOcean infrastructure via the [DigitalOcean API v2](https://developers.digitalocean.com/documentation/) \n\n## Disclaimer\nThis utility is in beta - it may do anything up to, and including, eating your laundry. You can check the request being sent to DigitalOcean without actually sending by using the `docli --nosend --verbose \u003ccommand\u003e` (which can be shortened to `docli -nv \u003ccommand\u003e`)\n\n## Installation\n\n### Linux / OSX\n\nIf you are on Arch linux, you can install from the AUR via the `docli-bin` or `docli-git` (`-git` requires a nightly Rust compiler and `git`). \n\n#### Linux or OS X (x86_64) Binaries\n\nDownload the tar.gz, untar, and copy to somewhere in your `$PATH` (if on OS X, replace `linux` with `osx`)\n\n```\n$ wget http://wod.twentyfives.net/bin/docli/docli-0.1.0-beta2-x86_64-linux.tar.gz\n$ tar xvf docli-0.1.0-beta2-x86_64-linux.tar.gz\n$ cp docli-0.1.0-beta2-x86_64-linux/bin/docli ~/.bin\n```\n\nIn the example `~/.bin` is in `$PATH`\n\n### Windows (None yet...)\n\nI have not tried compiling on Windows [yet]. Feel free to clone the repository and attempt to compile with a nightly Rust compiler.\n\n## Compile from source\n\nIf you'd rather compile from source (takes about 2 minutes on a decent machine) use the following:\n\n**Note:** Currently, you must use Rust nightly in order to compile. \n\n```\n$ git clone https://github.com/kbknapp/docli-rs\n$ cd docli-rs\n$ cargo build --release\n$ cp target/release/docli ~/.bin\n```\n\n## Usage\n\nYou can run `docli` from the command line and along with various subcommands to perform actions on your DigitalOcean infrastructure. In order to see what commands are available, run `docli --help` or `docli \u003ccommand\u003e --help`\n\n```\ndocli v0.1.0\nKevin K. \u003ckbknapp@gmail.com\u003e\nA utility for managing DigitalOcean infrastructure\n\nUSAGE:\n    docli [FLAGS] [OPTIONS] [SUBCOMMANDS]\n\nFLAGS:\n    -h, --help       Prints help information\n    -n, --nosend     Does NOT send request over the network (useful with --verbose)\n        --version    Prints version information\n    -v, --verbose    Displays the request being sent to server and JSON reply\n\nOPTIONS:\n    -t, --token \u003ctoken\u003e        Digital Ocean Auth Token (Defaults to contents of DO_AUTH_TOKEN env var if omitted)\n\nSUBCOMMANDS:\n    account     Show account information and actions\n    dns         Manage DNS records on a specific domain\n    domains     Manage domains\n    droplet     Manage a specific droplet\n    droplets    Manage droplets\n    help        Prints this message\n    image       Manage images\n    list        Get information from DigitalOcean about various sections\n    ssh-keys    Manage SSH keys\n```\n\n### DigitalOcean Personal OAuth Token\n\nIn order to use the DigitalOcean v2 API (which is what `docli` uses under the covers, you must generate a Personal Authentication Token. This token can then either be passed to `docli` directly with `--token \u003ctoken\u003e` or you can set a `DO_AUTH_TOKEN` environmental variable before using `docli`. To do so using Linux or OSX, open a terminal and run the following (test with `docli account` which lists your account information):\n\n```\n$ export DO_AUTH_TOKEN=\u003cPASTE YOUR TOKEN HERE\u003e\n$ docli account\n```\n\nPersonal Auth Token's can be Read/Write, or Read Only/Write Only. In order to process destructive API calls (i.e. ones that modify existing information) you *must* have a token with Write priviledges.\n\nTo generate a new Personal Auth Token see the [following DigitalOcean details](https://developers.digitalocean.com/documentation/v2/#authentication)\n\n## Contributing\n\nContributions are always welcome! And there is a multitude of ways in which you can help depending on what you like to do, or are good at. Anything from documentation, code cleanup, issue completion, new features, you name it, even filing issues is contributing and greatly appreciated!\n\n**NOTE:** One of the best ways to help right now is to simply use the utility and report issues!\n\n1. Fork `docli`\n2. Clone your fork (`git clone https://github.com/$YOUR_USERNAME/docli-rs \u0026\u0026 cd docli-rs`)\n3. Create new branch (`git checkout -b new-branch`)\n4. Make your changes, and commit (`git commit -am \"your message\"`)\n * I use a [conventional](https://github.com/ajoslin/conventional-changelog/blob/master/CONVENTIONS.md) changelog format so I can update my changelog using [clog](https://github.com/thoughtram/clog)\n * Format your commit subject line using the following format: `TYPE(COMPONENT): MESSAGE` where `TYPE` is one of the following:\n    - `feat` - A new feature\n    - `imp` - An improvement to an existing feature\n    - `perf` - A performance improvement\n    - `docs` - Changes to documentation only\n    - `tests` - Changes to the testing framework or tests only\n    - `fix` - A bug fix\n    - `refactor` - Code functionality doesn't change, but underlying structure may\n    - `style` - Stylistic changes only, no functionality changes\n    - `wip` - A work in progress commit (Should typically be `git rebase`'ed away)\n    - `chore` - Catch all or things that have to do with the build system, etc\n * The `COMPONENT` is optional, and may be a single file, directory, or logical component. Can be omitted if commit applies globally\n5. `git rebase` into concise commits and remove `--fixup`s (`git rebase -i HEAD~NUM` where `NUM` is number of commits back)\n6. Push your changes back to your fork (`git push origin $your-branch`)\n7. Create a pull request! (You can also create the pull request first, and we'll merge when ready. This a good way to discuss proposed changes.)\n","funding_links":[],"categories":["Applications","Applications written in Rust","应用 Applications","应用"],"sub_categories":["贡献"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkbknapp%2Fdocli-rs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkbknapp%2Fdocli-rs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkbknapp%2Fdocli-rs/lists"}