{"id":25072511,"url":"https://github.com/upcloudltd/upcloud-cli","last_synced_at":"2025-12-15T12:04:31.022Z","repository":{"id":37600001,"uuid":"295995198","full_name":"UpCloudLtd/upcloud-cli","owner":"UpCloudLtd","description":"UpCloud command line client (upctl)","archived":false,"fork":false,"pushed_at":"2025-04-11T14:44:26.000Z","size":10359,"stargazers_count":36,"open_issues_count":16,"forks_count":11,"subscribers_count":10,"default_branch":"main","last_synced_at":"2025-04-14T22:02:41.326Z","etag":null,"topics":["cli","cloud","command-line","go","golang","upcloud"],"latest_commit_sha":null,"homepage":"https://upcloudltd.github.io/upcloud-cli/","language":"Go","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/UpCloudLtd.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-09-16T10:06:57.000Z","updated_at":"2025-04-11T11:33:16.000Z","dependencies_parsed_at":"2023-12-07T16:39:58.463Z","dependency_job_id":"0d5a620c-234e-44c7-b68f-f06a25dd1a18","html_url":"https://github.com/UpCloudLtd/upcloud-cli","commit_stats":{"total_commits":750,"total_committers":34,"mean_commits":"22.058823529411764","dds":0.7853333333333333,"last_synced_commit":"0e2660b5ccaad7e492fab597bc410ca6f7af67ea"},"previous_names":["upcloudltd/cli"],"tags_count":52,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UpCloudLtd%2Fupcloud-cli","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UpCloudLtd%2Fupcloud-cli/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UpCloudLtd%2Fupcloud-cli/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UpCloudLtd%2Fupcloud-cli/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/UpCloudLtd","download_url":"https://codeload.github.com/UpCloudLtd/upcloud-cli/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248968737,"owners_count":21191159,"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":["cli","cloud","command-line","go","golang","upcloud"],"created_at":"2025-02-06T22:29:45.733Z","updated_at":"2025-12-15T12:04:31.016Z","avatar_url":"https://github.com/UpCloudLtd.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# UpCloud CLI - upctl\n\n[![upcloud-cli test](https://github.com/UpCloudLtd/upctl/actions/workflows/test.yml/badge.svg)](https://github.com/UpCloudLtd/upctl/actions/workflows/test.yml)\n[![OpenSSF Scorecard](https://api.scorecard.dev/projects/github.com/UpCloudLtd/upcloud-cli/badge)](https://scorecard.dev/viewer/?uri=github.com%2FUpCloudLtd%2Fupcloud-cli)\n\n`upctl` provides a command-line interface to [UpCloud](https://upcloud.com/) services. It allows you\nto control your resources from the command line or any compatible interface.\n\n## Getting started\n\nFor instructions on how to install `upctl`, configure credentials, and run commands, see [Getting started](https://upcloudltd.github.io/upcloud-cli/) instructions in the documentation.\n\n## Exit codes\n\nExit code communicates success or the type and number of failures. Possible exit codes of `upctl` are:\n\nExit code | Description\n--------- | -----------\n0         | Command(s) executed successfully.\n1 - 99    | Number of failed executions. For example, if stopping four servers and API returns error for one of the request, exit code will be 1.\n100 -     | Other, non-execution related, errors. For example, required flag missing.\n\n## Examples\n\nEvery command has a `--help` parameter that can be used to print detailed usage instructions and examples on how to use the command. For example, run `upctl network list --help`, to display usage instructions and examples for `upctl network list` command.\n\nSee [examples](./examples/) directory for examples on more complex use-cases.\n\n## Documentation\n\nThe detailed documentation is available in [GitHub pages](https://upcloudltd.github.io/upcloud-cli/).\n\nTo generate markdown version of command reference, run `make md-docs`. Command reference will then be generated into `docs/commands_reference`.\n\n```sh\nmake md-docs\n```\n\nTo run the MkDocs documentation locally, run make docs and start static http server (e.g., `python3 -m http.server 8000`) in `site/` directory or run mkdocs serve in repository root.\n\n```sh\nmake docs\nmkdocs serve\n```\n\n## Contributing\n\nContributions from the community are much appreciated! Please note that all features using our\nAPI should be implemented with [UpCloud Go API SDK](https://github.com/UpCloudLtd/upcloud-go-api).\nIf something is missing from there, add an issue or PR in that repository instead before implementing it here.\n\n* Check GitHub issues and pull requests before creating new ones\n  * If the issue isn't yet reported, you can [create a new issue](https://github.com/UpCloudLtd/upcloud-cli/issues/new).\n* Besides bug reports, all improvement ideas and feature requests are more than welcome and can be submitted through GitHub issues.\n  * New features and enhancements can be submitted by first forking the repository and then sending your changes back as a pull request.\n* Following [semantic versioning](https://semver.org/), we won't accept breaking changes within the major version (1.x.x, 2.x.x etc).\n  * Such PRs can be open for some time and are only accepted when the next major version is being created.\n\n## Development\n\n* `upctl` uses [UpCloud Go API SDK](https://github.com/UpCloudLtd/upcloud-go-api)\n* `upctl` is built on [Cobra](https://cobra.dev)\n\nYou need a Go version 1.20+ installed on your development machine.\n\nUse `make` to build and test the CLI. Makefile help can be found by running `make help`.\n\n```sh\nmake help\n```\n\n### Debugging\nEnvironment variables `UPCLOUD_DEBUG_API_BASE_URL` and `UPCLOUD_DEBUG_SKIP_CERTIFICATE_VERIFY` can be used for HTTP client debugging purposes. More information can be found in the client's [README](https://github.com/UpCloudLtd/upcloud-go-api/blob/986ca6da9ca85ff51ecacc588215641e2e384cfa/README.md#debugging) file.\n\n### Requirements\n\nThis repository uses [pre-commit](https://pre-commit.com/#install) and [go-critic](https://github.com/go-critic/go-critic)\nfor maintaining code quality. Installing them is not mandatory, but it helps in avoiding the problems you'd\notherwise encounter after opening a pull request as they are run by automated tests for all PRs.\n\n### Development quickstart\n\nTo begin development, first fork the repository to your own account, clone it and begin making changes.\n```bash\ngit clone git@github.com/username/upcloud-cli.git\ncd upcloud-cli\npre-commit install\n```\n\nMake the changes with your favorite editor. Once you're done, create a new branch and push it back to GitHub.\n```bash\ngit checkout -b \u003cbranch-name\u003e\n\u003cadd your changes, \"git status\" helps\u003e\ngit commit -m \"New feature: create a new server in the nearest zone if not specified\"\ngit push --set-upstream \u003cbranch-name\u003e\n```\n\nAfter pushing the new branch, browse to your fork of the repository in GitHub and create a pull request from there.\nOnce the pull request is created, please make changes to your branch based on the comments \u0026 discussion in the PR.\n\n## License\n\n[MIT license](LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fupcloudltd%2Fupcloud-cli","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fupcloudltd%2Fupcloud-cli","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fupcloudltd%2Fupcloud-cli/lists"}