117 lines
4.8 KiB
JSON
117 lines
4.8 KiB
JSON
{
|
|
"$schema": "internal://schemas/plugin.lock.v1.json",
|
|
"pluginId": "gh:basher83/lunar-claude:plugins/infrastructure/ansible-best-practices",
|
|
"normalized": {
|
|
"repo": null,
|
|
"ref": "refs/tags/v20251128.0",
|
|
"commit": "eef1ea0fdc4539368ef81ddc9ac68389c80a1e57",
|
|
"treeHash": "c9023a71527b9bb43fa99df4eb2c7dc8197daaaa62431b006bcd78599c5390e3",
|
|
"generatedAt": "2025-11-28T10:14:11.921713Z",
|
|
"toolVersion": "publish_plugins.py@0.2.0"
|
|
},
|
|
"origin": {
|
|
"remote": "git@github.com:zhongweili/42plugin-data.git",
|
|
"branch": "master",
|
|
"commit": "aa1497ed0949fd50e99e70d6324a29c5b34f9390",
|
|
"repoRoot": "/Users/zhongweili/projects/openmind/42plugin-data"
|
|
},
|
|
"manifest": {
|
|
"name": "ansible-best-practices",
|
|
"description": "Ansible playbook refactoring, role development, testing, and best practices with Infisical secrets management",
|
|
"version": "1.0.0"
|
|
},
|
|
"content": {
|
|
"files": [
|
|
{
|
|
"path": "README.md",
|
|
"sha256": "e29716e1fad616884a71aebbba2c77c5948663e492bd1c6989993cc06e6f4d66"
|
|
},
|
|
{
|
|
"path": ".claude-plugin/plugin.json",
|
|
"sha256": "3c2b518746bbfbddb923eefef236873a6939cc148b0b41dba91e88a4603dd408"
|
|
},
|
|
{
|
|
"path": "skills/ansible-best-practices/SKILL.md",
|
|
"sha256": "c6c05c8d6e3cbad2f377424d7bb7704895f3742c5ae8c6d20d1d7aa20e96196b"
|
|
},
|
|
{
|
|
"path": "skills/ansible-best-practices/tools/lint-all.sh",
|
|
"sha256": "5efc687e1fdf9cf3ca461f559f083f009d4028ab6c4fb170ee3325238d285b74"
|
|
},
|
|
{
|
|
"path": "skills/ansible-best-practices/tools/check_idempotency.py",
|
|
"sha256": "727d4e35a560d50748f1fea99761a4aa14b9646cbdf978c7ec69ea8d0e73f5ce"
|
|
},
|
|
{
|
|
"path": "skills/ansible-best-practices/patterns/role-structure-standards.md",
|
|
"sha256": "fa04e62bf3d59a2d883afaa19749850ef73abd524bad38f5193b281a382b0ffc"
|
|
},
|
|
{
|
|
"path": "skills/ansible-best-practices/patterns/testing-comprehensive.md",
|
|
"sha256": "f98bf5b1d0ea916beb1ccf66d89504921f4ca2e9bcf7dda7ffaf90cd61fc0877"
|
|
},
|
|
{
|
|
"path": "skills/ansible-best-practices/patterns/variable-management-patterns.md",
|
|
"sha256": "49becbed5312d7294321ce443729ccaf8d609f40b738b15dcc4a4271bb8327d0"
|
|
},
|
|
{
|
|
"path": "skills/ansible-best-practices/patterns/documentation-templates.md",
|
|
"sha256": "1131d281cc706853ad06fa8d099dcac7e3658e30299d35019382d60e688b8bd0"
|
|
},
|
|
{
|
|
"path": "skills/ansible-best-practices/patterns/network-automation.md",
|
|
"sha256": "17fcb8127b7bf96cf5fd3126492c1abf10258c674080acfb3c8af0c5f0565294"
|
|
},
|
|
{
|
|
"path": "skills/ansible-best-practices/patterns/playbook-role-patterns.md",
|
|
"sha256": "0d3bca0260266215405c9e15a7876274b37b1b784a4c79c4c80c78f4215e0c08"
|
|
},
|
|
{
|
|
"path": "skills/ansible-best-practices/patterns/cluster-automation.md",
|
|
"sha256": "a1f56c9d94370c70bf0ee0187f798f5bd1bdb15a3ff7a931a621a939b8313f9d"
|
|
},
|
|
{
|
|
"path": "skills/ansible-best-practices/patterns/error-handling.md",
|
|
"sha256": "736c82e8410ac02ba18c104ef346b9c44e686d060414332db85ba75fe6e1c0d4"
|
|
},
|
|
{
|
|
"path": "skills/ansible-best-practices/patterns/ceph-automation.md",
|
|
"sha256": "89a345ce583d56d0a9bfb54b707c8a074c0bf4dbc0951ecdda77af2f82d72024"
|
|
},
|
|
{
|
|
"path": "skills/ansible-best-practices/patterns/meta-dependencies.md",
|
|
"sha256": "676ab77408753af4c477ffacceed202e00b4f8a3d360c68dc1b4a725096ccfc3"
|
|
},
|
|
{
|
|
"path": "skills/ansible-best-practices/patterns/secrets-management.md",
|
|
"sha256": "484095a5c627fe89964edd3dddd28ef373be993a4276259ad5f2c1e212d05051"
|
|
},
|
|
{
|
|
"path": "skills/ansible-best-practices/patterns/handler-best-practices.md",
|
|
"sha256": "0c58980b793024c84dc1d1573524dd7d04beb97b6ae0127969709f5887317d11"
|
|
},
|
|
{
|
|
"path": "skills/ansible-best-practices/anti-patterns/common-mistakes.md",
|
|
"sha256": "07a257980ddd710c1670f4c286bf3fe6cf5ef95c12e603b2c3566364f144d64b"
|
|
},
|
|
{
|
|
"path": "skills/ansible-best-practices/examples/02-infisical-secrets/docker-deployment.yml",
|
|
"sha256": "56c24f19770ae371717f7fbfbc1b27ad325b871dc852061260d47c8a3a99964c"
|
|
},
|
|
{
|
|
"path": "skills/ansible-best-practices/examples/02-infisical-secrets/README.md",
|
|
"sha256": "c0554e6d3274543cf0b0d29ae4e99465d2f7a3b3dfab01ff9ac14291665823d1"
|
|
},
|
|
{
|
|
"path": "skills/ansible-best-practices/reference/production-repos.md",
|
|
"sha256": "d7c0eaa4cd41a77135f7c29291aa4b380c65af87d33f58a81f9192999de8353c"
|
|
}
|
|
],
|
|
"dirSha256": "c9023a71527b9bb43fa99df4eb2c7dc8197daaaa62431b006bcd78599c5390e3"
|
|
},
|
|
"security": {
|
|
"scannedAt": null,
|
|
"scannerVersion": null,
|
|
"flags": []
|
|
}
|
|
} |