resource-yaml-v13 - describes the Rundeck resource model document Yaml format
The resource
YAML document declares a resource model used by a Rundeck Project to define the set of Nodes that are available.
See http://yaml.org for more information about YAML.
The resource format supports two structures: either a Yaml Sequence of Node definitions, or a Yaml Map of node names with Node definitions as values.
Example:
- somenode: ...
...
- somenode2: ...
OR
somenode:
hostname: ...
...
somenode2:
hostname: ...
In the second case, the nodename
entry is not required.
A Node definition consists of a Map with some required and some optional entries.
Required Entries:
nodename
Name of the node, this must be a unique Identifier across nodes within a project
hostname
Hostname of the node. This can be any IP Address or hostname to address the node. Since hostname is used to make SSH connections, it is possible to overload the value to include port number. (eg, hostname:port).
username
User name to connect to the node via SSH.
Optional Entries:
description
A description of the Node
tags
A literal with comma-separated tag strings, or a Sequence of literals. Tags are used for filtering nodes and often represent server role, environment, class, or group.
osFamily
OS Family
osArch
OS Architecture
osName
OS Name
osVersion
OS Version
editUrl
URL to an external resource model service.
remoteUrl
URL to an external resource model editor service.
Specify any custom attributes about node using a string value.
editUrl
/remoteUrl
see the Rundeck User Manual.Here's a node, Venkman.local, described with several of the required and optional attributes discussed above.
Venkman.local:
description: Rundeck server node
hostname: Venkman.local
nodename: Venkman.local
osArch: x86_64
osFamily: unix
osName: Mac OS X
osVersion: 10.6.6
tags: ''
username: greg
Tags are very useful for node filtering and can be used to describe the role, environment, group, or class to which a node belongs. The Homestar.local example below describes a node that plays the role of a redis server in the production environment.
Homestar.local:
description: The production redis server.
hostname: Homestar.local
nodename: Homestar.local
osArch: x86_64
osFamily: unix
osName: Linux
tags: 'redis_server,production'
username: greg
Here's a node, bartholemew, that specifies some custom attributes (app-port, https-port):
bartholemew:
description: Webapp node
hostname: bartholemew
nodename: bartholemew
tags: 'web,app'
username: greg
app-port: 8080
https-port: 8443
Here is the same two nodes but in the sequence style syntax:
- Homestar.local:
description: The production redis server.
hostname: Homestar.local
nodename: Homestar.local
tags: 'redis_server,production'
username: greg
- bartholemew:
description: Webapp node
hostname: bartholemew
nodename: bartholemew
tags: 'web,app'
username: greg
app-port: 8080
https-port: 8443
The Rundeck source code and all documentation may be downloaded from https://github.com/rundeck/rundeck/.