95 lines
2.1 KiB
YAML
95 lines
2.1 KiB
YAML
roles:
|
|
role-name:
|
|
name: ""
|
|
description: ""
|
|
conflicts:
|
|
- another_role
|
|
update_required:
|
|
- another_role
|
|
update_once:
|
|
- another_role
|
|
has_primary: true
|
|
limits:
|
|
min: int OR "<<condition dsl>>"
|
|
overrides:
|
|
- condition: "<<condition dsl>>"
|
|
max: 1
|
|
- condition: "<<condition dsl>>"
|
|
reccomended: 3
|
|
message: ""
|
|
restrictions:
|
|
- condition: "<<condition dsl>>"
|
|
message: ""
|
|
action: "hide"
|
|
fault_tolerance: "2%"
|
|
|
|
task_groups:
|
|
#Stages
|
|
- id: stage_name
|
|
type: stage
|
|
requires: [another_stage]
|
|
#Groups
|
|
- id: task_group_name
|
|
type: group
|
|
role: [role_name]
|
|
requires: [stage_name_requirement]
|
|
required_for: [stage_name_complete_before]
|
|
parameters:
|
|
strategy:
|
|
type: one_by_one
|
|
#OR
|
|
type: parallel
|
|
amount: 6 #Optional concurency limit
|
|
|
|
tasks:
|
|
- id: task_name_puppet
|
|
type: puppet
|
|
role: '*' #optional role to filter task on, used when in a pre or post deployment stage
|
|
groups: [task_group_name]
|
|
required_for: [task_name, stage_name]
|
|
requires: [task_name, task_group_name, stage_name]
|
|
condition: "<<condition dsl>>"
|
|
parameters:
|
|
puppet_manifest: path_to_manifests
|
|
puppet_modules: path_to_modules
|
|
timeout: 3600
|
|
cwd: /
|
|
test_pre:
|
|
cmd: bash style exec of command to run
|
|
test_post:
|
|
cmd: bash style exec of command to run
|
|
|
|
#all have [roles|groups] and requires /// required_for
|
|
- id: task_name_shell
|
|
type: shell
|
|
parameters:
|
|
cmd: bash style exec
|
|
timeout: 180
|
|
retries: 10
|
|
interval: 2
|
|
|
|
- id: task_name_upload_file
|
|
type: upload_file
|
|
role: '*'
|
|
parameters:
|
|
path: /etc/hiera/nodes.yaml
|
|
|
|
- id: task_name_sync
|
|
type: sync
|
|
role: '*'
|
|
parameters:
|
|
src: rsync://{MASTER_IP}:/puppet/version
|
|
dst: /etc/puppet
|
|
timeout: 180
|
|
|
|
- id: task_name_copy_files
|
|
type: copy_files
|
|
role: '*'
|
|
parameters:
|
|
files:
|
|
- src: source_file/{CLUSTER_ID}/
|
|
dst: dest/localtion
|
|
permissions: '0600'
|
|
dir_permissions: '0700'
|
|
|