Voici en premier lieu la syntaxe de la commande 'bolt'.
Pour lancer une commande sur un serveur :
# bolt command run date --nodes monserveur --user MonUser
Pour lancer une commande sur une liste de serveurs stockés dans un fichier nom_file :
# bolt command run date --nodes @/tmp/nom_file
Pour lancer une commande sur une liste de machine en utilisant une clé SSH :
# bolt command run date --nodes @/tmp/nodes.cso --user rundeck --no-host-key-check --private-key /home/User031/id_rsa.rundeck
Pour copier un fichier sur un serveur :
# bolt file upload --nodes monserveur --user Monuser /tmp/monfile /tmp/monfile
Uploaded '/tmp/monfile' to 'monserveur:/tmp/monfile'
Successful on 1 node: monserveur
Ran on 1 node in 0.51 seconds
Successful on 1 node: monserveur
Ran on 1 node in 0.51 seconds
# bolt
Usage: bolt <subcommand> <action> [options]
Available subcommands:
bolt command run <command> Run a command remotely
bolt file upload <src> <dest> Upload a local file
bolt script run <script> Upload a local script and run it remotely
bolt task show Show list of available tasks
bolt task show <task> Show documentation for task
bolt task run <task> [params] Run a Puppet task
bolt plan show Show list of available plans
bolt plan show <plan> Show details for plan
bolt plan run <plan> [params] Run a Puppet task plan
bolt puppetfile install Install modules from a Puppetfile into a Boltdir
Run `bolt <subcommand> --help` to view specific examples.
where [options] are:
-n, --nodes NODES Identifies the nodes to target.
Enter a comma-separated list of node URIs or group names.
Or read a node list from an input file '@<file>;' or stdin '-'.
Example: --nodes localhost,node_group,ssh://nix.com:23,winrm://windows.puppet.com
URI format is [protocol://]host[:port]
SSH is the default protocol; may be ssh, winrm, pcp, local
For Windows nodes, specify the winrm:// protocol if it has not be configured
For SSH, port defaults to `22`
For WinRM, port defaults to `5985` or `5986` based on the --[no-]ssl setting
-q, --query QUERY Query PuppetDB to determine the targets
--noop Execute a task that supports it in noop mode
--description DESCRIPTION Description to use for the job
--params PARAMETERS Parameters to a task or plan as json, a json file '@<file>;', or on stdin '-'
Authentication:
-u, --user USER User to authenticate as
-p, --password [PASSWORD] Password to authenticate with. Omit the value to prompt for the password.
--private-key KEY Private ssh key to authenticate with
--[no-]host-key-check Check host keys with SSH
--[no-]ssl Use SSL with WinRM
--[no-]ssl-verify Verify remote host SSL certificate with WinRM
Escalation:
--run-as USER User to run as using privilege escalation
--sudo-password [PASSWORD] Password for privilege escalation. Omit the value to prompt for the password.
Run context:
-c, --concurrency CONCURRENCY Maximum number of simultaneous connections (default: 100)
--compile-concurrency CONCURRENCY
Maximum number of simultaneous manifest block compiles (default: number of cores)
--modulepath MODULES List of directories containing modules, separated by ':'
--boltdir FILEPATH Specify what Boltdir to load config from (default: autodiscovered from current working dir)
--configfile FILEPATH Specify where to load config from (default: ~/.puppetlabs/bolt/bolt.yaml)
--inventoryfile FILEPATH Specify where to load inventory from (default: ~/.puppetlabs/bolt/inventory.yaml)
Transports:
--transport TRANSPORT Specify a default transport: ssh, winrm, pcp, local
--connect-timeout TIMEOUT Connection timeout (defaults vary)
--[no-]tty Request a pseudo TTY on nodes that support it
--tmpdir DIR The directory to upload and execute temporary files on the target
Display:
--format FORMAT Output format to use: human or json
--[no-]color Whether to show output in color
-h, --help Display help
--verbose Display verbose logging
--debug Display debug logging
--trace Display error stack traces
--version Display the version