Apache Cloudstack Cloudmonkey

Clone this repo:
  1. 23852c7 Fix spelling (#136) by John Bampton · 8 days ago main
  2. 97a284d Fix spelling in `README.md` (#135) by John Bampton · 13 days ago
  3. 860771a update changes.md file (#134) by Boris Stoyanov - a.k.a Bobby · 6 weeks ago 6.3.0
  4. c4ea2b8 Fix #115: cmk ignores the CLI profile arg when loading the cache file (#131) by Nicolas Vazquez · 6 weeks ago
  5. 74698cd Fix autocompletion for API arguments (#133) by Nicolas Vazquez · 6 weeks ago

CloudMonkey Build Statuscloudmonkey

cloudmonkey :cloud::monkey_face: is a command line interface (CLI) for Apache CloudStack. CloudMonkey can be used both as an interactive shell and as a command line tool which simplifies Apache CloudStack configuration and management.

The modern cloudmonkey is a re-written and simplified port in Go and can be used with Apache CloudStack 4.9 and above. The legacy cloudmonkey written in Python can be used with Apache CloudStack 4.0-incubating and above.

For documentation, kindly see the wiki.


For development the pre-requisites are Go 1.11 or latest and a unix-like environment. You can use the following targets for building:

$ make help

  all             Build program binary
  test-bench      Run benchmarks
  test-short      Run only short tests
  test-verbose    Run tests in verbose mode with coverage reporting
  test-race       Run tests with race detector
  check tests     Run tests
  test-xml        Run tests with xUnit output
  test-coverage   Run coverage tests
  debug           Runs a debuggable binary using dlv
  lint            Run golint
  fmt             Run gofmt on all source files

Build and run:

$ make run

Build and run manually:

$ make all
$ ./bin/cmk


You may join the relevant mailing list(s) for cloudmonkey related discussion:

Development Mailing List

Users Mailing List


Discuss issue(s) and feature(s) on CloudStack development mailing list. Report issue(s) on the user mailing list and/or open a Github issue.

  1. Fork the repository on Github
  2. Create a named feature branch (like add_component_x)
  3. Commit your change
  4. Write tests for your change if applicable
  5. Run the tests, ensuring they all pass
  6. Submit a Pull Request using Github


The original cloudmonkey was written in Python and contributed to Apache CloudStack project by Rohit Yadav on 31 Oct 2012 under the Apache License 2.0. The Python-based original CLI is now referred to as the legacy cloudmonkey and can be installed using pip install cloudmonkey.

Starting version 6.0.0, the modern cloudmonkey cmk is a fast and simplified Go-port of the original tool with some backward incompatibilities and reduced feature set. It ships as a standalone 64-bit executable binary for several platforms such as Linux, Mac and Windows.


If cloudmonkey is being upgraded from a version lower than v6.0.0, it must be noted that the cloudmonkey configuration path is changed from ~/.cloudmonkey/config to ~/.cmk/config and a default localcloud profile is created. One would have to hence do an initial setup of basic configuration such apikey/secretkey/username/password/url for the required profile(s) as required


Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the “License”); you may not use this file except in compliance with the License. You may obtain a copy of the License at


Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an “AS IS” BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.