Complete ansible toolkit with generation and validation capabilities
97
97%
Does it follow best practices?
Impact
Pending
No eval scenarios have been run
Advisory
Suggest reviewing before use
{
"context": "Tests whether the agent uses async/async_status for long-running tasks, includes collection install instructions in comments, uses handlers for service reload, and applies FQCN. Maps to the async, community collection documentation, and handler instructions.",
"type": "weighted_checklist",
"checklist": [
{
"name": "async parameter on migration task",
"description": "The migration task uses `async:` with a value of 3600 or greater (seconds), not blocking synchronously",
"max_score": 15
},
{
"name": "poll: 0 on launch",
"description": "The migration launch task sets `poll: 0` to fire-and-forget",
"max_score": 10
},
{
"name": "async_status polling task",
"description": "A separate task uses `ansible.builtin.async_status` with `until: job_result.finished` and `retries:` to poll until the migration completes",
"max_score": 15
},
{
"name": "Collection install comment",
"description": "The playbook includes a comment (at the top or near the community.postgresql task) showing the `ansible-galaxy collection install community.postgresql` command",
"max_score": 12
},
{
"name": "FQCN modules used",
"description": "All module references use FQCN, including the community.postgresql module",
"max_score": 10
},
{
"name": "All tasks have name field",
"description": "Every task has a `name:` field",
"max_score": 8
},
{
"name": "Service reload via handler",
"description": "The pg_hba.conf update task uses `notify:` to trigger a PostgreSQL reload handler rather than a direct restart task",
"max_score": 12
},
{
"name": "No ignore_errors present",
"description": "The playbook contains no `ignore_errors: true` or `ignore_errors: yes`",
"max_score": 10
},
{
"name": "Boolean true/false syntax",
"description": "All boolean values use `true` or `false`, not `yes` or `no`",
"max_score": 8
}
]
}