Puppet Plan: complyadm::validate::images
- Defined in:
- plans/validate/images.pp
Overview
Validates that we have the expected images on all targets based on their role
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
# File 'plans/validate/images.pp', line 8
plan complyadm::validate::images (
Complyadm::Config $config = complyadm::config(),
) {
$results = $config['roles'].reduce({ passed => [], failed => [] }) |$memo, $roles_hash| {
$role_name = $roles_hash[0]
$targets = $roles_hash[1]['targets']
$services = $roles_hash[1]['services']
$images_validation_results = $services.reduce($memo) |$memo, $service_hash| {
$service_name = $service_hash[0]
$image = $service_hash[1]['container']['image']
$inspect_result = complyadm::images::inspect($image, $targets, undef, $config['runtime'])
$failed_targets = $inspect_result.error_set.map() |$result| {
"${result.target.name} : could not find image for container ${service_name}"
} + $memo['failed']
$passed_targets = $inspect_result.ok_set.map() |$result| {
"${result.target.name} : found image ${service_name}"
} + $memo['passed']
(
$memo + {
'passed' => $passed_targets,
'failed' => $failed_targets
}
)
}
(
$memo + {
'passed' => $images_validation_results['passed'],
'failed' => $images_validation_results['failed']
}
)
}
return $results
}
|