Guide for Cloudify CLI
This guide is a work in progress. In the menawhile, you can refer to the cli reference for more information.
The Cloudify CLI can be used both for managing applications, bootstrapping a manager machine and displaying the status of a running manager.
Managing applications is done via REST calls to the management server. The CLI supports all Cloudify flows, such as creating deployments, executing workflows, retrieving events, etc.
Bootstrapping a manager machine is done with the help of components called Providers, which are extensions of the CLI that are used to interact with specific IaaS providers.
The flow when bootstrapping is the same for all providers:
cfy init -p <provide>command, which will initialize Cloudify for the specific Provider on the current directory. This will create a file named
.cloudify(where context data is stored) as well as Provider-specific configuration files in the current directory.
Alternatively, it’s possible to work with an existing management server, by issuing the command
cfy use -t <management_ip>.
It’s highly recommended to initialize and work with the CLI from a designated folder
A complete command reference page is available here.
TODO (Pypi + package installations)
cfy bootstrap command uses certain parameters. For the time being, those parameters are defined in the provider-specific configuration file (by convention, cloudify-config.yaml).
The configuration is (again, by convention), separated into 2 parts. Provider-specific configuration and Cloudify-specific configuration. Information on each individual configuration parameter is provided below:
resources_prefix An optional prefix to be added to all resources (and private key files) names. It is recommended for the prefix to end with an underscore or a dash. If not provided, no prefix will be added
components_package_urlThe URL for the Cloudify components package. Defaults to the URL for the version which matches the CLI’s version.
core_package_urlThe URL for the Cloudify core package. Defaults to the URL for the version which matches the CLI’s version.
ui_package_urlThe URL for the Cloudify UI package. If provided with an empty string, the UI won’t be installed. Defaults to the URL for the version which matches the CLI’s version.
ubuntu_agent_urlThe URL for the Ubuntu agent package. If provided with an empty string, no package will be downloaded. Defaults to the URL for the version which matches the CLI’s version.
centos_agent_url: The URL for the CentOS agent package. If provided with an empty string, no package will be downloaded. Defaults to the URL for the version which matches the CLI’s version.
windows_agent_urlThe URL for the Windows agent package. If provided with an empty string, no package will be downloaded. Defaults to the URL for the version which matches the CLI’s version.
min_workersCelery autoscale parameter - the minimum number of workers on an agent machine. See Autoscaling (Default:
max_workersCelery autoscale parameter - The maximum number of workers on an agent machine. See Autoscaling (Default:
remote_execution_portThe default port that will be used to run commands on agents (Default:
userThe default user that will be used to connect with agent machines. If not provided, then this will have to be specified in the blueprints in the agent node or type properties.
task_retriesNumber of retries for a failing workflow task. -1 means infinite retries (Default:
retry_intervalMinimum wait time (in seconds) in between workflow task retries (Default:
initial_connectivity_retriesNumber of retries for the initial connectivity check with the management server (Default:
initial_connectivity_retries_intervalWait time (in seconds) in between the initial connectivity retries (Default:
command_retriesNumber of retries for bootstrap commands run via SSH (Default:
retries_intervalWait time (in seconds) in between the command retries (Default:
connection_attemptsNumber of SSH connection attempts (in a single retry) (Default:
socket_timeouttimeout (in seconds) for an SSH connection (Default: