diff options
Diffstat (limited to 'ansible_collections/sensu')
75 files changed, 2964 insertions, 1149 deletions
diff --git a/ansible_collections/sensu/sensu_go/FILES.json b/ansible_collections/sensu/sensu_go/FILES.json index 953d4bec5..2e379257b 100644 --- a/ansible_collections/sensu/sensu_go/FILES.json +++ b/ansible_collections/sensu/sensu_go/FILES.json @@ -8,31 +8,52 @@ "format": 1 }, { - "name": ".circleci", + "name": "COPYING", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "0ae0485a5bd37a63e63603596417e4eb0e653334fa6c7f932ca3a0e85d4af227", + "format": 1 + }, + { + "name": "meta", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": ".circleci/config.yml", + "name": "meta/runtime.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "5374567ce315af2036683dfb61c105ae52e9242145eeef5a8e7fce24f5866c93", + "chksum_sha256": "f47c409467a06433e256cd5f49da832888d307258672da9c7da11fe01d9d36e9", "format": 1 }, { - "name": ".flake8", + "name": "meta/execution-environment.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "1d14da49e3dc70a10ecb9132d3bc0c1a54e5dac2f28b9e712924e6b33033cfb4", + "chksum_sha256": "65a3aa1ded18aca17b56c630b9b7a48abdb972f17e67125695f0f048daa94b06", "format": 1 }, { - "name": ".gitattributes", + "name": "CODE_OF_CONDUCT.md", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "eda83702f1ee1fc2e4f7252ac946830797b83eb36aeb4ccff6133ab2b60c3148", + "chksum_sha256": "5625beeb80d7cca3f26f389bd847dc23acd6a29877d2f35cb5c33037721835e7", + "format": 1 + }, + { + "name": "README.md", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "25185d310c91a95e9ef28fbf2a9936fcb00b6f4f1851e1ee4cec84b5bc8e43fd", + "format": 1 + }, + { + "name": "pytest.ini", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "4f2478cdf42d7e2a9493090e9aa62a058ee3a368ba396f03c1fe464728f089bc", "format": 1 }, { @@ -64,1130 +85,1172 @@ "format": 1 }, { - "name": ".gitignore", + "name": "Makefile", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "f7a82b393b6c5cb3f95294240659749465a5b004323671a41d367f3471b617ae", + "chksum_sha256": "5d78e3540883a2743538fb6d76807bc800c596a3c4b5a6183b35ea31b7f647df", "format": 1 }, { - "name": "CODE_OF_CONDUCT.md", + "name": "integration.requirements", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "5625beeb80d7cca3f26f389bd847dc23acd6a29877d2f35cb5c33037721835e7", + "chksum_sha256": "baaf73be770602a4e433a23b31e8de64af5be5ecde5f96764d1cd53762667158", "format": 1 }, { - "name": "COPYING", + "name": "collection.requirements", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "0ae0485a5bd37a63e63603596417e4eb0e653334fa6c7f932ca3a0e85d4af227", + "chksum_sha256": "06447fa81cc36d2bb270ccc7584d6fcd7adf61e700cd456642ce86d82ba4a8d2", "format": 1 }, { - "name": "Makefile", + "name": ".gitignore", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "aee376b38b859d8d33a6e63e1bc99297d0f6e2772a62381ba961143ec9718cb7", + "chksum_sha256": "f7a82b393b6c5cb3f95294240659749465a5b004323671a41d367f3471b617ae", "format": 1 }, { - "name": "README.md", + "name": ".gitattributes", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "25185d310c91a95e9ef28fbf2a9936fcb00b6f4f1851e1ee4cec84b5bc8e43fd", + "chksum_sha256": "eda83702f1ee1fc2e4f7252ac946830797b83eb36aeb4ccff6133ab2b60c3148", "format": 1 }, { - "name": "changelogs", + "name": "plugins", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "changelogs/changelog.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "49a5c005a5bf7c0cbf04e11acb92c00291d73d78ad419b6613082ff5658afad2", - "format": 1 - }, - { - "name": "collection.requirements", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "06447fa81cc36d2bb270ccc7584d6fcd7adf61e700cd456642ce86d82ba4a8d2", - "format": 1 - }, - { - "name": "docker", + "name": "plugins/modules", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "docker/alma-8.docker", + "name": "plugins/modules/socket_handler.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "77faf407d99d19572bee379185ecc6e1db6ca09b24a8931c5ba2187efdfe6c7b", + "chksum_sha256": "a4b440a8f143696302d5cbf3f8edca4ef4f438604196605fbdad9d1066dad07e", "format": 1 }, { - "name": "docker/amazon-1.docker", + "name": "plugins/modules/check_info.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e6423e2dc42361bdd99cf66638ef484b52052fb90c4e06425079f42a36a8f4e0", + "chksum_sha256": "2c4fe61b4a70cc691dacf3877355d258790e53e688874b4216d6057bd219b7df", "format": 1 }, { - "name": "docker/amazon-2.docker", + "name": "plugins/modules/secrets_provider_info.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "0539425ff1396178a71e179b79281693c0a76e55f9b77baaef5313f75ed9a5b4", + "chksum_sha256": "2e9af254afc7b4ebee3421cba06721bf5848af7d25ae8e6a2a11a4a2be067ef3", "format": 1 }, { - "name": "docker/build-all.sh", + "name": "plugins/modules/event_info.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d07218d70fff8b732f66a1fba749dbdcdd44e6cacb5f82bb3c7df4145cbd3266", + "chksum_sha256": "73f02a988981be0f5c7e8403b4e7f72c7c47b0f5ec3b9c83dd7a1f59b13c1547", "format": 1 }, { - "name": "docker/build.sh", + "name": "plugins/modules/pipeline.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "f5e11180ff7a8271e6e2312bffeb8d0f9530fde88056cc7101e14dff3e7ab770", + "chksum_sha256": "c5025caa4cb1d08c2b68b2f31b81513f73d1d79740ebf4c949c0cc229fca52da", "format": 1 }, { - "name": "docker/centos-6.docker", + "name": "plugins/modules/role_info.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "f17b5627098349ba0b837f0325bae74cf1a2026c889fa1a2b8451bf278cfc110", + "chksum_sha256": "38b6952d82b0a614c752fb9d11921885cd40fa4a96950280bfbfee0ee82c8b56", "format": 1 }, { - "name": "docker/centos-7.docker", + "name": "plugins/modules/user.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "68c31a313c8d77cce02ca852fecba959afce224d76fa3e146a945c79b62eac0f", + "chksum_sha256": "15a92849cc563e82887bdacc5e1cc1599239c9ab478cd1c2cb0c7d735543e470", "format": 1 }, { - "name": "docker/centos-8.docker", + "name": "plugins/modules/cluster_role.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "0b90bd28a61d8ac05908c717c28793626cee7071d30a7a29425f81d0afcb614e", + "chksum_sha256": "f70395bbc47164b6bc1a336a2d1b80ac1f2aa1610c408174619752f38a5bc556", "format": 1 }, { - "name": "docker/debian-10.docker", + "name": "plugins/modules/entity_info.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a6189f24a19571821e78a20a356e77f8d2f3741b028e9c16aa449425e3088f05", + "chksum_sha256": "93465d322c93a87634fa485987307ad0e6149e2b319ac4559d51036a238cd408", "format": 1 }, { - "name": "docker/debian-9.docker", + "name": "plugins/modules/ad_auth_provider.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "f80ce3d252420117d1621e76c50896cc8dd1a50ca7eb05c9690cc414ce19c6fc", + "chksum_sha256": "a52ed13aef2b02642bcec861e5629cd6178aee15de0ae9bf94f406f044cce0ab", "format": 1 }, { - "name": "docker/oracle-8.docker", + "name": "plugins/modules/role_binding.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "0e2fe59fd5ecb49f0c28ce2d9549f2864713797abd8240a64f4477991bbef19e", + "chksum_sha256": "16babc38cb70db50f4a6397adf24cabc5a2611291d8141756e8a50805bd06491", "format": 1 }, { - "name": "docker/redhat-7.docker", + "name": "plugins/modules/hook.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "4f9601854dbad9e17e81ab915e09c8fa9c2dc2c1d255c7d9bfa47b387b6d09af", + "chksum_sha256": "245dd5fe347a7ea5922181e5b71a8a7bd58f43f7c143a958871d55469f185f6d", "format": 1 }, { - "name": "docker/rocky-8.docker", + "name": "plugins/modules/event.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "4aedcd2b720be1d1af27970a083a3109764c4aca9a831cbbfc3b1550937bdb1a", + "chksum_sha256": "5bd6748018dd45fd614d5598da657f933299242d4bdd59959428cf5a16854393", "format": 1 }, { - "name": "docker/sensu-5.14.2.docker", + "name": "plugins/modules/auth_provider_info.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "fb1fdf845b77606d01c4ac3b39fb57158bf8a36fb0be68c39e225923b7f10ff5", + "chksum_sha256": "d53f358f8cbafdb9b21baf5a5d9f221013a6523cfb4e64eb7e1559490d58c37a", "format": 1 }, { - "name": "docker/sensu-5.21.3.docker", + "name": "plugins/modules/handler_info.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "5e9ccfbd7ed743d543502484133da23bc7be30a0fc7cce67a7c5b16717b30a28", + "chksum_sha256": "9a7bdf4c7fef96782e327070d46c213e98b99b3653c1f65b67a1c8b181d83bfb", "format": 1 }, { - "name": "docker/sensu-6.2.5.docker", + "name": "plugins/modules/mutator_info.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "7b422c63badc1b329b408d124e36f08061502d084e52e1dd2f473f4dec417800", + "chksum_sha256": "f51f88433a25ae292239fdc6a3391a83e0da6feaf9a8c856d792455de020fc05", "format": 1 }, { - "name": "docker/sensu-6.3.0.docker", + "name": "plugins/modules/bonsai_asset.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "2e4910df1e60432b26474e0fc5c03331a9f0180bdba76955f9565d8f40164736", + "chksum_sha256": "dd1724000e3840d6fbcd9cda5b3c6c4784e557485765b78b840edb61c7a40d04", "format": 1 }, { - "name": "docker/sensu-6.4.3.docker", + "name": "plugins/modules/handler_set.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "9ae90603dcdb1bee5212c5fe2f605ee7d5238b38ef50e543920d0d0fcff74e11", + "chksum_sha256": "23b06861ce894e5aea1d750c99220c6600d6efeffb635cf46517bbdd6b691399", "format": 1 }, { - "name": "docker/sensu-6.5.5.docker", + "name": "plugins/modules/cluster.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "4c1e1a675e932a2400cfdcf08c90ce0e36ca1324de25b13f03e1aa2ca6156ce9", + "chksum_sha256": "ca9c885157ffdfee4aef50cec7acef89669c54e6dc9de82f41506372877407e5", "format": 1 }, { - "name": "docker/sensu-6.6.2.docker", + "name": "plugins/modules/role.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "5eb25649c23ada4244ec7e0d9bc007946290f4531d73680930643195449e9a48", + "chksum_sha256": "0aff9dfdad3c77a57cd3faec89612dbcd5af78efa610146f930d86f1e31f83f0", "format": 1 }, { - "name": "docker/sensu-6.7.5.docker", + "name": "plugins/modules/asset.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "03ed4b823631f289922f92528544c21442923cbe6ac3bacc504b8aac398e8ef1", + "chksum_sha256": "726c579f6cbfe58d9089fe590cf029a0f5aefc23ba3a47cf1ff07b920bdc0294", "format": 1 }, { - "name": "docker/sensu-6.8.2.docker", + "name": "plugins/modules/check.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "5d6459d0af5f7ea823c9a9017184db7064a29792e43dee086af6d5582fc58e59", + "chksum_sha256": "0bdb0c4572a20e3898d0a5f82fe8fc08ef4c0d8ff9b502792343b49ed4d81548", "format": 1 }, { - "name": "docker/sensu-6.9.0.docker", + "name": "plugins/modules/pipe_handler.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b06b8318cad1be3eeba445f8976590662f8014e66b61ff6413d566c9df52ad9a", + "chksum_sha256": "3dd56750eabe9fc6490307117daf88fa9ba685673c49f0b5af3b9d387440e7fa", "format": 1 }, { - "name": "docker/ubuntu-14.04.docker", + "name": "plugins/modules/pipeline_info.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d14b43d0e006b82b3242dbf025a43bbb63ff63eedd6b212417670b75fea75de7", + "chksum_sha256": "a2ffd1d03ddb4fad15fcd3b74c0b016ac9258566a6f5113de11121597e8646a8", "format": 1 }, { - "name": "docker/ubuntu-16.04.docker", + "name": "plugins/modules/cluster_role_binding_info.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "7b974549f85535a35f5e774969072d924762b970ff1e795b7d8ec70826ec9a08", + "chksum_sha256": "4a551163f5ed2e0bf06e397bd27b713cae52856071048a97fee78755a76b6a12", "format": 1 }, { - "name": "docker/ubuntu-18.04.docker", + "name": "plugins/modules/filter.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "600a5eb78c7ad219f0fe28ce5681c0d1b03e917781b3353b1c2efc19b71ae4c5", + "chksum_sha256": "bc257b582f6538b191e96aed2162f422c7d9010716d345a9c3afb00ae1f115ac", "format": 1 }, { - "name": "docs.requirements", + "name": "plugins/modules/secret.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "8dcdf757a8f9dcdaf8a0a95ad6add12a3d8eeae94691bbe85f9a9a5b8f8056f3", - "format": 1 - }, - { - "name": "docs", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "chksum_sha256": "61bae955742a34b16dec2b788191c2a50ef53a240fcfd1d39336b229a6d7b69c", "format": 1 }, { - "name": "docs/Makefile", + "name": "plugins/modules/secrets_provider_vault.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e33bf74d59130029ba24168a813112dd923d7044d780ce942db6645d93f56acf", + "chksum_sha256": "ce01d02aa45072f863274ffeaf83f607c9f2c78f3a56744698864e9471d85ce1", "format": 1 }, { - "name": "docs/Makefile.custom", + "name": "plugins/modules/ldap_auth_provider.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "2149597a9d9e33ffeeea20bec72388fa42107d543503548d89cab7e3b90c55d9", + "chksum_sha256": "d095ad95ef74cceda34d46de7113dbb3f0fd6c4e54fe9afc6e23edab3d96b62d", "format": 1 }, { - "name": "docs/examples", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "plugins/modules/datastore_info.py", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "0179dfd3073bdfe994622f1a0aa22d250f8d286188a5f47303140924540ac336", "format": 1 }, { - "name": "docs/examples/installation", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "plugins/modules/user_info.py", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "4775877c375a1b546b9bd49de726e6f96d72d7947f098e801210cb8846357ae8", "format": 1 }, { - "name": "docs/examples/installation/ansible.cfg", + "name": "plugins/modules/entity.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "563b8ca2cec5bf239ff7e1dd0189adcd0fa6a97aceee6de8bae886403dfe1a34", + "chksum_sha256": "36d6576284dad71da960e144fd0c3450b8520537a1a8b88220d6cfacecf4d110", "format": 1 }, { - "name": "docs/examples/quickstart", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "plugins/modules/tessen.py", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "5128759afadbba3edc7ed18dfd91176a86cda8b86bf2e283bc1509f9b58e2d82", "format": 1 }, { - "name": "docs/examples/quickstart/inventory.yaml", + "name": "plugins/modules/secret_info.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a2c708f68e93d0f52b1ded72f78a14ee1ae0f6862eccdeb9438cceac6a52b678", + "chksum_sha256": "24781ec21d4fa0aa9196404ae2ce536e34ea74df156de06deb9f09c94a9d8eb4", "format": 1 }, { - "name": "docs/examples/quickstart/playbook-5.yaml", + "name": "plugins/modules/mutator.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e346260feff21bec7c93ee76576dee29914eaea1b09902210f3ebafaa0bcdd59", + "chksum_sha256": "e9508e0bd9ec5688474220abe6e67c92f7252b27c80060bfbf98981880a3408f", "format": 1 }, { - "name": "docs/examples/quickstart/playbook-6.yaml", + "name": "plugins/modules/namespace_info.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "8ab7bf41d5dde10479580d705b8ff2badeebcfcdf76064e900ff7952ad696aae", + "chksum_sha256": "5eb7345ad6a316456e65f7b6c977df0792f38619e7f8f4e72cb38fdac977cbaf", "format": 1 }, { - "name": "docs/examples/roles", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "plugins/modules/asset_info.py", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "46df5f95d354f3b0d653b8b5118483ea6cc08f99be0953f1243fd6bc8c715ea5", "format": 1 }, { - "name": "docs/examples/roles/agent.yaml", + "name": "plugins/modules/silence.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "36e0c406bf4f31fb0dd39ae4b215d7d9d161dc316b1b28cb86da097f9dc62173", + "chksum_sha256": "c06398c67b6192664d1eedf7743807500968a558548a0f4558df6fce0c2bf07c", "format": 1 }, { - "name": "docs/examples/roles/backend.yaml", + "name": "plugins/modules/oidc_auth_provider.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b68d0fe0dcb27f5f03fecfd9dd7b8a066be988d6a86e36eaa252aef821cba5db", + "chksum_sha256": "52d850b3d6ace1be7bb8bf7e92e31271002c9ed6aa8d8ea56e2af4c980e33201", "format": 1 }, { - "name": "docs/examples/roles/install.yaml", + "name": "plugins/modules/datastore.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "baa2309b7f3a01e2b7bdbe47d792e552c55ccffe13cc0e88aa58a96b5d44744f", + "chksum_sha256": "d7f337514704fe52c461ff1692dee74c7cff3858fa62b1b1f14025d0a61b1e6d", "format": 1 }, { - "name": "docs/source", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "plugins/modules/secrets_provider_env.py", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "ee050f7c54dbe7485717bf2820b3967679ca1f00d13523bb3c0a0472f51e8c19", "format": 1 }, { - "name": "docs/source/conf.py", + "name": "plugins/modules/cluster_info.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "02cb76c3f0f659fae1de303aebfb88db6c0328c39cccbcbcb6a0cdaf0ed5e414", + "chksum_sha256": "889999db739e76c2c3d2ceec71ac7fd41d568d88cca5de898fbd82e91bf3e741", "format": 1 }, { - "name": "docs/source/hacking.rst", + "name": "plugins/modules/role_binding_info.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b7f7733d08a926b3537ad8e308931d786db6fd0ae6647581044e16208615f01f", + "chksum_sha256": "2d74a32830246670496043c40437c1dac025adcaa1877f366f7dbfa431f9e47a", "format": 1 }, { - "name": "docs/source/hacking", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "plugins/modules/filter_info.py", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "1ff62d3e629e3676010df6d97ab24919dd90aa8e4ec7ba1e9012bba512397078", "format": 1 }, { - "name": "docs/source/hacking/docker-images.rst", + "name": "plugins/modules/hook_info.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "03f249236c97fa4d011b3b4bd59c3a5904cec68e3619e1497103738a07ed5dee", + "chksum_sha256": "5ddb5b7239f4488fdfe08762ba5ea8aeb1093f752aedc027b9f29a0cecd3a818", "format": 1 }, { - "name": "docs/source/hacking/documentation.rst", + "name": "plugins/modules/etcd_replicator.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "92059787adf3a776f37c5b75c0b0224d0a8003962978a45bcf623881bd290053", + "chksum_sha256": "a3e17900f134791e7a210b9bb10cb7e08d7342d821dbdcbf34f6b6dea2b79264", "format": 1 }, { - "name": "docs/source/hacking/releases.rst", + "name": "plugins/modules/cluster_role_info.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "8e30ce3acea64d41c20ade3d02151d8f14e31b1cbec84fc9e95c59d939d572c2", + "chksum_sha256": "40d941b24fee942b5b6fa73d33dafa7ed0c3e816880bdcd39fc96b7ee4a25e06", "format": 1 }, { - "name": "docs/source/hacking/setup.rst", + "name": "plugins/modules/namespace.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "8f3cfd38a07f6286c7a399e96355b00d82e8eca39b64662fdeffa046e97f4bb7", + "chksum_sha256": "b2a549f56e7fcabdb669770da3e552549d0cfdf49e3f5649004a5679ad5587ca", "format": 1 }, { - "name": "docs/source/hacking/testing.rst", + "name": "plugins/modules/cluster_role_binding.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "fe96a2b58205223dd3dd77134b8da01883635bac58af1b350ff7bee84ff7d3a7", + "chksum_sha256": "ae998eea21e8fd673b282d0242d6323bd3c93562df858404b86c160453e1d7ae", "format": 1 }, { - "name": "docs/source/hacking/windows.rst", + "name": "plugins/modules/etcd_replicator_info.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "cce9fe33390d8e455c2225622238382e3e71c9ad50e81f8b0df5b5978738a5c8", + "chksum_sha256": "20182f94690583b01d86dbb7e8b1929fe78a9c2af9d18cdc32a053c2f6db4382", "format": 1 }, { - "name": "docs/source/index.rst", + "name": "plugins/modules/silence_info.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "c344f74b54edd788efe5cc17aa4cd68051d4c61d766454072f244ccc17835262", + "chksum_sha256": "3b0d1e7d8ed423dc8b7f6c7c98e0a83f46075b6887a245edb15d3593e2b0d002", "format": 1 }, { - "name": "docs/source/installation.rst", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "77cdfdb6264909ab14ff3d59b110908f4dab01f01f1a4b75827739e2d2c52e40", + "name": "plugins/action", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "docs/source/modules.rst", + "name": "plugins/action/bonsai_asset.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "27160e8c9669767b0ae99c85992f335a6adcfb5bb28278f474a74f332835b901", + "chksum_sha256": "1a6b4afc70afe86769663e99956dbaec59c7d7092b8bc2ae79eda3e5544e3b0f", "format": 1 }, { - "name": "docs/source/quickstart-sensu-go-5.rst", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "b8bff4cea65c259a12a56e5fe88c127d2e36c4d9707f633d0834d84a3fe46046", + "name": "plugins/filter", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "docs/source/quickstart-sensu-go-6.rst", + "name": "plugins/filter/backends.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "9483d05e50c630e3ffa052b4de3f997945290a937ce0030cc08a7113ae20b047", + "chksum_sha256": "5f3f1b59879080d03b78692001b3465b610b4860ad90bf4fafb28d46f7430b4e", "format": 1 }, { - "name": "docs/source/release_notes.rst", + "name": "plugins/filter/package_name.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "2417f24afa8a3a024804075c5c42ecc09ac9de89d85840574b9cfe5180cdaef3", + "chksum_sha256": "e5e870b79e6495438f5db19d1bc335e5ce2902803f13a6483b2841b880f2267a", "format": 1 }, { - "name": "docs/source/release_policy.rst", + "name": "plugins/filter/package_name.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "6fd25c423ac44189c533093827cce9d51d18aac1f35df85df0029edadf16a2f5", + "chksum_sha256": "793510afde9c2501ff3f990b8aa1858c4a3ffd6097b8242b72fc227c30ac22eb", "format": 1 }, { - "name": "docs/source/roles.rst", + "name": "plugins/filter/backends.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "8354f00bf6d30b5de815cbb6bafa0d06b9ea62848f373df7516e395e0b30aaca", + "chksum_sha256": "3e9ee2727a731949175386bd8fcbedc173ab40e1ceebafd217eea088e63241e9", "format": 1 }, { - "name": "docs/source/roles", + "name": "plugins/module_utils", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "docs/source/roles/agent.rst", + "name": "plugins/module_utils/http.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "00fe6a0a69ed23a1247a059d48b9a188e3d654a8ba593d874d7fdc69ecb48ffe", + "chksum_sha256": "1ab058ee166c85136210d767e4e57195f00a3837a830c743c14b04751cb08c59", "format": 1 }, { - "name": "docs/source/roles/backend.rst", + "name": "plugins/module_utils/errors.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "94c3cf1124358f5b025c04debee293a866838c09aa63d68c4c0343d3c61ad36b", + "chksum_sha256": "f01d550766418f93ca721d9a30774e3c94f1a7e853855138aab1c865a451300a", "format": 1 }, { - "name": "docs/source/roles/install.rst", + "name": "plugins/module_utils/client.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "bc0aa89f658ec2a90395f137d82de226999ad4be837034860e3d48b0fbb384e7", + "chksum_sha256": "3cdbddecb640c0c0a9b5217fa4f8132bc398f0b4aedaaaceba0131199bf75d46", "format": 1 }, { - "name": "docs/source/sensu_go_5_6_migration.rst", + "name": "plugins/module_utils/debug.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "deffa1c41e850c1c7daf86580df9d9c64c02290e7747b06f8c1a53253660affb", + "chksum_sha256": "55d365485cad59f0ecb8c04d4099627ff506212067fdea44691bd740f0c90471", "format": 1 }, { - "name": "docs/source/versioning_sensu_go_installation.rst", + "name": "plugins/module_utils/arguments.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "83f27f787298735fb1d940149260c41558e62c51ea005e672ea1caefea076f96", + "chksum_sha256": "a82bfca1d1ea8712676761d79f9691abd845aa9f8f1cd1d8fcd6dcd3b4acda77", "format": 1 }, { - "name": "docs/templates", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "plugins/module_utils/utils.py", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "d00ca6a76c92cf855f3710d314831b7c2f22d10e52a72d046ed23e7cbd6dd07d", "format": 1 }, { - "name": "docs/templates/module.rst.j2", + "name": "plugins/module_utils/role_utils.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "aaa2e999c9e8136e7256980601dbd315509fcd8860a5784aa493c9345a690072", + "chksum_sha256": "dceb65553d08033c7d6e8bef8f524ae2a76c4c82c70e69ede1ba23569c35a25b", "format": 1 }, { - "name": "integration.requirements", + "name": "plugins/module_utils/bonsai.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "30a9a73b9186fffdb27b80c7b9cff8d1af86b058ef2dc5ae132368ca57699bd4", + "chksum_sha256": "a15c8ddec407b68279ab34d0de7ff05b5646f75cbd005e53677e09ee60dae7a1", "format": 1 }, { - "name": "meta", + "name": "plugins/doc_fragments", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "meta/execution-environment.yml", + "name": "plugins/doc_fragments/annotations.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "65a3aa1ded18aca17b56c630b9b7a48abdb972f17e67125695f0f048daa94b06", + "chksum_sha256": "de530f111b226d43bfc056f849e10f901d37e68468051fed09f8a6dc1876db41", "format": 1 }, { - "name": "meta/runtime.yml", + "name": "plugins/doc_fragments/info.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "f47c409467a06433e256cd5f49da832888d307258672da9c7da11fe01d9d36e9", + "chksum_sha256": "e59e1dc61c6784b46fb221819335d5ff0624b5ab6a113a1b68f2fbf2ad97e567", "format": 1 }, { - "name": "plugins", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "plugins/doc_fragments/labels.py", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "24a4f982431aa556bba0d825cb9279e8ea7edba278968d0e2f258c78a6e4bcb0", "format": 1 }, { - "name": "plugins/action", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "plugins/doc_fragments/state.py", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "8fa51fbe3b600d78e2a7f6a346409f553f9d25ca1229f05c13d59942863afe89", "format": 1 }, { - "name": "plugins/action/bonsai_asset.py", + "name": "plugins/doc_fragments/secrets.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "1a6b4afc70afe86769663e99956dbaec59c7d7092b8bc2ae79eda3e5544e3b0f", + "chksum_sha256": "289859549042df6829db33290830fde1f5e407fc11a5abeb7f6f3e0445b7e511", "format": 1 }, { - "name": "plugins/doc_fragments", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "plugins/doc_fragments/auth.py", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "b44608aa817a9d31eb0b7dc0e1f4f6f5943d7a0c9f8ed5ac4cc1781ba98b9bd7", "format": 1 }, { - "name": "plugins/doc_fragments/annotations.py", + "name": "plugins/doc_fragments/requirements.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "de530f111b226d43bfc056f849e10f901d37e68468051fed09f8a6dc1876db41", + "chksum_sha256": "337db3c5881c7bf1adf942df7651661667bd07501d3bdc92991672e56ea23cf0", "format": 1 }, { - "name": "plugins/doc_fragments/auth.py", + "name": "plugins/doc_fragments/name.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b44608aa817a9d31eb0b7dc0e1f4f6f5943d7a0c9f8ed5ac4cc1781ba98b9bd7", + "chksum_sha256": "a20a214a2cbbd2eaf7bb85b2e0ba9aa4c8d62fe6c23c6e8dec75989bbae3a118", "format": 1 }, { - "name": "plugins/doc_fragments/info.py", + "name": "plugins/doc_fragments/namespace.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e59e1dc61c6784b46fb221819335d5ff0624b5ab6a113a1b68f2fbf2ad97e567", + "chksum_sha256": "65728308f42e3914228ccc1cd9e967cb697f9e02eb373614998d329a62919d57", "format": 1 }, { - "name": "plugins/doc_fragments/labels.py", + "name": "vagrant", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, + "format": 1 + }, + { + "name": "vagrant/windows", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, + "format": 1 + }, + { + "name": "vagrant/windows/Vagrantfile", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "24a4f982431aa556bba0d825cb9279e8ea7edba278968d0e2f258c78a6e4bcb0", + "chksum_sha256": "577e722a616b4460c8616a3e157dff8bd9b0797c13f45746524aa092e41281ca", "format": 1 }, { - "name": "plugins/doc_fragments/name.py", + "name": "vagrant/windows/back.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a20a214a2cbbd2eaf7bb85b2e0ba9aa4c8d62fe6c23c6e8dec75989bbae3a118", + "chksum_sha256": "9ab2d63736564a8d3e1460f0f675ddd3b71170db0e4cc1d1defad381dd8f5182", "format": 1 }, { - "name": "plugins/doc_fragments/namespace.py", + "name": "vagrant/windows/inventory.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "65728308f42e3914228ccc1cd9e967cb697f9e02eb373614998d329a62919d57", + "chksum_sha256": "f77cdd5742fc469605610da3a8477e9774e3ef1540542680517a108837911c23", "format": 1 }, { - "name": "plugins/doc_fragments/requirements.py", + "name": "vagrant/windows/play.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "337db3c5881c7bf1adf942df7651661667bd07501d3bdc92991672e56ea23cf0", + "chksum_sha256": "18933fb8ae7cc0906993f601b29f0898107c0b36204eb56d4dc7f14ff4bf480e", "format": 1 }, { - "name": "plugins/doc_fragments/secrets.py", + "name": ".flake8", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "289859549042df6829db33290830fde1f5e407fc11a5abeb7f6f3e0445b7e511", + "chksum_sha256": "1d14da49e3dc70a10ecb9132d3bc0c1a54e5dac2f28b9e712924e6b33033cfb4", "format": 1 }, { - "name": "plugins/doc_fragments/state.py", + "name": "sanity.requirements", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "8fa51fbe3b600d78e2a7f6a346409f553f9d25ca1229f05c13d59942863afe89", + "chksum_sha256": "bbe597d4a77973f8ab0f7eafd636df5b4b530f346adbf69afa11e0fd68d58e6c", "format": 1 }, { - "name": "plugins/filter", + "name": "docs", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/filter/backends.py", + "name": "docs/templates", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, + "format": 1 + }, + { + "name": "docs/templates/module.rst.j2", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e20a41dd39107122ae71c9d329ba07e11755ae7bd92e3c35e603d99a398a392a", + "chksum_sha256": "aaa2e999c9e8136e7256980601dbd315509fcd8860a5784aa493c9345a690072", "format": 1 }, { - "name": "plugins/filter/package_name.py", + "name": "docs/Makefile", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "32a8b7ec15fddac13ec5e5550da07785227ae03749febff4126d4c7f3d2c9a50", + "chksum_sha256": "e33bf74d59130029ba24168a813112dd923d7044d780ce942db6645d93f56acf", "format": 1 }, { - "name": "plugins/module_utils", + "name": "docs/source", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/module_utils/arguments.py", + "name": "docs/source/roles.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a82bfca1d1ea8712676761d79f9691abd845aa9f8f1cd1d8fcd6dcd3b4acda77", + "chksum_sha256": "8354f00bf6d30b5de815cbb6bafa0d06b9ea62848f373df7516e395e0b30aaca", "format": 1 }, { - "name": "plugins/module_utils/bonsai.py", + "name": "docs/source/quickstart-sensu-go-6.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a15c8ddec407b68279ab34d0de7ff05b5646f75cbd005e53677e09ee60dae7a1", + "chksum_sha256": "9483d05e50c630e3ffa052b4de3f997945290a937ce0030cc08a7113ae20b047", "format": 1 }, { - "name": "plugins/module_utils/client.py", + "name": "docs/source/quickstart-sensu-go-5.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "3cdbddecb640c0c0a9b5217fa4f8132bc398f0b4aedaaaceba0131199bf75d46", + "chksum_sha256": "b8bff4cea65c259a12a56e5fe88c127d2e36c4d9707f633d0834d84a3fe46046", "format": 1 }, { - "name": "plugins/module_utils/debug.py", + "name": "docs/source/installation.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "55d365485cad59f0ecb8c04d4099627ff506212067fdea44691bd740f0c90471", + "chksum_sha256": "77cdfdb6264909ab14ff3d59b110908f4dab01f01f1a4b75827739e2d2c52e40", "format": 1 }, { - "name": "plugins/module_utils/errors.py", + "name": "docs/source/index.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "24b2d5e56b6963c5f2bd88ecff5eea457fdfe5d00bc82ac1b795231a05ad3b89", + "chksum_sha256": "c344f74b54edd788efe5cc17aa4cd68051d4c61d766454072f244ccc17835262", "format": 1 }, { - "name": "plugins/module_utils/http.py", + "name": "docs/source/hacking.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "1ab058ee166c85136210d767e4e57195f00a3837a830c743c14b04751cb08c59", + "chksum_sha256": "b7f7733d08a926b3537ad8e308931d786db6fd0ae6647581044e16208615f01f", "format": 1 }, { - "name": "plugins/module_utils/role_utils.py", + "name": "docs/source/modules.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "dceb65553d08033c7d6e8bef8f524ae2a76c4c82c70e69ede1ba23569c35a25b", + "chksum_sha256": "27160e8c9669767b0ae99c85992f335a6adcfb5bb28278f474a74f332835b901", "format": 1 }, { - "name": "plugins/module_utils/utils.py", + "name": "docs/source/conf.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d00ca6a76c92cf855f3710d314831b7c2f22d10e52a72d046ed23e7cbd6dd07d", + "chksum_sha256": "02cb76c3f0f659fae1de303aebfb88db6c0328c39cccbcbcb6a0cdaf0ed5e414", "format": 1 }, { - "name": "plugins/modules", + "name": "docs/source/release_policy.rst", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "6fd25c423ac44189c533093827cce9d51d18aac1f35df85df0029edadf16a2f5", + "format": 1 + }, + { + "name": "docs/source/roles", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "plugins/modules/ad_auth_provider.py", + "name": "docs/source/roles/backend.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a52ed13aef2b02642bcec861e5629cd6178aee15de0ae9bf94f406f044cce0ab", + "chksum_sha256": "94c3cf1124358f5b025c04debee293a866838c09aa63d68c4c0343d3c61ad36b", "format": 1 }, { - "name": "plugins/modules/asset.py", + "name": "docs/source/roles/install.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "726c579f6cbfe58d9089fe590cf029a0f5aefc23ba3a47cf1ff07b920bdc0294", + "chksum_sha256": "bc0aa89f658ec2a90395f137d82de226999ad4be837034860e3d48b0fbb384e7", "format": 1 }, { - "name": "plugins/modules/asset_info.py", + "name": "docs/source/roles/agent.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "46df5f95d354f3b0d653b8b5118483ea6cc08f99be0953f1243fd6bc8c715ea5", + "chksum_sha256": "00fe6a0a69ed23a1247a059d48b9a188e3d654a8ba593d874d7fdc69ecb48ffe", "format": 1 }, { - "name": "plugins/modules/auth_provider_info.py", + "name": "docs/source/release_notes.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d53f358f8cbafdb9b21baf5a5d9f221013a6523cfb4e64eb7e1559490d58c37a", + "chksum_sha256": "98f5a315d2494a61f222795509acbda2757ef51a61d45f820bef713ff65b945f", "format": 1 }, { - "name": "plugins/modules/bonsai_asset.py", + "name": "docs/source/sensu_go_5_6_migration.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "dd1724000e3840d6fbcd9cda5b3c6c4784e557485765b78b840edb61c7a40d04", + "chksum_sha256": "deffa1c41e850c1c7daf86580df9d9c64c02290e7747b06f8c1a53253660affb", "format": 1 }, { - "name": "plugins/modules/check.py", + "name": "docs/source/versioning_sensu_go_installation.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "0bdb0c4572a20e3898d0a5f82fe8fc08ef4c0d8ff9b502792343b49ed4d81548", + "chksum_sha256": "83f27f787298735fb1d940149260c41558e62c51ea005e672ea1caefea076f96", "format": 1 }, { - "name": "plugins/modules/check_info.py", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "2c4fe61b4a70cc691dacf3877355d258790e53e688874b4216d6057bd219b7df", + "name": "docs/source/hacking", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "plugins/modules/cluster.py", + "name": "docs/source/hacking/documentation.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "ca9c885157ffdfee4aef50cec7acef89669c54e6dc9de82f41506372877407e5", + "chksum_sha256": "92059787adf3a776f37c5b75c0b0224d0a8003962978a45bcf623881bd290053", "format": 1 }, { - "name": "plugins/modules/cluster_info.py", + "name": "docs/source/hacking/releases.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "889999db739e76c2c3d2ceec71ac7fd41d568d88cca5de898fbd82e91bf3e741", + "chksum_sha256": "8e30ce3acea64d41c20ade3d02151d8f14e31b1cbec84fc9e95c59d939d572c2", "format": 1 }, { - "name": "plugins/modules/cluster_role.py", + "name": "docs/source/hacking/setup.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "f70395bbc47164b6bc1a336a2d1b80ac1f2aa1610c408174619752f38a5bc556", + "chksum_sha256": "8f3cfd38a07f6286c7a399e96355b00d82e8eca39b64662fdeffa046e97f4bb7", "format": 1 }, { - "name": "plugins/modules/cluster_role_binding.py", + "name": "docs/source/hacking/docker-images.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "ae998eea21e8fd673b282d0242d6323bd3c93562df858404b86c160453e1d7ae", + "chksum_sha256": "45d61350a46014a4d5449ead488cce7c6a7c8b5ac893b0bef8348ea43f7a9c5a", "format": 1 }, { - "name": "plugins/modules/cluster_role_binding_info.py", + "name": "docs/source/hacking/testing.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "4a551163f5ed2e0bf06e397bd27b713cae52856071048a97fee78755a76b6a12", + "chksum_sha256": "fe96a2b58205223dd3dd77134b8da01883635bac58af1b350ff7bee84ff7d3a7", "format": 1 }, { - "name": "plugins/modules/cluster_role_info.py", + "name": "docs/source/hacking/windows.rst", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "40d941b24fee942b5b6fa73d33dafa7ed0c3e816880bdcd39fc96b7ee4a25e06", + "chksum_sha256": "cce9fe33390d8e455c2225622238382e3e71c9ad50e81f8b0df5b5978738a5c8", "format": 1 }, { - "name": "plugins/modules/datastore.py", + "name": "docs/Makefile.custom", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "4a5d49a62b48d571dd49f660e13bb53509421d619a45b9c8a9b3f3c279293609", + "chksum_sha256": "2149597a9d9e33ffeeea20bec72388fa42107d543503548d89cab7e3b90c55d9", "format": 1 }, { - "name": "plugins/modules/datastore_info.py", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "0179dfd3073bdfe994622f1a0aa22d250f8d286188a5f47303140924540ac336", + "name": "docs/examples", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "plugins/modules/entity.py", + "name": "docs/examples/quickstart", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, + "format": 1 + }, + { + "name": "docs/examples/quickstart/playbook-6.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "36d6576284dad71da960e144fd0c3450b8520537a1a8b88220d6cfacecf4d110", + "chksum_sha256": "8ab7bf41d5dde10479580d705b8ff2badeebcfcdf76064e900ff7952ad696aae", "format": 1 }, { - "name": "plugins/modules/entity_info.py", + "name": "docs/examples/quickstart/playbook-5.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "93465d322c93a87634fa485987307ad0e6149e2b319ac4559d51036a238cd408", + "chksum_sha256": "e346260feff21bec7c93ee76576dee29914eaea1b09902210f3ebafaa0bcdd59", "format": 1 }, { - "name": "plugins/modules/etcd_replicator.py", + "name": "docs/examples/quickstart/inventory.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a3e17900f134791e7a210b9bb10cb7e08d7342d821dbdcbf34f6b6dea2b79264", + "chksum_sha256": "a2c708f68e93d0f52b1ded72f78a14ee1ae0f6862eccdeb9438cceac6a52b678", "format": 1 }, { - "name": "plugins/modules/etcd_replicator_info.py", + "name": "docs/examples/installation", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, + "format": 1 + }, + { + "name": "docs/examples/installation/ansible.cfg", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "20182f94690583b01d86dbb7e8b1929fe78a9c2af9d18cdc32a053c2f6db4382", + "chksum_sha256": "563b8ca2cec5bf239ff7e1dd0189adcd0fa6a97aceee6de8bae886403dfe1a34", "format": 1 }, { - "name": "plugins/modules/event.py", + "name": "docs/examples/roles", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, + "format": 1 + }, + { + "name": "docs/examples/roles/agent.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "5bd6748018dd45fd614d5598da657f933299242d4bdd59959428cf5a16854393", + "chksum_sha256": "3875ca7edddff5269cbbf272c1ebd0edde04aab863ae7b97da233bb41ae68700", "format": 1 }, { - "name": "plugins/modules/event_info.py", + "name": "docs/examples/roles/install.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "73f02a988981be0f5c7e8403b4e7f72c7c47b0f5ec3b9c83dd7a1f59b13c1547", + "chksum_sha256": "3e3de6f07707c9e1b3d0523021a1a1b5d21a9c12e146e1bd74d759c4941d3c82", "format": 1 }, { - "name": "plugins/modules/filter.py", + "name": "docs/examples/roles/backend.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "bc257b582f6538b191e96aed2162f422c7d9010716d345a9c3afb00ae1f115ac", + "chksum_sha256": "b68d0fe0dcb27f5f03fecfd9dd7b8a066be988d6a86e36eaa252aef821cba5db", "format": 1 }, { - "name": "plugins/modules/filter_info.py", + "name": "molecule.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "1ff62d3e629e3676010df6d97ab24919dd90aa8e4ec7ba1e9012bba512397078", + "chksum_sha256": "931a4b4227278f2313c68ce505bf747662ee95c77e42c1e31dd8a454e5c71cbd", "format": 1 }, { - "name": "plugins/modules/handler_info.py", + "name": "changelogs", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, + "format": 1 + }, + { + "name": "changelogs/changelog.yaml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "9a7bdf4c7fef96782e327070d46c213e98b99b3653c1f65b67a1c8b181d83bfb", + "chksum_sha256": "10e7de58774f0cd26c1cc14e5ef9142351648484e4b4b57d7be6598bf7c13045", "format": 1 }, { - "name": "plugins/modules/handler_set.py", + "name": "docker", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, + "format": 1 + }, + { + "name": "docker/centos-7.docker", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "23b06861ce894e5aea1d750c99220c6600d6efeffb635cf46517bbdd6b691399", + "chksum_sha256": "68c31a313c8d77cce02ca852fecba959afce224d76fa3e146a945c79b62eac0f", "format": 1 }, { - "name": "plugins/modules/hook.py", + "name": "docker/sensu-5.21.3.docker", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "245dd5fe347a7ea5922181e5b71a8a7bd58f43f7c143a958871d55469f185f6d", + "chksum_sha256": "5e9ccfbd7ed743d543502484133da23bc7be30a0fc7cce67a7c5b16717b30a28", "format": 1 }, { - "name": "plugins/modules/hook_info.py", + "name": "docker/ubuntu-22.04.docker", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "5ddb5b7239f4488fdfe08762ba5ea8aeb1093f752aedc027b9f29a0cecd3a818", + "chksum_sha256": "ace333a22f6e85c555a2d851957fab802c9b3d5d1a03e24c579aa9dd6c95fac5", "format": 1 }, { - "name": "plugins/modules/ldap_auth_provider.py", + "name": "docker/sensu-6.10.0.docker", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d095ad95ef74cceda34d46de7113dbb3f0fd6c4e54fe9afc6e23edab3d96b62d", + "chksum_sha256": "e5217eda2895833971d13d36845323d101e896e70d119596021e57e09c05a31c", "format": 1 }, { - "name": "plugins/modules/mutator.py", + "name": "docker/amazon-1.docker", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e9508e0bd9ec5688474220abe6e67c92f7252b27c80060bfbf98981880a3408f", + "chksum_sha256": "e6423e2dc42361bdd99cf66638ef484b52052fb90c4e06425079f42a36a8f4e0", "format": 1 }, { - "name": "plugins/modules/mutator_info.py", + "name": "docker/ubuntu-20.04.docker", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "f51f88433a25ae292239fdc6a3391a83e0da6feaf9a8c856d792455de020fc05", + "chksum_sha256": "61b8232721b7a9543be72636d61f900e439e0fe43582fe73a51716e6fedbbd97", "format": 1 }, { - "name": "plugins/modules/namespace.py", + "name": "docker/centos-8.docker", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b2a549f56e7fcabdb669770da3e552549d0cfdf49e3f5649004a5679ad5587ca", + "chksum_sha256": "0b90bd28a61d8ac05908c717c28793626cee7071d30a7a29425f81d0afcb614e", "format": 1 }, { - "name": "plugins/modules/namespace_info.py", + "name": "docker/build.sh", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "5eb7345ad6a316456e65f7b6c977df0792f38619e7f8f4e72cb38fdac977cbaf", + "chksum_sha256": "f5e11180ff7a8271e6e2312bffeb8d0f9530fde88056cc7101e14dff3e7ab770", "format": 1 }, { - "name": "plugins/modules/oidc_auth_provider.py", + "name": "docker/rocky-8.docker", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "52d850b3d6ace1be7bb8bf7e92e31271002c9ed6aa8d8ea56e2af4c980e33201", + "chksum_sha256": "4aedcd2b720be1d1af27970a083a3109764c4aca9a831cbbfc3b1550937bdb1a", "format": 1 }, { - "name": "plugins/modules/pipe_handler.py", + "name": "docker/ubuntu-16.04.docker", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "3dd56750eabe9fc6490307117daf88fa9ba685673c49f0b5af3b9d387440e7fa", + "chksum_sha256": "7b974549f85535a35f5e774969072d924762b970ff1e795b7d8ec70826ec9a08", "format": 1 }, { - "name": "plugins/modules/role.py", + "name": "docker/sensu-6.6.2.docker", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "0aff9dfdad3c77a57cd3faec89612dbcd5af78efa610146f930d86f1e31f83f0", + "chksum_sha256": "5eb25649c23ada4244ec7e0d9bc007946290f4531d73680930643195449e9a48", "format": 1 }, { - "name": "plugins/modules/role_binding.py", + "name": "docker/sensu-6.4.3.docker", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "16babc38cb70db50f4a6397adf24cabc5a2611291d8141756e8a50805bd06491", + "chksum_sha256": "9ae90603dcdb1bee5212c5fe2f605ee7d5238b38ef50e543920d0d0fcff74e11", "format": 1 }, { - "name": "plugins/modules/role_binding_info.py", + "name": "docker/redhat-7.docker", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "2d74a32830246670496043c40437c1dac025adcaa1877f366f7dbfa431f9e47a", + "chksum_sha256": "4f9601854dbad9e17e81ab915e09c8fa9c2dc2c1d255c7d9bfa47b387b6d09af", "format": 1 }, { - "name": "plugins/modules/role_info.py", + "name": "docker/sensu-6.5.5.docker", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "38b6952d82b0a614c752fb9d11921885cd40fa4a96950280bfbfee0ee82c8b56", + "chksum_sha256": "4c1e1a675e932a2400cfdcf08c90ce0e36ca1324de25b13f03e1aa2ca6156ce9", "format": 1 }, { - "name": "plugins/modules/secret.py", + "name": "docker/alma-8.docker", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "61bae955742a34b16dec2b788191c2a50ef53a240fcfd1d39336b229a6d7b69c", + "chksum_sha256": "77faf407d99d19572bee379185ecc6e1db6ca09b24a8931c5ba2187efdfe6c7b", "format": 1 }, { - "name": "plugins/modules/secret_info.py", + "name": "docker/sensu-6.2.5.docker", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "24781ec21d4fa0aa9196404ae2ce536e34ea74df156de06deb9f09c94a9d8eb4", + "chksum_sha256": "7b422c63badc1b329b408d124e36f08061502d084e52e1dd2f473f4dec417800", "format": 1 }, { - "name": "plugins/modules/secrets_provider_env.py", + "name": "docker/sensu-5.14.2.docker", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "ee050f7c54dbe7485717bf2820b3967679ca1f00d13523bb3c0a0472f51e8c19", + "chksum_sha256": "fb1fdf845b77606d01c4ac3b39fb57158bf8a36fb0be68c39e225923b7f10ff5", "format": 1 }, { - "name": "plugins/modules/secrets_provider_info.py", + "name": "docker/debian-9.docker", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "2e9af254afc7b4ebee3421cba06721bf5848af7d25ae8e6a2a11a4a2be067ef3", + "chksum_sha256": "f80ce3d252420117d1621e76c50896cc8dd1a50ca7eb05c9690cc414ce19c6fc", "format": 1 }, { - "name": "plugins/modules/secrets_provider_vault.py", + "name": "docker/sensu-6.7.5.docker", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "ce01d02aa45072f863274ffeaf83f607c9f2c78f3a56744698864e9471d85ce1", + "chksum_sha256": "03ed4b823631f289922f92528544c21442923cbe6ac3bacc504b8aac398e8ef1", "format": 1 }, { - "name": "plugins/modules/silence.py", + "name": "docker/ubuntu-14.04.docker", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "c06398c67b6192664d1eedf7743807500968a558548a0f4558df6fce0c2bf07c", + "chksum_sha256": "d14b43d0e006b82b3242dbf025a43bbb63ff63eedd6b212417670b75fea75de7", "format": 1 }, { - "name": "plugins/modules/silence_info.py", + "name": "docker/debian-10.docker", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "3b0d1e7d8ed423dc8b7f6c7c98e0a83f46075b6887a245edb15d3593e2b0d002", + "chksum_sha256": "a6189f24a19571821e78a20a356e77f8d2f3741b028e9c16aa449425e3088f05", "format": 1 }, { - "name": "plugins/modules/socket_handler.py", + "name": "docker/sensu-6.8.2.docker", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a4b440a8f143696302d5cbf3f8edca4ef4f438604196605fbdad9d1066dad07e", + "chksum_sha256": "5d6459d0af5f7ea823c9a9017184db7064a29792e43dee086af6d5582fc58e59", "format": 1 }, { - "name": "plugins/modules/tessen.py", + "name": "docker/centos-6.docker", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "5128759afadbba3edc7ed18dfd91176a86cda8b86bf2e283bc1509f9b58e2d82", + "chksum_sha256": "f17b5627098349ba0b837f0325bae74cf1a2026c889fa1a2b8451bf278cfc110", "format": 1 }, { - "name": "plugins/modules/user.py", + "name": "docker/build-all.sh", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "973ab65cb2cff9083dd7a5f2164571d34d7981c306c7957c31f46565d99b419f", + "chksum_sha256": "d07218d70fff8b732f66a1fba749dbdcdd44e6cacb5f82bb3c7df4145cbd3266", "format": 1 }, { - "name": "plugins/modules/user_info.py", + "name": "docker/sensu-6.9.0.docker", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "4775877c375a1b546b9bd49de726e6f96d72d7947f098e801210cb8846357ae8", + "chksum_sha256": "b06b8318cad1be3eeba445f8976590662f8014e66b61ff6413d566c9df52ad9a", "format": 1 }, { - "name": "pytest.ini", + "name": "docker/ubuntu-18.04.docker", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "4f2478cdf42d7e2a9493090e9aa62a058ee3a368ba396f03c1fe464728f089bc", + "chksum_sha256": "600a5eb78c7ad219f0fe28ce5681c0d1b03e917781b3353b1c2efc19b71ae4c5", "format": 1 }, { - "name": "roles", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "docker/sensu-6.3.0.docker", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "2e4910df1e60432b26474e0fc5c03331a9f0180bdba76955f9565d8f40164736", "format": 1 }, { - "name": "roles/agent", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "docker/amazon-2.docker", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "0539425ff1396178a71e179b79281693c0a76e55f9b77baaef5313f75ed9a5b4", "format": 1 }, { - "name": "roles/agent/README.md", + "name": "docker/oracle-8.docker", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "06dca09fc919a0aa297410a2de953d9ed9e669d0ab929ec7537b04742c9cf574", + "chksum_sha256": "0e2fe59fd5ecb49f0c28ce2d9549f2864713797abd8240a64f4477991bbef19e", "format": 1 }, { - "name": "roles/agent/defaults", + "name": "roles", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "roles/agent/defaults/main.yml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "33f01b24e393cbb7e3eb32e16ad1e916ec6ba6e436dfcdbf5a1c457ce6238fbf", + "name": "roles/agent", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { @@ -1215,28 +1278,42 @@ "name": "roles/agent/meta/argument_specs.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "c365bbe5dc27a54515a79d5794b1df7ab82ba858d2d4fc1d52ca4de1a8d5ab65", + "chksum_sha256": "fdd2ed6687609094f9f00b277f85fa6ab635560ef6178ad0df271f30df20c95e", "format": 1 }, { "name": "roles/agent/meta/main.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b0066c8a5fbc6b76d9fa8ec9505141ab99982564a64a64b6d1c46eea0a316732", + "chksum_sha256": "40abe485e8ce558d4a8d04a7cb26a0ad650d6167b25a7fed1cf5a2014dd23692", "format": 1 }, { - "name": "roles/agent/tasks", + "name": "roles/agent/README.md", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "06dca09fc919a0aa297410a2de953d9ed9e669d0ab929ec7537b04742c9cf574", + "format": 1 + }, + { + "name": "roles/agent/templates", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "roles/agent/tasks/configure.yml", + "name": "roles/agent/templates/agent.yml.j2", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "1a9e48b1277b28952d6efa8bb45f024b7ab41942aa63443b9c5bacffff4feb85", + "chksum_sha256": "cdf241ee60067c368fce4cf4b5c47311428d940dd2c404ee60fd5485f6614878", + "format": 1 + }, + { + "name": "roles/agent/tasks", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { @@ -1268,31 +1345,24 @@ "format": 1 }, { - "name": "roles/agent/tasks/windows", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, - "format": 1 - }, - { - "name": "roles/agent/tasks/windows/configure.yml", + "name": "roles/agent/tasks/configure.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "164820a1d9481a43d2b88df2c3955c2d2a78d9dd50ef8d7db3fbe5a82382291f", + "chksum_sha256": "1a9e48b1277b28952d6efa8bb45f024b7ab41942aa63443b9c5bacffff4feb85", "format": 1 }, { - "name": "roles/agent/templates", + "name": "roles/agent/tasks/windows", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "roles/agent/templates/agent.yml.j2", + "name": "roles/agent/tasks/windows/configure.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "cdf241ee60067c368fce4cf4b5c47311428d940dd2c404ee60fd5485f6614878", + "chksum_sha256": "164820a1d9481a43d2b88df2c3955c2d2a78d9dd50ef8d7db3fbe5a82382291f", "format": 1 }, { @@ -1303,10 +1373,10 @@ "format": 1 }, { - "name": "roles/agent/vars/linux.yml", + "name": "roles/agent/vars/windows.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b5e9a4b8caf6a83b515dd2e642dcd105ae17c36382f50e495b48daddf81c1e57", + "chksum_sha256": "36b7a1dadb91178a78b7c3e4aded558a0700939c0e99e0d9f1ed998585a40f69", "format": 1 }, { @@ -1317,41 +1387,34 @@ "format": 1 }, { - "name": "roles/agent/vars/windows.yml", + "name": "roles/agent/vars/linux.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "36b7a1dadb91178a78b7c3e4aded558a0700939c0e99e0d9f1ed998585a40f69", + "chksum_sha256": "b5e9a4b8caf6a83b515dd2e642dcd105ae17c36382f50e495b48daddf81c1e57", "format": 1 }, { - "name": "roles/backend", + "name": "roles/agent/defaults", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "roles/backend/README.md", + "name": "roles/agent/defaults/main.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "abed04af924e7b21fae4477c9173d4f73d92aa094cf8ffa8b88b8a7f79fe1471", + "chksum_sha256": "33f01b24e393cbb7e3eb32e16ad1e916ec6ba6e436dfcdbf5a1c457ce6238fbf", "format": 1 }, { - "name": "roles/backend/defaults", + "name": "roles/backend", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "roles/backend/defaults/main.yml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "69b3e10221482a07e06c040274ba753082fcec2fb2f1aab09568faff82f0ae62", - "format": 1 - }, - { "name": "roles/backend/handlers", "ftype": "dir", "chksum_type": null, @@ -1383,21 +1446,35 @@ "name": "roles/backend/meta/main.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "63f743937b9ac5934aeec02276ac957df1938266a31eab041e409e169547a884", + "chksum_sha256": "902916e2a63a66a02a5d74265aa29212cf69a36d5f8b97284b1eda2c1bed660c", "format": 1 }, { - "name": "roles/backend/tasks", + "name": "roles/backend/README.md", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "abed04af924e7b21fae4477c9173d4f73d92aa094cf8ffa8b88b8a7f79fe1471", + "format": 1 + }, + { + "name": "roles/backend/templates", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "roles/backend/tasks/configure.yml", + "name": "roles/backend/templates/backend.yml.j2", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e98b97ba542db5c359b1beb3fe1f71aeb1785fc8bfb2edf5aebdca3185e4b9a4", + "chksum_sha256": "1b5232126bd8ce881d4c485c316a1277dc517d6854c8845140bcc9a5417550f1", + "format": 1 + }, + { + "name": "roles/backend/tasks", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { @@ -1415,17 +1492,10 @@ "format": 1 }, { - "name": "roles/backend/templates", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, - "format": 1 - }, - { - "name": "roles/backend/templates/backend.yml.j2", + "name": "roles/backend/tasks/configure.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "1b5232126bd8ce881d4c485c316a1277dc517d6854c8845140bcc9a5417550f1", + "chksum_sha256": "e98b97ba542db5c359b1beb3fe1f71aeb1785fc8bfb2edf5aebdca3185e4b9a4", "format": 1 }, { @@ -1443,34 +1513,27 @@ "format": 1 }, { - "name": "roles/install", + "name": "roles/backend/defaults", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "roles/install/README.md", + "name": "roles/backend/defaults/main.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "6a2e966b8223c0a1a7537bda83d6cc580306e4905c78a1f203b69743ee847a5e", + "chksum_sha256": "69b3e10221482a07e06c040274ba753082fcec2fb2f1aab09568faff82f0ae62", "format": 1 }, { - "name": "roles/install/defaults", + "name": "roles/install", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "roles/install/defaults/main.yml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "f41fadb8a7ff1dc31113590444ea5704d77beb8771cc09f55993c92c469b6613", - "format": 1 - }, - { "name": "roles/install/meta", "ftype": "dir", "chksum_type": null, @@ -1488,35 +1551,28 @@ "name": "roles/install/meta/main.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "f421fc4b8f713f9f11290bbff7ad2cb90d5f78d83309e1e6c7b683fa6e24e73a", + "chksum_sha256": "6a7006987c651d7808f96ee8fd0fee4589aded885b339a6c802b2339beb18100", "format": 1 }, { - "name": "roles/install/tasks", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "roles/install/README.md", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "6a2e966b8223c0a1a7537bda83d6cc580306e4905c78a1f203b69743ee847a5e", "format": 1 }, { - "name": "roles/install/tasks/apt", + "name": "roles/install/tasks", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "roles/install/tasks/apt/install.yml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "898d2b4b57b332107c48dfb40dcccc3d40ea7b532eeaca4c9c201dc3558f5ee7", - "format": 1 - }, - { - "name": "roles/install/tasks/apt/prepare.yml", + "name": "roles/install/tasks/packages.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "547a5982a060392175b4e0981da7435add9b9471272fcf6d7163b6f1ab618b0a", + "chksum_sha256": "c5cf23a3b44d5babcb0535c12d458031829c5ff9d611168934d7c52beae578a0", "format": 1 }, { @@ -1537,14 +1593,28 @@ "name": "roles/install/tasks/dnf/prepare.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "87483a599eb30e4b21649ee15f3b772430f5f9fe4f801e27a3e590acbf6e96fb", + "chksum_sha256": "c8a57eab41e5f0a1b5fb02edea828339151c05e0faf93839c599715c6fd9cccf", "format": 1 }, { - "name": "roles/install/tasks/main.yml", + "name": "roles/install/tasks/apt", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, + "format": 1 + }, + { + "name": "roles/install/tasks/apt/install.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "79065db24a92c889558d118f4b3479cc5cc479a7f4cb82d336d058d8cf4c2417", + "chksum_sha256": "898d2b4b57b332107c48dfb40dcccc3d40ea7b532eeaca4c9c201dc3558f5ee7", + "format": 1 + }, + { + "name": "roles/install/tasks/apt/prepare.yml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "77aba73f66a0a1d6a0ec594bdbbc04b4581d8808c7e8a49e3241e29f6e41c14b", "format": 1 }, { @@ -1562,17 +1632,10 @@ "format": 1 }, { - "name": "roles/install/tasks/packages.yml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "c5cf23a3b44d5babcb0535c12d458031829c5ff9d611168934d7c52beae578a0", - "format": 1 - }, - { - "name": "roles/install/tasks/repositories.yml", + "name": "roles/install/tasks/main.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "88334da8f1e5d828e97b05ef7157095fe2c661698566b85407b6b74bb0fa22ea", + "chksum_sha256": "79065db24a92c889558d118f4b3479cc5cc479a7f4cb82d336d058d8cf4c2417", "format": 1 }, { @@ -1593,7 +1656,14 @@ "name": "roles/install/tasks/yum/prepare.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "87483a599eb30e4b21649ee15f3b772430f5f9fe4f801e27a3e590acbf6e96fb", + "chksum_sha256": "c8a57eab41e5f0a1b5fb02edea828339151c05e0faf93839c599715c6fd9cccf", + "format": 1 + }, + { + "name": "roles/install/tasks/repositories.yml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "88334da8f1e5d828e97b05ef7157095fe2c661698566b85407b6b74bb0fa22ea", "format": 1 }, { @@ -1604,10 +1674,10 @@ "format": 1 }, { - "name": "roles/install/vars/Alma.yml", + "name": "roles/install/vars/Ubuntu.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "40c19f543bbc4ec7a040d6d6ffea0ca3104e92169e1006948c1c35dc97e7f2ac", + "chksum_sha256": "dd63d426d344ec5ba922791b9bc0d1af5911ae3c87318a594a29222091da1496", "format": 1 }, { @@ -1618,7 +1688,7 @@ "format": 1 }, { - "name": "roles/install/vars/CentOS.yml", + "name": "roles/install/vars/AlmaLinux.yml", "ftype": "file", "chksum_type": "sha256", "chksum_sha256": "40c19f543bbc4ec7a040d6d6ffea0ca3104e92169e1006948c1c35dc97e7f2ac", @@ -1632,7 +1702,7 @@ "format": 1 }, { - "name": "roles/install/vars/OracleLinux.yml", + "name": "roles/install/vars/Alma.yml", "ftype": "file", "chksum_type": "sha256", "chksum_sha256": "40c19f543bbc4ec7a040d6d6ffea0ca3104e92169e1006948c1c35dc97e7f2ac", @@ -1646,934 +1716,934 @@ "format": 1 }, { - "name": "roles/install/vars/Rocky.yml", + "name": "roles/install/vars/OracleLinux.yml", "ftype": "file", "chksum_type": "sha256", "chksum_sha256": "40c19f543bbc4ec7a040d6d6ffea0ca3104e92169e1006948c1c35dc97e7f2ac", "format": 1 }, { - "name": "roles/install/vars/Ubuntu.yml", + "name": "roles/install/vars/Rocky.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "dd63d426d344ec5ba922791b9bc0d1af5911ae3c87318a594a29222091da1496", + "chksum_sha256": "40c19f543bbc4ec7a040d6d6ffea0ca3104e92169e1006948c1c35dc97e7f2ac", "format": 1 }, { "name": "roles/install/vars/Windows.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "27c41ebf0fc68db661eaf70d17d0149634dff805081e8bd8d530443a52514ca9", + "chksum_sha256": "3be30411ffb71301ba0e6be5d31d023cf71673b1a49d1c15ea063a3977c1bda6", "format": 1 }, { - "name": "sanity.requirements", + "name": "roles/install/vars/CentOS.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "bbe597d4a77973f8ab0f7eafd636df5b4b530f346adbf69afa11e0fd68d58e6c", + "chksum_sha256": "40c19f543bbc4ec7a040d6d6ffea0ca3104e92169e1006948c1c35dc97e7f2ac", "format": 1 }, { - "name": "tests", + "name": "roles/install/defaults", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/config.yml", + "name": "roles/install/defaults/main.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "af61b7b0c3206599d92a45abdff0b6fbc3fc0f30b88216688446b3eb8568b316", + "chksum_sha256": "f41fadb8a7ff1dc31113590444ea5704d77beb8771cc09f55993c92c469b6613", "format": 1 }, { - "name": "tests/integration", + "name": "tests", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/base.yml", + "name": "tests/unit", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, + "format": 1 + }, + { + "name": "tests/unit/requirements.txt", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "1f2c5d511980f16cd927ca1fb52a0f3e601650165ecc202c6a92c6651bad9004", + "chksum_sha256": "06447fa81cc36d2bb270ccc7584d6fcd7adf61e700cd456642ce86d82ba4a8d2", "format": 1 }, { - "name": "tests/integration/molecule", + "name": "tests/unit/plugins", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/molecule/action_bonsai_asset", + "name": "tests/unit/plugins/modules", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/molecule/action_bonsai_asset/converge.yml", + "name": "tests/unit/plugins/modules/test_bonsai_asset.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e2dbfa5a6e7be57ad70994228ffaa50f3763429abe27b9343af0f042eb9fa5ef", + "chksum_sha256": "82136ec7f29b91f1fc3579bc7fcd89e6ad04b61bb83f9e973f34c0e3c27e1266", "format": 1 }, { - "name": "tests/integration/molecule/action_bonsai_asset/molecule.yml", + "name": "tests/unit/plugins/modules/test_entity.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "3bc056f5759661d3dd497e1a17274d3de5a9e6c1be2a184b8debb213d82161ea", "format": 1 }, { - "name": "tests/integration/molecule/misc_api_authentication", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/unit/plugins/modules/test_mutator.py", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "c4e6d54b436549595e3a9a817075e53a211e59aab55ac23ced055fc4c4626589", "format": 1 }, { - "name": "tests/integration/molecule/misc_api_authentication/converge.yml", + "name": "tests/unit/plugins/modules/test_silence_info.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a103594707ff263ec4775108b3885d40e3ba66181548ab7ff38c6427f839591b", + "chksum_sha256": "17253081f5391d67801ee3bb2bad00380d796026a82e0c3fa7a71e932819f34d", "format": 1 }, { - "name": "tests/integration/molecule/misc_api_authentication/molecule.yml", + "name": "tests/unit/plugins/modules/test_secrets_provider_info.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "178e6ea931d9385b4dfec893dba07bdf94dd71fbe1de003ccd1a0885c92f5a82", + "chksum_sha256": "5f7bbfecee49ca348f60862234a440a09eeb80e3f5a7209a73de32cc1fb49627", "format": 1 }, { - "name": "tests/integration/molecule/misc_api_cert", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/unit/plugins/modules/test_cluster_role_binding.py", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "de16415913adc61ac7fd4e53caacefdd1a43f58e4b5240ab15ec2abbfc525423", "format": 1 }, { - "name": "tests/integration/molecule/misc_api_cert/converge.yml", + "name": "tests/unit/plugins/modules/test_mutator_info.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e4d689d76ec95c48b36ecfb982e943b2fbcab7d4555e210afa5ac1ea86c9ba58", + "chksum_sha256": "9925a199b42447ddfade5ed36a2f8e453efd10119edc8fb2a5b00b3f322f0edb", "format": 1 }, { - "name": "tests/integration/molecule/misc_api_cert/files", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/unit/plugins/modules/test_cluster_role_info.py", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "379c271dc5dc1f68cffeaed9fa23b773cc68a6478dd2838f697a21f89ddcf0c3", "format": 1 }, { - "name": "tests/integration/molecule/misc_api_cert/files/regenerate_cert.sh", + "name": "tests/unit/plugins/modules/test_event_info.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e1cbeee84e2890ed38e8118a86d71b2357a3086e399c0d18847cb7219a7f8942", + "chksum_sha256": "8fee8e2246f74a61a7cd1913d41298172033149218490b6d824ca7a95ae477a1", "format": 1 }, { - "name": "tests/integration/molecule/misc_api_cert/files/sensu-api-ca.crt", + "name": "tests/unit/plugins/modules/test_hook.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "6e15983981fc8c3353f5edb949594df0f127db756e510d965674da864cab4a22", + "chksum_sha256": "fe07af2e371eb273df4a04b614144d1e08b6d8baf4fa08d9210bb4249d7574e3", "format": 1 }, { - "name": "tests/integration/molecule/misc_api_cert/files/sensu-api.cnf", + "name": "tests/unit/plugins/modules/test_user_info.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "2814df5948b90fcdbe7d9c7bf94da189df46acf958296ccae967e8a516c3f026", + "chksum_sha256": "a86969539a25edc7b257f3f6fbb6d66bbbd9c5ec056a225ab50afb435fca69f0", "format": 1 }, { - "name": "tests/integration/molecule/misc_api_cert/files/sensu-api.crt", + "name": "tests/unit/plugins/modules/test_socket_handler.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "0bf1aa2f71222da60bff2696da9466cc90141827c25f34dd41d769d8880cce33", + "chksum_sha256": "1c6c8372257d8cb23635ca014529ed44547184c946dc6708761e4faa9d854e99", "format": 1 }, { - "name": "tests/integration/molecule/misc_api_cert/files/sensu-api.key", + "name": "tests/unit/plugins/modules/test_etcd_replicator_info.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "8cb76f736976fa2e46783377825eed07c39a08eca05bd52a7e0b37dc0ff64801", + "chksum_sha256": "c96e92d05da16572893d66419fb16bbfed6e04cfa02c5e3709125fd84bdf5437", "format": 1 }, { - "name": "tests/integration/molecule/misc_api_cert/files/sensu-api.pem", + "name": "tests/unit/plugins/modules/test_entity_info.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e4ebf381f9356973875265175984c5042503e6ed797e4082f14df6acdc16705b", + "chksum_sha256": "f7c84f01c9e6b12b7206c3762adbb2e7bedcdd9fe7788d53f9952b15039e68d3", "format": 1 }, { - "name": "tests/integration/molecule/misc_api_cert/molecule.yml", + "name": "tests/unit/plugins/modules/test_pipe_handler_info.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "40408ccc064612c6d4f2651d4cdd58cd2f080c39edcf91e9ac7dda72431b4a44", + "chksum_sha256": "3ca59a788ddc46f76bcb965912ebe31854ffcc295fcbe2d2be7ae6a25d1e2df1", "format": 1 }, { - "name": "tests/integration/molecule/misc_api_cert/prepare.yml", + "name": "tests/unit/plugins/modules/test_oidc_auth_provider.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "838fc000b3a0f408a84e701f276a749520f0db6de4cc6488bca1da2b01a7a0f6", + "chksum_sha256": "5d91ceb486420b9efe8f9ff2e829d92a8773d06b780a1a0f6890d8290e47ae6b", "format": 1 }, { - "name": "tests/integration/molecule/module_ad_auth_provider", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/unit/plugins/modules/test_datastore_info.py", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "84a70506c2b917c456ba6ad8ecddf68e197b14b9d4eeb3964ad465a46111a490", "format": 1 }, { - "name": "tests/integration/molecule/module_ad_auth_provider/converge.yml", + "name": "tests/unit/plugins/modules/test_silence.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "ec0284630a467d5b3d5f05399a82b3ad3d335c0696a21a84772912d16ba24a95", + "chksum_sha256": "e9b2c9f2886bfd3e905eaa0dd8b36e90427d7693533335acbfeeffa6cab5bff4", "format": 1 }, { - "name": "tests/integration/molecule/module_ad_auth_provider/molecule.yml", + "name": "tests/unit/plugins/modules/test_check.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "dc90d0ecd02b29aaae71e2243b072cf74dd716bc7310465d16e14d1bfe78372f", "format": 1 }, { - "name": "tests/integration/molecule/module_asset", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/unit/plugins/modules/test_user.py", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "e316e08a82a1fdb51af0a1978ed9f8b458d477241960abbf2a5d24e121aa11aa", "format": 1 }, { - "name": "tests/integration/molecule/module_asset/converge.yml", + "name": "tests/unit/plugins/modules/test_role.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "2b6f8db8c0524212e095bdb991b16c59898dcdd532f64f9c4da460abae005e5b", + "chksum_sha256": "c33cce895e0a209a7c3e9bf634fa49294df6a659db1198355deef181c5e2c97a", "format": 1 }, { - "name": "tests/integration/molecule/module_asset/molecule.yml", + "name": "tests/unit/plugins/modules/test_asset.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "5acfc811d1996e922e0da03704ff70c0bb0f16783810c4c26425552c3a26938a", "format": 1 }, { - "name": "tests/integration/molecule/module_check", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/unit/plugins/modules/test_pipeline_info.py", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "f8a99bf6e5fadf236cdba2c6f9205c6f6db110a41ad8b0f13a4f2701d022c22e", "format": 1 }, { - "name": "tests/integration/molecule/module_check/converge.yml", + "name": "tests/unit/plugins/modules/test_secret_info.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "cdad4b4ac55395074b2274b1b69a7593a97491185b862d99fb612cc62da5e72b", + "chksum_sha256": "14c1c450ffbb6e25df0c52101c6b57baeb1b10c256f6552babac1b52a3a9a8d1", "format": 1 }, { - "name": "tests/integration/molecule/module_check/molecule.yml", + "name": "tests/unit/plugins/modules/test_check_info.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "eee13871e171c0794a59997220a459a860bbd61556845f6cf96719ddb5c79ab0", "format": 1 }, { - "name": "tests/integration/molecule/module_cluster", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/unit/plugins/modules/test_filter.py", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "84dc4c8b98d91c0b768ab4829dd5355dc1134bd03a7ebea35bd48bb2042f6000", "format": 1 }, { - "name": "tests/integration/molecule/module_cluster/converge.yml", + "name": "tests/unit/plugins/modules/test_role_binding_info.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "6d1ad6139c292c2480408c473fc428277c4816ee548914eed6f87218cfd8250e", + "chksum_sha256": "bfaadac39deff693d35619eebd7f72b65ef111423bebe3bba941247903d83a69", "format": 1 }, { - "name": "tests/integration/molecule/module_cluster/molecule.yml", + "name": "tests/unit/plugins/modules/test_etcd_replicator.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "393df7ccfc9dc9b2fa8098ac475e73594a9af918a324eb76c22be583a3529b93", "format": 1 }, { - "name": "tests/integration/molecule/module_cluster_role", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/unit/plugins/modules/test_secrets_provider_env.py", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "6c99934039a87a12663aaaf42ebe4677f5ce6643e07a8df7821938b8f911c083", "format": 1 }, { - "name": "tests/integration/molecule/module_cluster_role/converge.yml", + "name": "tests/unit/plugins/modules/test_namespace.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "f5983392e530d703f4abb1e630068fd417681ad55fa114d3effdebf6e20ddcdd", + "chksum_sha256": "1c6c0516244674a8650efe22776fd33e57badaaa064e12b1ed5cead96900bca2", "format": 1 }, { - "name": "tests/integration/molecule/module_cluster_role/molecule.yml", + "name": "tests/unit/plugins/modules/test_secrets_provider_vault.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "290c4d80e6722528598cd4bedfea312e38780e0ce33c39d7700bebe6171429b0", "format": 1 }, { - "name": "tests/integration/molecule/module_cluster_role_binding", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/unit/plugins/modules/test_handler_set.py", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "92d2ae7a0fa1859e8955a6e4c789188b6316155f94978ebd17ce2bd19bf274e9", "format": 1 }, { - "name": "tests/integration/molecule/module_cluster_role_binding/converge.yml", + "name": "tests/unit/plugins/modules/test_ad_auth_provider.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "c2a2e52fda050054c7cdaa5dae37ec6ece94f655dbf6ae2a49f3c401ea975c20", + "chksum_sha256": "88d306d1b3342477e23a74093718a485771270e80e975cef597f2d347813e4e7", "format": 1 }, { - "name": "tests/integration/molecule/module_cluster_role_binding/molecule.yml", + "name": "tests/unit/plugins/modules/test_cluster.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "061a44ec3c0655853a136e01a7f4dd5d81e0d6866547e17e428f0001bd6732b2", "format": 1 }, { - "name": "tests/integration/molecule/module_datastore", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/unit/plugins/modules/test_datastore.py", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "461dd2f41c5275d490ff98a3cd572675533661a782e24cf3be1ee7dae32e5991", "format": 1 }, { - "name": "tests/integration/molecule/module_datastore/converge.yml", + "name": "tests/unit/plugins/modules/test_event.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "1dfffb92990f266461a0be38b96ad53007217ac142471ece37f5a72fb54a157d", + "chksum_sha256": "e7c6b4e8b1dbde9ddad3de7e8f90f0916503936d8b8c1f1913d7508d6aa01409", "format": 1 }, { - "name": "tests/integration/molecule/module_datastore/molecule.yml", + "name": "tests/unit/plugins/modules/test_asset_info.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "a16e67d47c994d80a5853488600dc8a8b92ab4414783073a7aeff8eb579aef27", "format": 1 }, { - "name": "tests/integration/molecule/module_entity", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/unit/plugins/modules/test_pipeline.py", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "67e102b22d2bc8b2bdb9f515965d12223fdfd5982a56e657e67be8d60021f7f1", "format": 1 }, { - "name": "tests/integration/molecule/module_entity/converge.yml", + "name": "tests/unit/plugins/modules/test_ldap_auth_provider.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "73c21f1f83697ca17523bcb184a58ed035795326c02ca8eb3c6b4607a6c68be3", + "chksum_sha256": "b7bd8f8d935e45ec68c3e932c0dc06ad61cb0dee5a8a4ddd05106cf20442d437", "format": 1 }, { - "name": "tests/integration/molecule/module_entity/molecule.yml", + "name": "tests/unit/plugins/modules/test_namespace_info.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "cfbd0530d91f6b2532773b78480a87180433f2fc06db3f73d2fa368e62304b95", "format": 1 }, { - "name": "tests/integration/molecule/module_etcd_replicator", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/unit/plugins/modules/test_hook_info.py", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "a847854deab3a0e69022ac957f666b372baa1ef6eb7feebe918dcf4e4b93488a", "format": 1 }, { - "name": "tests/integration/molecule/module_etcd_replicator/converge.yml", + "name": "tests/unit/plugins/modules/test_tessen.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "0900748b08ca92df2e4db5fa8898c36d5d01a1bf00f8c74eb06f1d999a6d7210", + "chksum_sha256": "cf15938a12906fb6e128368c86a29c159704b704ba720fb4cde60c7a636807c5", "format": 1 }, { - "name": "tests/integration/molecule/module_etcd_replicator/molecule.yml", + "name": "tests/unit/plugins/modules/test_cluster_info.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "a3899d5ec41b9bf2bf1fa906667a00797bc8ce330a2a449ae7a423e055f52077", "format": 1 }, { - "name": "tests/integration/molecule/module_event", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/unit/plugins/modules/test_cluster_role.py", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "ba3a056f56e4423245cbf08ad5603d3ab9f4abe685e208e4db96ffe33da42983", "format": 1 }, { - "name": "tests/integration/molecule/module_event/converge.yml", + "name": "tests/unit/plugins/modules/test_auth_provider_info.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "2d688472ed115932914dd5a4b03f288522f1f5951dd6e14aa7920c69907cf049", + "chksum_sha256": "7c0613ee09762fce2ca4a4586780875d1e677a5035a3027d85e209a456527ddb", "format": 1 }, { - "name": "tests/integration/molecule/module_event/molecule.yml", + "name": "tests/unit/plugins/modules/test_cluster_role_binding_info.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "5dbfe0ca293d3b9894446c5e05974e1b51187b217d1d634db01d58bbbd06b583", "format": 1 }, { - "name": "tests/integration/molecule/module_filter", + "name": "tests/unit/plugins/modules/common", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/molecule/module_filter/converge.yml", + "name": "tests/unit/plugins/modules/common/utils.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e0052d11b6e228ff81dfa3dfe9335003381d31825bbcb01a0dc837c4c0db7094", + "chksum_sha256": "9eccbf044ba71f3b9f2e4c8c86655e750d0abfb746f250bcb15cd56546590cbb", "format": 1 }, { - "name": "tests/integration/molecule/module_filter/molecule.yml", + "name": "tests/unit/plugins/modules/test_pipe_handler.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", - "format": 1 - }, - { - "name": "tests/integration/molecule/module_handler_set", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "chksum_sha256": "46528d93c9379ab4b16aae974fb19b4c3db03750b050044f7253147182b1c051", "format": 1 }, { - "name": "tests/integration/molecule/module_handler_set/converge.yml", + "name": "tests/unit/plugins/modules/test_role_binding.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "3997eda49454c728c35d7598d052af3cb9d765dcd3773b309d8c01be09205f05", + "chksum_sha256": "feab97eb2ae29cc6c24d91ec4b325e4e9aec2b5bac41ccf9afd5fa269029ead0", "format": 1 }, { - "name": "tests/integration/molecule/module_handler_set/molecule.yml", + "name": "tests/unit/plugins/modules/test_filter_info.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", - "format": 1 - }, - { - "name": "tests/integration/molecule/module_hook", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "chksum_sha256": "e44e8b46140789b0d83d186a17423be9e30e4e8bffc3b1b4ca1c0a20153743b9", "format": 1 }, { - "name": "tests/integration/molecule/module_hook/converge.yml", + "name": "tests/unit/plugins/modules/test_role_info.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a71edd518ba58a6b65a9ea8556f074f4d667ea7e0d7d62daa645fcbbd17b4153", + "chksum_sha256": "6a179d1ab7fa5aa18873b7b85127ac620b44f632fb8c542ce25c3d25192e7f99", "format": 1 }, { - "name": "tests/integration/molecule/module_hook/molecule.yml", + "name": "tests/unit/plugins/modules/test_secret.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "f2b72c8660b78b33f3acd1aa7ff874cd6a104bc6391d8d56430c2ce780205c1f", "format": 1 }, { - "name": "tests/integration/molecule/module_ldap_auth_provider", + "name": "tests/unit/plugins/action", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/molecule/module_ldap_auth_provider/converge.yml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "6bf3ea1c6a552d955500c71216a883eb0882e0ebd70f39678a1432400f925f53", - "format": 1 - }, - { - "name": "tests/integration/molecule/module_ldap_auth_provider/molecule.yml", + "name": "tests/unit/plugins/action/test_bonsai_asset.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "871bc396c94e567a91b05c54a5ad16ab5fe292cd44769a0a153ff8bf1dc98ef6", "format": 1 }, { - "name": "tests/integration/molecule/module_mutator", + "name": "tests/unit/plugins/filter", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/molecule/module_mutator/converge.yml", + "name": "tests/unit/plugins/filter/test_package_name.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "fe887e75c4eb72ccab90df429255493e74f756d02fd6d86848400210e1cc82a2", + "chksum_sha256": "8c1635b5e7fa4647c9178bf8502e841baef47be79dce0757d69a54dbacc65d37", "format": 1 }, { - "name": "tests/integration/molecule/module_mutator/molecule.yml", + "name": "tests/unit/plugins/filter/test_backends.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "e7cf82138ae1a81dc5d0ce6db0c7fb789bdd9bcc77f72d50ba2efd159088c4d1", "format": 1 }, { - "name": "tests/integration/molecule/module_namespace", + "name": "tests/unit/plugins/module_utils", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/molecule/module_namespace/converge.yml", + "name": "tests/unit/plugins/module_utils/test_http.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d9acc623aecba6078a92642ca1589934731ad8e8b7d4a1d1b2db207b753e636a", + "chksum_sha256": "95109bea3f5e9bdf9b8ffa5859f199d15df613519f3bac4fe442bbfb2252e9ed", "format": 1 }, { - "name": "tests/integration/molecule/module_namespace/molecule.yml", + "name": "tests/unit/plugins/module_utils/test_bonsai.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "7ff1c4f9860b3da9fb53b6291588c8c1c5c07bb12f6e1c45c80bda67f7f43c4a", "format": 1 }, { - "name": "tests/integration/molecule/module_oidc_auth_provider", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/unit/plugins/module_utils/test_client.py", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "addfba5e04ae22eaa7119df5a932aa75f8b2fae5e41d1cd2e4ff58e06d41d7bc", "format": 1 }, { - "name": "tests/integration/molecule/module_oidc_auth_provider/converge.yml", + "name": "tests/unit/plugins/module_utils/test_arguments.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "38beff2e4a2d5ae16f629693049a66aed52be97bea8388e14ca44f01df71862f", + "chksum_sha256": "3121f352128997e9ea58abbcf59461d650b521ac8850215df6d45f33a5215168", "format": 1 }, { - "name": "tests/integration/molecule/module_oidc_auth_provider/molecule.yml", + "name": "tests/unit/plugins/module_utils/test_role_utils.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "93fee68e8e4c325004e0ad1a63871607e6c6453cc12cdb3871c1537db09b638d", "format": 1 }, { - "name": "tests/integration/molecule/module_pipe_handler", + "name": "tests/unit/plugins/module_utils/test_utils.py", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "d08afb7804ff3f8b6027943c1f65009938c3293e696c796ad943fe4fad427861", + "format": 1 + }, + { + "name": "tests/sanity", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/molecule/module_pipe_handler/converge.yml", + "name": "tests/sanity/ignore-2.11.txt", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "fcc73e6d100431a5c574436eb7ed4e4a39ac0fdb97da1fa81922d6d41c26cf13", + "chksum_sha256": "a8902a1d1eea3b9bae32533cecec1bf7eab225616092b4a045c68a97a3cfd236", "format": 1 }, { - "name": "tests/integration/molecule/module_pipe_handler/molecule.yml", + "name": "tests/sanity/validate-role-metadata.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "5e06455bcce84f42f0ad39b10c375876390c859dfb2556ffb7f965868d2e9b0e", "format": 1 }, { - "name": "tests/integration/molecule/module_role", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/sanity/ignore-2.13.txt", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "a8902a1d1eea3b9bae32533cecec1bf7eab225616092b4a045c68a97a3cfd236", "format": 1 }, { - "name": "tests/integration/molecule/module_role/converge.yml", + "name": "tests/sanity/ignore-2.15.txt", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "fa4458370a2096eb4e17ab87211fe21f8674dc3e4547800725126d5db0f8f8ee", + "chksum_sha256": "a8902a1d1eea3b9bae32533cecec1bf7eab225616092b4a045c68a97a3cfd236", "format": 1 }, { - "name": "tests/integration/molecule/module_role/molecule.yml", + "name": "tests/sanity/ignore-2.9.txt", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "de0a1d28d509982ef8ff2dc7216966ed6b3008ad60427058a52b4e1b1d86e4b3", "format": 1 }, { - "name": "tests/integration/molecule/module_role_binding", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/sanity/ignore-2.12.txt", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "a8902a1d1eea3b9bae32533cecec1bf7eab225616092b4a045c68a97a3cfd236", "format": 1 }, { - "name": "tests/integration/molecule/module_role_binding/converge.yml", + "name": "tests/sanity/ignore-2.10.txt", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "737ba36bda11bf0e6b6b0fa78df38f25e8b13562586b1c5a83856badc2814308", + "chksum_sha256": "a8902a1d1eea3b9bae32533cecec1bf7eab225616092b4a045c68a97a3cfd236", "format": 1 }, { - "name": "tests/integration/molecule/module_role_binding/molecule.yml", + "name": "tests/sanity/ignore-2.14.txt", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "a8902a1d1eea3b9bae32533cecec1bf7eab225616092b4a045c68a97a3cfd236", "format": 1 }, { - "name": "tests/integration/molecule/module_secret", + "name": "tests/config.yml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "af61b7b0c3206599d92a45abdff0b6fbc3fc0f30b88216688446b3eb8568b316", + "format": 1 + }, + { + "name": "tests/integration", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/molecule/module_secret/converge.yml", + "name": "tests/integration/base.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "86c3512a17b4fc59ce1be531d9555ec5d8e4d987e6cb885b23364769588a9128", + "chksum_sha256": "85613c3290241874bc516d58fbfe9e58ce0c765c2a1a8d0f6050775f3afc8de1", "format": 1 }, { - "name": "tests/integration/molecule/module_secret/molecule.yml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "name": "tests/integration/molecule", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/molecule/module_secrets_provider_env", + "name": "tests/integration/molecule/module_ldap_auth_provider", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/molecule/module_secrets_provider_env/converge.yml", + "name": "tests/integration/molecule/module_ldap_auth_provider/molecule.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "f87d981967990828c647e9cfeee55d41773965da176f5f3252e2401254eff587", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "tests/integration/molecule/module_secrets_provider_env/molecule.yml", + "name": "tests/integration/molecule/module_ldap_auth_provider/converge.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "b41f7a82a6e6173786d683eb754b153fd9452a02a62087381cce5727e164a38d", "format": 1 }, { - "name": "tests/integration/molecule/module_secrets_provider_vault", + "name": "tests/integration/molecule/module_user", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/molecule/module_secrets_provider_vault/converge.yml", + "name": "tests/integration/molecule/module_user/molecule.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "71dafe888fba8c7b21fae6565418085c3dd9eb9a286395098ff20b554c6d5006", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "tests/integration/molecule/module_secrets_provider_vault/files", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/molecule/module_user/converge.yml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "a793fbe9f58551db0744654fa12686f2aaf7e0c44c0a32442c4d2fc6a3fc1c13", "format": 1 }, { - "name": "tests/integration/molecule/module_secrets_provider_vault/files/ca.crt", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "fe7aebed0559a563d303ad5402661734500bf759b541f5604aabc6f2784682fb", + "name": "tests/integration/molecule/role_install_default_deb", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/molecule/module_secrets_provider_vault/files/client.crt", + "name": "tests/integration/molecule/role_install_default_deb/verify.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "c45c551e047d0e4503f842b3fd74b9d688352fb18c39d415f91639e52bad7104", + "chksum_sha256": "c4d0513f413851eaa1471d9b809066e36ee035d12fc358311955ef32d22f694c", "format": 1 }, { - "name": "tests/integration/molecule/module_secrets_provider_vault/files/client.key", + "name": "tests/integration/molecule/role_install_default_deb/molecule.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "c814aec9b7f3147b1e95e0cad0520483ccf584c0b39da372749dd90dc5ee4a86", + "chksum_sha256": "f6e445697b36102693e425843abca119175b3e9d01658721c736a93abce5b978", "format": 1 }, { - "name": "tests/integration/molecule/module_secrets_provider_vault/molecule.yml", + "name": "tests/integration/molecule/role_install_default_deb/converge.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "09c96f594df40aa4594df24eae84a309a41078f2b5964adaf88650961eae9786", "format": 1 }, { - "name": "tests/integration/molecule/module_silence", + "name": "tests/integration/molecule/module_cluster_role", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/molecule/module_silence/converge.yml", + "name": "tests/integration/molecule/module_cluster_role/molecule.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "adf96830a4733c69f56bebfdf6dce57e7cedab88293717195b66af220c8d8f2d", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "tests/integration/molecule/module_silence/molecule.yml", + "name": "tests/integration/molecule/module_cluster_role/converge.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "b3264bc5490471e5e78d7104fedd886af05905c8b925289331ab836b945de645", "format": 1 }, { - "name": "tests/integration/molecule/module_socket_handler", + "name": "tests/integration/molecule/module_check", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/molecule/module_socket_handler/converge.yml", + "name": "tests/integration/molecule/module_check/molecule.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "78651227496b976709bf419da5786798480534c8bb163a2b990c3b0a05e1198c", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "tests/integration/molecule/module_socket_handler/molecule.yml", + "name": "tests/integration/molecule/module_check/converge.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "040f9cffa9429f5e9d3bfbd986c404ecc0a1e5d043c4d5d685614ea71b94ae14", "format": 1 }, { - "name": "tests/integration/molecule/module_tessen", + "name": "tests/integration/molecule/module_silence", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/molecule/module_tessen/converge.yml", + "name": "tests/integration/molecule/module_silence/molecule.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e72c0d42335048393941d38135ca5d3c2432cc457d144087febb328229fa96cc", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "tests/integration/molecule/module_tessen/molecule.yml", + "name": "tests/integration/molecule/module_silence/converge.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "6c2ba61f2f10aad3113b0d0775d4119708947df5c5f02ccde7afbf2a6f3abb70", "format": 1 }, { - "name": "tests/integration/molecule/module_user", + "name": "tests/integration/molecule/role_agent_default", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/molecule/module_user/converge.yml", + "name": "tests/integration/molecule/role_agent_default/verify.yml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "85fe091e6356f0cdd69ebd8c72021861fb3bba3f0959ab01d04e2abf4859cc61", + "format": 1 + }, + { + "name": "tests/integration/molecule/role_agent_default/molecule.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a8ac86c519df0b738354382db5c6e5da8954affaf4d05bcc38cab98bee0e5ff9", + "chksum_sha256": "cda77841bd0f1c57dd69f537f6bd94aec9663f2da32e71151ed3c86210724319", "format": 1 }, { - "name": "tests/integration/molecule/module_user/molecule.yml", + "name": "tests/integration/molecule/role_agent_default/converge.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", + "chksum_sha256": "d25cbe6afe40aef0ad685ae0c2107ff210096430ae169926c454c266f312e630", "format": 1 }, { - "name": "tests/integration/molecule/role_agent_config", + "name": "tests/integration/molecule/module_oidc_auth_provider", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/molecule/role_agent_config/converge.yml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "8f08b5e71c731c4cde354962cde92cbecec4706d0ebcabf94c671050f6a52de0", - "format": 1 - }, - { - "name": "tests/integration/molecule/role_agent_config/molecule.yml", + "name": "tests/integration/molecule/module_oidc_auth_provider/molecule.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "9c426f8a43dc7873bfa6b612b3ec4a7202048bcfac7aa3bf6a1e43e6f7309004", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "tests/integration/molecule/role_agent_config/prepare.yml", + "name": "tests/integration/molecule/module_oidc_auth_provider/converge.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "16470c6cd0197ec6fe497f8853e74bef3103c61eeabf4ab5aef027b622df50fb", + "chksum_sha256": "2f7bf38afc27f48455911e6ec644acbc77c7a232f87c7005a7ec939e3f792a13", "format": 1 }, { - "name": "tests/integration/molecule/role_agent_default", + "name": "tests/integration/molecule/module_namespace", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/molecule/role_agent_default/converge.yml", + "name": "tests/integration/molecule/module_namespace/molecule.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d25cbe6afe40aef0ad685ae0c2107ff210096430ae169926c454c266f312e630", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "tests/integration/molecule/role_agent_default/molecule.yml", + "name": "tests/integration/molecule/module_namespace/converge.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "ed9d8cd8d7d34d989588138da69b31b8796cc44fd91d2f4a3fc092c0c44dab83", + "chksum_sha256": "d2bfa8734f4c5ce17be0c23e776454232d7b87fc301f24b803c9ad8691c686d5", "format": 1 }, { - "name": "tests/integration/molecule/role_agent_default/verify.yml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "85fe091e6356f0cdd69ebd8c72021861fb3bba3f0959ab01d04e2abf4859cc61", + "name": "tests/integration/molecule/role_backend_secured", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/molecule/role_agent_secured", + "name": "tests/integration/molecule/role_backend_secured/files", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/molecule/role_agent_secured/converge.yml", + "name": "tests/integration/molecule/role_backend_secured/files/client-ca.crt", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "6a51e6678ebce349d6aea2639a6cbf4b2151cb152230040746a11096b5f1b498", + "chksum_sha256": "b0cc89bb8e83a75c0a17e07039d97801100210eecaf83ba123ad751d31e6c8a5", "format": 1 }, { - "name": "tests/integration/molecule/role_agent_secured/files", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/molecule/role_backend_secured/files/etcd-peer-ca.crt", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "b0cc89bb8e83a75c0a17e07039d97801100210eecaf83ba123ad751d31e6c8a5", "format": 1 }, { - "name": "tests/integration/molecule/role_agent_secured/files/sensu-agent-trusted-ca.crt", + "name": "tests/integration/molecule/role_backend_secured/files/sensu-api.crt", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b0cc89bb8e83a75c0a17e07039d97801100210eecaf83ba123ad751d31e6c8a5", + "chksum_sha256": "8148d3f7b944ff7feac4ad469114c1779e2967aa33b9f58eae7ff42f204549a0", "format": 1 }, { - "name": "tests/integration/molecule/role_agent_secured/molecule.yml", + "name": "tests/integration/molecule/role_backend_secured/files/etcd-client.key", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "f5177a971e90cc7c13588e447b22452f1a33a94ab25e151d686d6bc17a01b690", + "chksum_sha256": "ef8116f17b7fd958a579c58890af7bfd80f16e168b19aa8b7f8c402578ab7e7e", "format": 1 }, { - "name": "tests/integration/molecule/role_backend_config", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/molecule/role_backend_secured/files/etcd-client.crt", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "91f1ad5e44a2ccda387a4fdb473a6b1eac220c0dffe7ed786de575d8b0ec89cf", "format": 1 }, { - "name": "tests/integration/molecule/role_backend_config/converge.yml", + "name": "tests/integration/molecule/role_backend_secured/files/sensu-api.key", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "73163b370569fd1c63f5932de6777d051c38d8c752230f300c2c1d0f2aa092cd", + "chksum_sha256": "543416d24894fc79aa28ec6d021dfe190c4cc94ed8939cc55d35779fb2808c84", "format": 1 }, { - "name": "tests/integration/molecule/role_backend_config/molecule.yml", + "name": "tests/integration/molecule/role_backend_secured/files/sensu-api-ca.crt", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "9c426f8a43dc7873bfa6b612b3ec4a7202048bcfac7aa3bf6a1e43e6f7309004", + "chksum_sha256": "b0cc89bb8e83a75c0a17e07039d97801100210eecaf83ba123ad751d31e6c8a5", "format": 1 }, { - "name": "tests/integration/molecule/role_backend_config/prepare.yml", + "name": "tests/integration/molecule/role_backend_secured/files/sensu-dashboard.key", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "16470c6cd0197ec6fe497f8853e74bef3103c61eeabf4ab5aef027b622df50fb", + "chksum_sha256": "4a40d9838c79807115f56c9d5b40e6a212fc1c159aa7bb696d1b4a64e232bb2c", "format": 1 }, { - "name": "tests/integration/molecule/role_backend_default", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/molecule/role_backend_secured/files/etcd-peer.key", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "4f4b32ab8dd49b9f2a64c6c6600335b242d100f7e722cbb87efa427732af7aff", "format": 1 }, { - "name": "tests/integration/molecule/role_backend_default/converge.yml", + "name": "tests/integration/molecule/role_backend_secured/files/etcd-peer.crt", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "4d481df5407ba137a0940116b8f61c1747d9a3ea8b3e85784aa407a853bfd5aa", + "chksum_sha256": "fd16ec3d07a7cdfe74910e6a769b4fe5cc73b7f5ae49b22ea53fee53ad62ebef", "format": 1 }, { - "name": "tests/integration/molecule/role_backend_default/molecule.yml", + "name": "tests/integration/molecule/role_backend_secured/files/sensu-dashboard.crt", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "da4958f5d8476f6fbd162618b6b619a2701a45d2c4c44796bb5f1439233f1e0c", + "chksum_sha256": "cf6928ab177a3df13777cb16d91db990a5771a7bbdb6464aa103dac948b4958d", "format": 1 }, { - "name": "tests/integration/molecule/role_backend_default/verify.yml", + "name": "tests/integration/molecule/role_backend_secured/prepare.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "2ec3ee5184c79e85939d3a870ace1a1f3c25592ec3d87f3184b2da81c433796c", + "chksum_sha256": "16470c6cd0197ec6fe497f8853e74bef3103c61eeabf4ab5aef027b622df50fb", "format": 1 }, { - "name": "tests/integration/molecule/role_backend_secured", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/molecule/role_backend_secured/molecule.yml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "8b1c3eed7bee4ced542d603022ec774aea5ec75ed2dd618cce02b41269d85897", "format": 1 }, { @@ -2584,808 +2654,836 @@ "format": 1 }, { - "name": "tests/integration/molecule/role_backend_secured/files", + "name": "tests/integration/molecule/misc_api_cert", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/molecule/role_backend_secured/files/client-ca.crt", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "b0cc89bb8e83a75c0a17e07039d97801100210eecaf83ba123ad751d31e6c8a5", + "name": "tests/integration/molecule/misc_api_cert/files", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/molecule/role_backend_secured/files/etcd-client.crt", + "name": "tests/integration/molecule/misc_api_cert/files/regenerate_cert.sh", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "91f1ad5e44a2ccda387a4fdb473a6b1eac220c0dffe7ed786de575d8b0ec89cf", + "chksum_sha256": "e1cbeee84e2890ed38e8118a86d71b2357a3086e399c0d18847cb7219a7f8942", "format": 1 }, { - "name": "tests/integration/molecule/role_backend_secured/files/etcd-client.key", + "name": "tests/integration/molecule/misc_api_cert/files/sensu-api.crt", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "ef8116f17b7fd958a579c58890af7bfd80f16e168b19aa8b7f8c402578ab7e7e", + "chksum_sha256": "0bf1aa2f71222da60bff2696da9466cc90141827c25f34dd41d769d8880cce33", "format": 1 }, { - "name": "tests/integration/molecule/role_backend_secured/files/etcd-peer-ca.crt", + "name": "tests/integration/molecule/misc_api_cert/files/sensu-api.cnf", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b0cc89bb8e83a75c0a17e07039d97801100210eecaf83ba123ad751d31e6c8a5", + "chksum_sha256": "2814df5948b90fcdbe7d9c7bf94da189df46acf958296ccae967e8a516c3f026", "format": 1 }, { - "name": "tests/integration/molecule/role_backend_secured/files/etcd-peer.crt", + "name": "tests/integration/molecule/misc_api_cert/files/sensu-api.key", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "fd16ec3d07a7cdfe74910e6a769b4fe5cc73b7f5ae49b22ea53fee53ad62ebef", + "chksum_sha256": "8cb76f736976fa2e46783377825eed07c39a08eca05bd52a7e0b37dc0ff64801", "format": 1 }, { - "name": "tests/integration/molecule/role_backend_secured/files/etcd-peer.key", + "name": "tests/integration/molecule/misc_api_cert/files/sensu-api-ca.crt", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "4f4b32ab8dd49b9f2a64c6c6600335b242d100f7e722cbb87efa427732af7aff", + "chksum_sha256": "6e15983981fc8c3353f5edb949594df0f127db756e510d965674da864cab4a22", "format": 1 }, { - "name": "tests/integration/molecule/role_backend_secured/files/sensu-api-ca.crt", + "name": "tests/integration/molecule/misc_api_cert/files/sensu-api.pem", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "b0cc89bb8e83a75c0a17e07039d97801100210eecaf83ba123ad751d31e6c8a5", + "chksum_sha256": "e4ebf381f9356973875265175984c5042503e6ed797e4082f14df6acdc16705b", "format": 1 }, { - "name": "tests/integration/molecule/role_backend_secured/files/sensu-api.crt", + "name": "tests/integration/molecule/misc_api_cert/prepare.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "8148d3f7b944ff7feac4ad469114c1779e2967aa33b9f58eae7ff42f204549a0", + "chksum_sha256": "838fc000b3a0f408a84e701f276a749520f0db6de4cc6488bca1da2b01a7a0f6", "format": 1 }, { - "name": "tests/integration/molecule/role_backend_secured/files/sensu-api.key", + "name": "tests/integration/molecule/misc_api_cert/molecule.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "543416d24894fc79aa28ec6d021dfe190c4cc94ed8939cc55d35779fb2808c84", + "chksum_sha256": "40408ccc064612c6d4f2651d4cdd58cd2f080c39edcf91e9ac7dda72431b4a44", "format": 1 }, { - "name": "tests/integration/molecule/role_backend_secured/files/sensu-dashboard.crt", + "name": "tests/integration/molecule/misc_api_cert/converge.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "cf6928ab177a3df13777cb16d91db990a5771a7bbdb6464aa103dac948b4958d", + "chksum_sha256": "02dff01c2d3327846e5e0c1590873ad47dc054851602e8cdd34712f0495bc078", "format": 1 }, { - "name": "tests/integration/molecule/role_backend_secured/files/sensu-dashboard.key", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "4a40d9838c79807115f56c9d5b40e6a212fc1c159aa7bb696d1b4a64e232bb2c", + "name": "tests/integration/molecule/module_filter", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/molecule/role_backend_secured/molecule.yml", + "name": "tests/integration/molecule/module_filter/molecule.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "8b1c3eed7bee4ced542d603022ec774aea5ec75ed2dd618cce02b41269d85897", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "tests/integration/molecule/role_backend_secured/prepare.yml", + "name": "tests/integration/molecule/module_filter/converge.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "16470c6cd0197ec6fe497f8853e74bef3103c61eeabf4ab5aef027b622df50fb", + "chksum_sha256": "82848e3538823a3ccca627cb1f749b35055792e69f5c8c077764eb04c81eb39e", "format": 1 }, { - "name": "tests/integration/molecule/role_install_custom_build", + "name": "tests/integration/molecule/module_mutator", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/molecule/role_install_custom_build/converge.yml", + "name": "tests/integration/molecule/module_mutator/molecule.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "2ea525a1ac3c38143e65fcdf208471b53b8e76c6a599e07c712eca8948411499", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "tests/integration/molecule/role_install_custom_build/molecule.yml", + "name": "tests/integration/molecule/module_mutator/converge.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "2c2be29eaf5026cb751a24284ace2e84a0172460f929008a7267bdfab9d77991", + "chksum_sha256": "3b675660585fe4c31bb4a3f1564ff093b04cb3cf48b58b99892ece7d3ecbacb5", "format": 1 }, { - "name": "tests/integration/molecule/role_install_custom_version", + "name": "tests/integration/molecule/misc_api_authentication", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/molecule/role_install_custom_version/converge.yml", + "name": "tests/integration/molecule/misc_api_authentication/molecule.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "0cdb03edcd5234b9ba5dd6e186c2a5ca0efe817f78afd2729b919322f0cbfcc0", + "chksum_sha256": "b67c6baf6630e55d42175d68d11e068bbba9051ca0b71f50f618eee8a5f2a5bb", "format": 1 }, { - "name": "tests/integration/molecule/role_install_custom_version/molecule.yml", + "name": "tests/integration/molecule/misc_api_authentication/converge.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "2c2be29eaf5026cb751a24284ace2e84a0172460f929008a7267bdfab9d77991", + "chksum_sha256": "fb1ecbb67bc712ed33617525420bfc8e21dfba35eead9e254929154c8b9c062c", "format": 1 }, { - "name": "tests/integration/molecule/role_install_default_deb", + "name": "tests/integration/molecule/role_agent_config", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/molecule/role_install_default_deb/converge.yml", + "name": "tests/integration/molecule/role_agent_config/prepare.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "09c96f594df40aa4594df24eae84a309a41078f2b5964adaf88650961eae9786", + "chksum_sha256": "16470c6cd0197ec6fe497f8853e74bef3103c61eeabf4ab5aef027b622df50fb", "format": 1 }, { - "name": "tests/integration/molecule/role_install_default_deb/molecule.yml", + "name": "tests/integration/molecule/role_agent_config/molecule.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a064a3118dae91ed67b5e0c57336439209a3ad34304c8ec7dbb97b3b750c52f4", + "chksum_sha256": "9c426f8a43dc7873bfa6b612b3ec4a7202048bcfac7aa3bf6a1e43e6f7309004", "format": 1 }, { - "name": "tests/integration/molecule/role_install_default_deb/verify.yml", + "name": "tests/integration/molecule/role_agent_config/converge.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "c4d0513f413851eaa1471d9b809066e36ee035d12fc358311955ef32d22f694c", + "chksum_sha256": "8f08b5e71c731c4cde354962cde92cbecec4706d0ebcabf94c671050f6a52de0", "format": 1 }, { - "name": "tests/integration/molecule/role_install_default_rpm", + "name": "tests/integration/molecule/role_agent_secured", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/molecule/role_install_default_rpm/converge.yml", + "name": "tests/integration/molecule/role_agent_secured/files", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, + "format": 1 + }, + { + "name": "tests/integration/molecule/role_agent_secured/files/sensu-agent-trusted-ca.crt", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "09c96f594df40aa4594df24eae84a309a41078f2b5964adaf88650961eae9786", + "chksum_sha256": "b0cc89bb8e83a75c0a17e07039d97801100210eecaf83ba123ad751d31e6c8a5", "format": 1 }, { - "name": "tests/integration/molecule/role_install_default_rpm/molecule.yml", + "name": "tests/integration/molecule/role_agent_secured/molecule.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "73e95af177c03d817a225c1ce68cdac372925249d89a6968041a71192feb1c6d", + "chksum_sha256": "ab34c1f4231210855d4a5a42887203df6ded70e752dfe796e467eaa3c4a9fac2", "format": 1 }, { - "name": "tests/integration/molecule/role_install_default_rpm/verify.yml", + "name": "tests/integration/molecule/role_agent_secured/converge.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "c4d0513f413851eaa1471d9b809066e36ee035d12fc358311955ef32d22f694c", + "chksum_sha256": "09521f42ecd14c1393c28742dc88ebb0792f8b82a00e3229803e8e6d5e7bcf7d", "format": 1 }, { - "name": "tests/integration/molecule/role_install_downgrade", + "name": "tests/integration/molecule/role_backend_default", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/integration/molecule/role_install_downgrade/converge.yml", + "name": "tests/integration/molecule/role_backend_default/verify.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d87274c5bc8f0c3922bffce0baf273392b87fb6cfc0f82d4211f9e33615a5884", + "chksum_sha256": "b463b37be63cd1edaf1abc433ed259065193bce8ba48a24f78c5961bc13e023a", "format": 1 }, { - "name": "tests/integration/molecule/role_install_downgrade/molecule.yml", + "name": "tests/integration/molecule/role_backend_default/molecule.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a14d6db1aa03cf0a5f22d94764dc4101af7c070108c69c54610a40db0d3366c7", + "chksum_sha256": "da4958f5d8476f6fbd162618b6b619a2701a45d2c4c44796bb5f1439233f1e0c", "format": 1 }, { - "name": "tests/sanity", + "name": "tests/integration/molecule/role_backend_default/converge.yml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "4d481df5407ba137a0940116b8f61c1747d9a3ea8b3e85784aa407a853bfd5aa", + "format": 1 + }, + { + "name": "tests/integration/molecule/module_asset", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/sanity/ignore-2.10.txt", + "name": "tests/integration/molecule/module_asset/molecule.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a8902a1d1eea3b9bae32533cecec1bf7eab225616092b4a045c68a97a3cfd236", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "tests/sanity/ignore-2.11.txt", + "name": "tests/integration/molecule/module_asset/converge.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a8902a1d1eea3b9bae32533cecec1bf7eab225616092b4a045c68a97a3cfd236", + "chksum_sha256": "bb05fbe984fd3516ca263d51834edc213dc3ec0ffddf783e2234d9cd69e1b987", "format": 1 }, { - "name": "tests/sanity/ignore-2.12.txt", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "a8902a1d1eea3b9bae32533cecec1bf7eab225616092b4a045c68a97a3cfd236", + "name": "tests/integration/molecule/module_hook", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/sanity/ignore-2.13.txt", + "name": "tests/integration/molecule/module_hook/molecule.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a8902a1d1eea3b9bae32533cecec1bf7eab225616092b4a045c68a97a3cfd236", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "tests/sanity/ignore-2.14.txt", + "name": "tests/integration/molecule/module_hook/converge.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a8902a1d1eea3b9bae32533cecec1bf7eab225616092b4a045c68a97a3cfd236", + "chksum_sha256": "800ccd970bf01363f8a569dbf6b255cf8af64b3df6164aecf69c962948e928f1", "format": 1 }, { - "name": "tests/sanity/ignore-2.15.txt", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "a8902a1d1eea3b9bae32533cecec1bf7eab225616092b4a045c68a97a3cfd236", + "name": "tests/integration/molecule/module_secret", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/sanity/ignore-2.9.txt", + "name": "tests/integration/molecule/module_secret/molecule.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "de0a1d28d509982ef8ff2dc7216966ed6b3008ad60427058a52b4e1b1d86e4b3", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "tests/sanity/validate-role-metadata.py", + "name": "tests/integration/molecule/module_secret/converge.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "5e06455bcce84f42f0ad39b10c375876390c859dfb2556ffb7f965868d2e9b0e", - "format": 1 - }, - { - "name": "tests/unit", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "chksum_sha256": "86c3512a17b4fc59ce1be531d9555ec5d8e4d987e6cb885b23364769588a9128", "format": 1 }, { - "name": "tests/unit/plugins", + "name": "tests/integration/molecule/module_handler_set", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/unit/plugins/action", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/molecule/module_handler_set/molecule.yml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "tests/unit/plugins/action/test_bonsai_asset.py", + "name": "tests/integration/molecule/module_handler_set/converge.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "871bc396c94e567a91b05c54a5ad16ab5fe292cd44769a0a153ff8bf1dc98ef6", + "chksum_sha256": "2f713d5d7ac2997f30ee8af09eef21086909b4ed49345849a696f7307da899a5", "format": 1 }, { - "name": "tests/unit/plugins/filter", + "name": "tests/integration/molecule/role_install_downgrade", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/unit/plugins/filter/test_backends.py", + "name": "tests/integration/molecule/role_install_downgrade/molecule.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e7cf82138ae1a81dc5d0ce6db0c7fb789bdd9bcc77f72d50ba2efd159088c4d1", + "chksum_sha256": "a14d6db1aa03cf0a5f22d94764dc4101af7c070108c69c54610a40db0d3366c7", "format": 1 }, { - "name": "tests/unit/plugins/filter/test_package_name.py", + "name": "tests/integration/molecule/role_install_downgrade/converge.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "8c1635b5e7fa4647c9178bf8502e841baef47be79dce0757d69a54dbacc65d37", + "chksum_sha256": "d87274c5bc8f0c3922bffce0baf273392b87fb6cfc0f82d4211f9e33615a5884", "format": 1 }, { - "name": "tests/unit/plugins/module_utils", + "name": "tests/integration/molecule/module_ad_auth_provider", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/unit/plugins/module_utils/test_arguments.py", + "name": "tests/integration/molecule/module_ad_auth_provider/molecule.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "3121f352128997e9ea58abbcf59461d650b521ac8850215df6d45f33a5215168", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "tests/unit/plugins/module_utils/test_bonsai.py", + "name": "tests/integration/molecule/module_ad_auth_provider/converge.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "7ff1c4f9860b3da9fb53b6291588c8c1c5c07bb12f6e1c45c80bda67f7f43c4a", + "chksum_sha256": "925f0afa6985b2ee4ecbdb5c6c80fce0a5f7d196e1611659ccbc90e054944990", "format": 1 }, { - "name": "tests/unit/plugins/module_utils/test_client.py", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "addfba5e04ae22eaa7119df5a932aa75f8b2fae5e41d1cd2e4ff58e06d41d7bc", + "name": "tests/integration/molecule/module_socket_handler", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/unit/plugins/module_utils/test_http.py", + "name": "tests/integration/molecule/module_socket_handler/molecule.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "95109bea3f5e9bdf9b8ffa5859f199d15df613519f3bac4fe442bbfb2252e9ed", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "tests/unit/plugins/module_utils/test_role_utils.py", + "name": "tests/integration/molecule/module_socket_handler/converge.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "93fee68e8e4c325004e0ad1a63871607e6c6453cc12cdb3871c1537db09b638d", + "chksum_sha256": "f5d8e60d3fc35430164d2fd63b7c1043b98fa4ec290fc3de3c15fbba5cb5836b", "format": 1 }, { - "name": "tests/unit/plugins/module_utils/test_utils.py", + "name": "tests/integration/molecule/role_install_custom_build", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, + "format": 1 + }, + { + "name": "tests/integration/molecule/role_install_custom_build/molecule.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "d08afb7804ff3f8b6027943c1f65009938c3293e696c796ad943fe4fad427861", + "chksum_sha256": "a882f606711809bb9e643206052d09114ed6376bf1c6d26a93ad1a9ef95f9dc0", "format": 1 }, { - "name": "tests/unit/plugins/modules", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/molecule/role_install_custom_build/converge.yml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "2ea525a1ac3c38143e65fcdf208471b53b8e76c6a599e07c712eca8948411499", "format": 1 }, { - "name": "tests/unit/plugins/modules/common", + "name": "tests/integration/molecule/role_install_custom_version", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tests/unit/plugins/modules/common/utils.py", + "name": "tests/integration/molecule/role_install_custom_version/molecule.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "9eccbf044ba71f3b9f2e4c8c86655e750d0abfb746f250bcb15cd56546590cbb", + "chksum_sha256": "a882f606711809bb9e643206052d09114ed6376bf1c6d26a93ad1a9ef95f9dc0", "format": 1 }, { - "name": "tests/unit/plugins/modules/test_ad_auth_provider.py", + "name": "tests/integration/molecule/role_install_custom_version/converge.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "88d306d1b3342477e23a74093718a485771270e80e975cef597f2d347813e4e7", + "chksum_sha256": "0cdb03edcd5234b9ba5dd6e186c2a5ca0efe817f78afd2729b919322f0cbfcc0", "format": 1 }, { - "name": "tests/unit/plugins/modules/test_asset.py", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "5acfc811d1996e922e0da03704ff70c0bb0f16783810c4c26425552c3a26938a", + "name": "tests/integration/molecule/module_etcd_replicator", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/unit/plugins/modules/test_asset_info.py", + "name": "tests/integration/molecule/module_etcd_replicator/molecule.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a16e67d47c994d80a5853488600dc8a8b92ab4414783073a7aeff8eb579aef27", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "tests/unit/plugins/modules/test_auth_provider_info.py", + "name": "tests/integration/molecule/module_etcd_replicator/converge.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "7c0613ee09762fce2ca4a4586780875d1e677a5035a3027d85e209a456527ddb", + "chksum_sha256": "0900748b08ca92df2e4db5fa8898c36d5d01a1bf00f8c74eb06f1d999a6d7210", "format": 1 }, { - "name": "tests/unit/plugins/modules/test_bonsai_asset.py", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "82136ec7f29b91f1fc3579bc7fcd89e6ad04b61bb83f9e973f34c0e3c27e1266", + "name": "tests/integration/molecule/module_tessen", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/unit/plugins/modules/test_check.py", + "name": "tests/integration/molecule/module_tessen/molecule.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "dc90d0ecd02b29aaae71e2243b072cf74dd716bc7310465d16e14d1bfe78372f", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "tests/unit/plugins/modules/test_check_info.py", + "name": "tests/integration/molecule/module_tessen/converge.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "eee13871e171c0794a59997220a459a860bbd61556845f6cf96719ddb5c79ab0", + "chksum_sha256": "dce2792d909bd738b28db845fc45ae39dd6908cf6766fca68e3d41255c9cbdb6", "format": 1 }, { - "name": "tests/unit/plugins/modules/test_cluster.py", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "061a44ec3c0655853a136e01a7f4dd5d81e0d6866547e17e428f0001bd6732b2", + "name": "tests/integration/molecule/module_cluster_role_binding", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/unit/plugins/modules/test_cluster_info.py", + "name": "tests/integration/molecule/module_cluster_role_binding/molecule.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a3899d5ec41b9bf2bf1fa906667a00797bc8ce330a2a449ae7a423e055f52077", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "tests/unit/plugins/modules/test_cluster_role.py", + "name": "tests/integration/molecule/module_cluster_role_binding/converge.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "ba3a056f56e4423245cbf08ad5603d3ab9f4abe685e208e4db96ffe33da42983", + "chksum_sha256": "99dab096faa161bc218daaf0d97573bdcf346182858c3e7b24cfb4616fd8b22d", "format": 1 }, { - "name": "tests/unit/plugins/modules/test_cluster_role_binding.py", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "de16415913adc61ac7fd4e53caacefdd1a43f58e4b5240ab15ec2abbfc525423", + "name": "tests/integration/molecule/module_role_binding", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/unit/plugins/modules/test_cluster_role_binding_info.py", + "name": "tests/integration/molecule/module_role_binding/molecule.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "5dbfe0ca293d3b9894446c5e05974e1b51187b217d1d634db01d58bbbd06b583", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "tests/unit/plugins/modules/test_cluster_role_info.py", + "name": "tests/integration/molecule/module_role_binding/converge.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "379c271dc5dc1f68cffeaed9fa23b773cc68a6478dd2838f697a21f89ddcf0c3", + "chksum_sha256": "47359bfccdd2f0c93ce36e4db6375f15dfb3175b74f3fd896b2adb22ddbc2b3d", "format": 1 }, { - "name": "tests/unit/plugins/modules/test_datastore.py", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "7c89afa9b5416779dc0e39fbac35a6b6834e805fc771c041d27425351e41deab", + "name": "tests/integration/molecule/module_event", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/unit/plugins/modules/test_datastore_info.py", + "name": "tests/integration/molecule/module_event/molecule.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "84a70506c2b917c456ba6ad8ecddf68e197b14b9d4eeb3964ad465a46111a490", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "tests/unit/plugins/modules/test_entity.py", + "name": "tests/integration/molecule/module_event/converge.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "3bc056f5759661d3dd497e1a17274d3de5a9e6c1be2a184b8debb213d82161ea", + "chksum_sha256": "ba60be0f0f00d77bbdc8d2249953ae5229d5f03660f2217aa3171f48d22cadaf", "format": 1 }, { - "name": "tests/unit/plugins/modules/test_entity_info.py", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "f7c84f01c9e6b12b7206c3762adbb2e7bedcdd9fe7788d53f9952b15039e68d3", + "name": "tests/integration/molecule/module_datastore", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/unit/plugins/modules/test_etcd_replicator.py", + "name": "tests/integration/molecule/module_datastore/molecule.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "393df7ccfc9dc9b2fa8098ac475e73594a9af918a324eb76c22be583a3529b93", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "tests/unit/plugins/modules/test_etcd_replicator_info.py", + "name": "tests/integration/molecule/module_datastore/converge.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "c96e92d05da16572893d66419fb16bbfed6e04cfa02c5e3709125fd84bdf5437", + "chksum_sha256": "ac1ebb0423caf81af0662b1ccae7815f520d46b1afe590fe246685fba73157d3", "format": 1 }, { - "name": "tests/unit/plugins/modules/test_event.py", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "e7c6b4e8b1dbde9ddad3de7e8f90f0916503936d8b8c1f1913d7508d6aa01409", + "name": "tests/integration/molecule/role_backend_config", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/unit/plugins/modules/test_event_info.py", + "name": "tests/integration/molecule/role_backend_config/prepare.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "8fee8e2246f74a61a7cd1913d41298172033149218490b6d824ca7a95ae477a1", + "chksum_sha256": "16470c6cd0197ec6fe497f8853e74bef3103c61eeabf4ab5aef027b622df50fb", "format": 1 }, { - "name": "tests/unit/plugins/modules/test_filter.py", + "name": "tests/integration/molecule/role_backend_config/molecule.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "84dc4c8b98d91c0b768ab4829dd5355dc1134bd03a7ebea35bd48bb2042f6000", + "chksum_sha256": "9c426f8a43dc7873bfa6b612b3ec4a7202048bcfac7aa3bf6a1e43e6f7309004", "format": 1 }, { - "name": "tests/unit/plugins/modules/test_filter_info.py", + "name": "tests/integration/molecule/role_backend_config/converge.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "e44e8b46140789b0d83d186a17423be9e30e4e8bffc3b1b4ca1c0a20153743b9", + "chksum_sha256": "740e6a54e66c3b95a8ce4690c4c3a207f3f3fc18e927a2987cc190c65ee7d8f1", "format": 1 }, { - "name": "tests/unit/plugins/modules/test_handler_set.py", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "92d2ae7a0fa1859e8955a6e4c789188b6316155f94978ebd17ce2bd19bf274e9", + "name": "tests/integration/molecule/module_secrets_provider_env", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/unit/plugins/modules/test_hook.py", + "name": "tests/integration/molecule/module_secrets_provider_env/molecule.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "fe07af2e371eb273df4a04b614144d1e08b6d8baf4fa08d9210bb4249d7574e3", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "tests/unit/plugins/modules/test_hook_info.py", + "name": "tests/integration/molecule/module_secrets_provider_env/converge.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a847854deab3a0e69022ac957f666b372baa1ef6eb7feebe918dcf4e4b93488a", + "chksum_sha256": "47d85d4af7d7d4ea482e470e6e3981570cf3fa6083f935ccef8770b42c5e7b64", "format": 1 }, { - "name": "tests/unit/plugins/modules/test_ldap_auth_provider.py", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "b7bd8f8d935e45ec68c3e932c0dc06ad61cb0dee5a8a4ddd05106cf20442d437", + "name": "tests/integration/molecule/action_bonsai_asset", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/unit/plugins/modules/test_mutator.py", + "name": "tests/integration/molecule/action_bonsai_asset/molecule.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "c4e6d54b436549595e3a9a817075e53a211e59aab55ac23ced055fc4c4626589", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "tests/unit/plugins/modules/test_mutator_info.py", + "name": "tests/integration/molecule/action_bonsai_asset/converge.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "9925a199b42447ddfade5ed36a2f8e453efd10119edc8fb2a5b00b3f322f0edb", + "chksum_sha256": "a3ac794071ef0e42e1c170ad3fce9777c49520e1d1f0dd8c7abf1e6b6e69d780", "format": 1 }, { - "name": "tests/unit/plugins/modules/test_namespace.py", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "1c6c0516244674a8650efe22776fd33e57badaaa064e12b1ed5cead96900bca2", + "name": "tests/integration/molecule/module_entity", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/unit/plugins/modules/test_namespace_info.py", + "name": "tests/integration/molecule/module_entity/molecule.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "cfbd0530d91f6b2532773b78480a87180433f2fc06db3f73d2fa368e62304b95", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "tests/unit/plugins/modules/test_oidc_auth_provider.py", + "name": "tests/integration/molecule/module_entity/converge.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "5d91ceb486420b9efe8f9ff2e829d92a8773d06b780a1a0f6890d8290e47ae6b", + "chksum_sha256": "5f9ed4a628d5905b43435ee7b1d40357cc090837f069e8693807b11476943c35", "format": 1 }, { - "name": "tests/unit/plugins/modules/test_pipe_handler.py", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "46528d93c9379ab4b16aae974fb19b4c3db03750b050044f7253147182b1c051", + "name": "tests/integration/molecule/module_secrets_provider_vault", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/unit/plugins/modules/test_pipe_handler_info.py", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "3ca59a788ddc46f76bcb965912ebe31854ffcc295fcbe2d2be7ae6a25d1e2df1", + "name": "tests/integration/molecule/module_secrets_provider_vault/files", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/unit/plugins/modules/test_role.py", + "name": "tests/integration/molecule/module_secrets_provider_vault/files/client.crt", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "c33cce895e0a209a7c3e9bf634fa49294df6a659db1198355deef181c5e2c97a", + "chksum_sha256": "c45c551e047d0e4503f842b3fd74b9d688352fb18c39d415f91639e52bad7104", "format": 1 }, { - "name": "tests/unit/plugins/modules/test_role_binding.py", + "name": "tests/integration/molecule/module_secrets_provider_vault/files/client.key", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "feab97eb2ae29cc6c24d91ec4b325e4e9aec2b5bac41ccf9afd5fa269029ead0", + "chksum_sha256": "c814aec9b7f3147b1e95e0cad0520483ccf584c0b39da372749dd90dc5ee4a86", "format": 1 }, { - "name": "tests/unit/plugins/modules/test_role_binding_info.py", + "name": "tests/integration/molecule/module_secrets_provider_vault/files/ca.crt", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "bfaadac39deff693d35619eebd7f72b65ef111423bebe3bba941247903d83a69", + "chksum_sha256": "fe7aebed0559a563d303ad5402661734500bf759b541f5604aabc6f2784682fb", "format": 1 }, { - "name": "tests/unit/plugins/modules/test_role_info.py", + "name": "tests/integration/molecule/module_secrets_provider_vault/molecule.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "6a179d1ab7fa5aa18873b7b85127ac620b44f632fb8c542ce25c3d25192e7f99", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "tests/unit/plugins/modules/test_secret.py", + "name": "tests/integration/molecule/module_secrets_provider_vault/converge.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "f2b72c8660b78b33f3acd1aa7ff874cd6a104bc6391d8d56430c2ce780205c1f", + "chksum_sha256": "4a620de07c22a3e7f0af63c0232684258f3e074f9bbec380611a8c9575d2ffea", "format": 1 }, { - "name": "tests/unit/plugins/modules/test_secret_info.py", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "14c1c450ffbb6e25df0c52101c6b57baeb1b10c256f6552babac1b52a3a9a8d1", + "name": "tests/integration/molecule/role_install_default_rpm", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/unit/plugins/modules/test_secrets_provider_env.py", + "name": "tests/integration/molecule/role_install_default_rpm/verify.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "6c99934039a87a12663aaaf42ebe4677f5ce6643e07a8df7821938b8f911c083", + "chksum_sha256": "c4d0513f413851eaa1471d9b809066e36ee035d12fc358311955ef32d22f694c", "format": 1 }, { - "name": "tests/unit/plugins/modules/test_secrets_provider_info.py", + "name": "tests/integration/molecule/role_install_default_rpm/molecule.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "5f7bbfecee49ca348f60862234a440a09eeb80e3f5a7209a73de32cc1fb49627", + "chksum_sha256": "73e95af177c03d817a225c1ce68cdac372925249d89a6968041a71192feb1c6d", "format": 1 }, { - "name": "tests/unit/plugins/modules/test_secrets_provider_vault.py", + "name": "tests/integration/molecule/role_install_default_rpm/converge.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "290c4d80e6722528598cd4bedfea312e38780e0ce33c39d7700bebe6171429b0", + "chksum_sha256": "09c96f594df40aa4594df24eae84a309a41078f2b5964adaf88650961eae9786", "format": 1 }, { - "name": "tests/unit/plugins/modules/test_silence.py", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "e9b2c9f2886bfd3e905eaa0dd8b36e90427d7693533335acbfeeffa6cab5bff4", + "name": "tests/integration/molecule/module_pipeline", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "tests/unit/plugins/modules/test_silence_info.py", + "name": "tests/integration/molecule/module_pipeline/molecule.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "17253081f5391d67801ee3bb2bad00380d796026a82e0c3fa7a71e932819f34d", + "chksum_sha256": "e5803832ba5b616f21809ee828ec619e6bb55515596161819e9c4c43c12ffb19", "format": 1 }, { - "name": "tests/unit/plugins/modules/test_socket_handler.py", + "name": "tests/integration/molecule/module_pipeline/converge.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "1c6c8372257d8cb23635ca014529ed44547184c946dc6708761e4faa9d854e99", + "chksum_sha256": "79f6f1d9257b8a4ea3d6a92b05d522d2a1d6dbde0f6c0223c66a81a10850ac8c", "format": 1 }, { - "name": "tests/unit/plugins/modules/test_tessen.py", + "name": "tests/integration/molecule/module_role", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, + "format": 1 + }, + { + "name": "tests/integration/molecule/module_role/molecule.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "cf15938a12906fb6e128368c86a29c159704b704ba720fb4cde60c7a636807c5", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "tests/unit/plugins/modules/test_user.py", + "name": "tests/integration/molecule/module_role/converge.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "69831b92a8d7aa676811ecf8b96f25dd87412442412f4a37f47041030b639c7c", + "chksum_sha256": "69536cb9242fa75424ebea3b897802dc6f156656a253cedc45b86052427f8a80", "format": 1 }, { - "name": "tests/unit/plugins/modules/test_user_info.py", + "name": "tests/integration/molecule/module_pipe_handler", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, + "format": 1 + }, + { + "name": "tests/integration/molecule/module_pipe_handler/molecule.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a86969539a25edc7b257f3f6fbb6d66bbbd9c5ec056a225ab50afb435fca69f0", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "tests/unit/requirements.txt", + "name": "tests/integration/molecule/module_pipe_handler/converge.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "06447fa81cc36d2bb270ccc7584d6fcd7adf61e700cd456642ce86d82ba4a8d2", + "chksum_sha256": "5145932f6aa71c50f06d9c427e8749fdddc3f6ec2ec6c560a2efe0ec90daa34e", "format": 1 }, { - "name": "tools", + "name": "tests/integration/molecule/module_cluster", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "tools/windows-versions.py", + "name": "tests/integration/molecule/module_cluster/molecule.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "9f0e1b109a07d031b7741626fdb5efb11a06cd32e26d9faa6d1689ec2fc97b9f", + "chksum_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "format": 1 }, { - "name": "vagrant", - "ftype": "dir", - "chksum_type": null, - "chksum_sha256": null, + "name": "tests/integration/molecule/module_cluster/converge.yml", + "ftype": "file", + "chksum_type": "sha256", + "chksum_sha256": "6d1ad6139c292c2480408c473fc428277c4816ee548914eed6f87218cfd8250e", "format": 1 }, { - "name": "vagrant/windows", + "name": "tools", "ftype": "dir", "chksum_type": null, "chksum_sha256": null, "format": 1 }, { - "name": "vagrant/windows/Vagrantfile", + "name": "tools/windows-versions.py", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "577e722a616b4460c8616a3e157dff8bd9b0797c13f45746524aa092e41281ca", + "chksum_sha256": "9f0e1b109a07d031b7741626fdb5efb11a06cd32e26d9faa6d1689ec2fc97b9f", "format": 1 }, { - "name": "vagrant/windows/back.yaml", + "name": "docs.requirements", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "a77bcf415efb41013cdd8c5d792e58e204bce9c7fb2a00a54782d21290a22fde", + "chksum_sha256": "8dcdf757a8f9dcdaf8a0a95ad6add12a3d8eeae94691bbe85f9a9a5b8f8056f3", "format": 1 }, { - "name": "vagrant/windows/inventory.yaml", - "ftype": "file", - "chksum_type": "sha256", - "chksum_sha256": "f77cdd5742fc469605610da3a8477e9774e3ef1540542680517a108837911c23", + "name": ".circleci", + "ftype": "dir", + "chksum_type": null, + "chksum_sha256": null, "format": 1 }, { - "name": "vagrant/windows/play.yaml", + "name": ".circleci/config.yml", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "18933fb8ae7cc0906993f601b29f0898107c0b36204eb56d4dc7f14ff4bf480e", + "chksum_sha256": "5374567ce315af2036683dfb61c105ae52e9242145eeef5a8e7fce24f5866c93", "format": 1 } ], diff --git a/ansible_collections/sensu/sensu_go/MANIFEST.json b/ansible_collections/sensu/sensu_go/MANIFEST.json index 71eedb232..8ab9d9cd5 100644 --- a/ansible_collections/sensu/sensu_go/MANIFEST.json +++ b/ansible_collections/sensu/sensu_go/MANIFEST.json @@ -2,7 +2,7 @@ "collection_info": { "namespace": "sensu", "name": "sensu_go", - "version": "1.13.2", + "version": "1.14.0", "authors": [ "Paul Arthur <paul.arthur@flowerysong.com> (@flowerysong)", "XLAB Steampunk <steampunk@xlab.si>" @@ -26,7 +26,7 @@ "name": "FILES.json", "ftype": "file", "chksum_type": "sha256", - "chksum_sha256": "392d5becd5fe7bb69c6ad48108abdce5cfb54eb9791584d189e7783c36e252d8", + "chksum_sha256": "5a253a36408722dd58cb8584336ca8530995eeb902b4bb1cb07f4bb48fd34c8c", "format": 1 }, "format": 1 diff --git a/ansible_collections/sensu/sensu_go/Makefile b/ansible_collections/sensu/sensu_go/Makefile index abadb0485..9ff62a6ab 100644 --- a/ansible_collections/sensu/sensu_go/Makefile +++ b/ansible_collections/sensu/sensu_go/Makefile @@ -57,6 +57,7 @@ $(molecule_scenarios): .PHONY: integration_ci integration_ci: ## Run integration tests on CircleCI pip3 install -r integration.requirements -r collection.requirements + ansible-galaxy install -r molecule.yml mkdir -p test_results/integration pytest -s \ --junitxml=test_results/integration/junit.xml \ diff --git a/ansible_collections/sensu/sensu_go/changelogs/changelog.yaml b/ansible_collections/sensu/sensu_go/changelogs/changelog.yaml index 42569b99d..85506bd46 100644 --- a/ansible_collections/sensu/sensu_go/changelogs/changelog.yaml +++ b/ansible_collections/sensu/sensu_go/changelogs/changelog.yaml @@ -1,5 +1,24 @@ --- releases: + 1.14.0: + release_date: "2023-08-02" + changes: + release_summary: | + New pipeline module added, manages Sensu pipelines. + Smaller changes to datastore and user module. + minor_changes: + - Added Docker file configurations for Ubuntu 20.04 and 22.04 + - Added bcrypt check to user module + - Added aditional parameters for Postgres resource to datastore module + - Added symlink for AlmaLinux.yml for alma linux 9 support + - Added docs for backends and package_name filter + modules: + - name: pipeline + description: Manage Sensu pipelines. + namespace: "" + - name: pipeline_info + description: List Sensu pipelines. + namespace: "" 1.13.2: release_date: "2022-12-22" changes: diff --git a/ansible_collections/sensu/sensu_go/docker/sensu-6.10.0.docker b/ansible_collections/sensu/sensu_go/docker/sensu-6.10.0.docker new file mode 100644 index 000000000..8b1a0cf11 --- /dev/null +++ b/ansible_collections/sensu/sensu_go/docker/sensu-6.10.0.docker @@ -0,0 +1,8 @@ +FROM sensu/sensu:6.10.0 +RUN apk update \ + && apk add --no-cache python3 py3-bcrypt py3-six py3-cffi bash +CMD [ \ + "sensu-backend", "start", \ + "--state-dir", "/var/lib/sensu/sensu-backend", \ + "--log-level", "debug" \ +]
\ No newline at end of file diff --git a/ansible_collections/sensu/sensu_go/docker/ubuntu-20.04.docker b/ansible_collections/sensu/sensu_go/docker/ubuntu-20.04.docker new file mode 100644 index 000000000..39bfaced6 --- /dev/null +++ b/ansible_collections/sensu/sensu_go/docker/ubuntu-20.04.docker @@ -0,0 +1,5 @@ +FROM ubuntu:20.04 +RUN apt-get update \ + && apt-get install -y \ + python sudo bash ca-certificates iproute2 python-apt aptitude \ + && apt-get clean diff --git a/ansible_collections/sensu/sensu_go/docker/ubuntu-22.04.docker b/ansible_collections/sensu/sensu_go/docker/ubuntu-22.04.docker new file mode 100644 index 000000000..dff6f6e88 --- /dev/null +++ b/ansible_collections/sensu/sensu_go/docker/ubuntu-22.04.docker @@ -0,0 +1,5 @@ +FROM ubuntu:22.04 +RUN apt-get update \ + && apt-get install -y \ + python3 sudo bash ca-certificates iproute2 python3-apt aptitude \ + && apt-get clean diff --git a/ansible_collections/sensu/sensu_go/docs/examples/roles/agent.yaml b/ansible_collections/sensu/sensu_go/docs/examples/roles/agent.yaml index f90ac9340..74464936b 100644 --- a/ansible_collections/sensu/sensu_go/docs/examples/roles/agent.yaml +++ b/ansible_collections/sensu/sensu_go/docs/examples/roles/agent.yaml @@ -5,4 +5,4 @@ - sensu.sensu_go.agent vars: agent_config: - backend-url: [ "ws://upstream-backend:4321" ] + backend-url: ["ws://upstream-backend:4321"] diff --git a/ansible_collections/sensu/sensu_go/docs/examples/roles/install.yaml b/ansible_collections/sensu/sensu_go/docs/examples/roles/install.yaml index 4e0282364..64d3ffc19 100644 --- a/ansible_collections/sensu/sensu_go/docs/examples/roles/install.yaml +++ b/ansible_collections/sensu/sensu_go/docs/examples/roles/install.yaml @@ -2,22 +2,22 @@ - name: Install latest sensu-backend binary from stable channel hosts: backends roles: - - sensu.sensu_go.install + - sensu.sensu_go.install vars: - components: [ sensu-go-backend ] + components: [sensu-go-backend] - name: Install latest sensu-agent binary from testing channel hosts: agents roles: - - sensu.sensu_go.install + - sensu.sensu_go.install vars: - components: [ sensu-go-agent ] + components: [sensu-go-agent] channel: testing - name: Install a specific version of sensuctl binary from stable channel hosts: localhost roles: - - sensu.sensu_go.install + - sensu.sensu_go.install vars: - components: [ sensu-go-cli ] + components: [sensu-go-cli] version: 5.14.2 diff --git a/ansible_collections/sensu/sensu_go/docs/source/hacking/docker-images.rst b/ansible_collections/sensu/sensu_go/docs/source/hacking/docker-images.rst index 6196dba07..992f6d982 100644 --- a/ansible_collections/sensu/sensu_go/docs/source/hacking/docker-images.rst +++ b/ansible_collections/sensu/sensu_go/docs/source/hacking/docker-images.rst @@ -12,8 +12,8 @@ docker files should have a name in the format of ``<name>-<tag>.docker``. To build and publish our image, we can run the *docker/build.sh* script:: $ cd docker - $ ./build.sh sensu-5.21.0.docker + $ ./build.sh sensu-6.10.0.docker Note that the command will add a *sensu-go-tests-* prefix to all images. In the previous example, the build script will build the -*quay.io/xlab-steampunk/sensu-go-tests-sensu:5.21.0* image. +*quay.io/xlab-steampunk/sensu-go-tests-sensu:6.10.0* image. diff --git a/ansible_collections/sensu/sensu_go/docs/source/release_notes.rst b/ansible_collections/sensu/sensu_go/docs/source/release_notes.rst index 8accd2043..d492f23c5 100644 --- a/ansible_collections/sensu/sensu_go/docs/source/release_notes.rst +++ b/ansible_collections/sensu/sensu_go/docs/source/release_notes.rst @@ -1,5 +1,22 @@ Release notes ============= +Version 1.14.0 -- New pipeline module added, smaller changes to datastore and user module +----------------------------------------------------------------------------------------- + +Added pipeline module, smaller changes to datastore and user module + +**New features:** + +* Added Docker file configurations for Ubuntu 20.04 and 22.04. +* Added aditional parameters for Postgres resource to datastore module. +* Added symlink for AlmaLinux.yml for alma linux 9 support. +* Added docs for backends and package_name filter. +* Added pipeline_info and pipeline module + +**Bug fixes:** + +* Added bcrypt check to user module. + Version 1.13.2 -- Support for latest Ansible -------------------------------------------- Added support for Ansible 2.14. Added support for Alma and Rocky linux diff --git a/ansible_collections/sensu/sensu_go/integration.requirements b/ansible_collections/sensu/sensu_go/integration.requirements index 5d0734584..bbe5a9dab 100644 --- a/ansible_collections/sensu/sensu_go/integration.requirements +++ b/ansible_collections/sensu/sensu_go/integration.requirements @@ -1,6 +1,4 @@ -molecule ~= 3.2.3 -# Temporary fix until molecule-docker can only support Ansible >= 2.9 -git+https://github.com/xlab-steampunk/molecule-docker.git@temp-fixes#egg=molecule-docker +molecule ~= 5.0.1 +molecule-docker ~= 2.1.0 pytest -# Temporary fix until pytest-molecule is updated to work with ansible-core -git+https://github.com/xlab-steampunk/pytest-molecule.git@temp-fixes#egg=pytest-molecule +pytest-molecule ~= 2.0.0
\ No newline at end of file diff --git a/ansible_collections/sensu/sensu_go/molecule.yml b/ansible_collections/sensu/sensu_go/molecule.yml new file mode 100644 index 000000000..493e9bada --- /dev/null +++ b/ansible_collections/sensu/sensu_go/molecule.yml @@ -0,0 +1,2 @@ +collections: + - name: ansible.posix
\ No newline at end of file diff --git a/ansible_collections/sensu/sensu_go/plugins/filter/backends.py b/ansible_collections/sensu/sensu_go/plugins/filter/backends.py index ecafd458f..a71f25ec5 100644 --- a/ansible_collections/sensu/sensu_go/plugins/filter/backends.py +++ b/ansible_collections/sensu/sensu_go/plugins/filter/backends.py @@ -6,6 +6,39 @@ from __future__ import (absolute_import, division, print_function) __metaclass__ = type +DOCUMENTATION = ''' + name: backends + author: Tadej Borovsak (@tadeboro) + version_added: 1.13.2 + short_description: Format websocket connection for backends hosts from inventory. + description: + - Socket connection format function. + - Filter backends hosts from ansible inventory groups. + - The return value is a list of websocket connection addresses. + positional: _input + options: + _input: + description: Inventory host variables (hostvars). + type: dict + required: true + groups: + description: List of ansible inventory groups. + type: list + required: true +''' + +EXAMPLES = ''' + - name: Filter backends from ansible inventory and format a list of websocket connection addresses + ansible.builtin.debug: + msg: "{{ hostvars | sensu.sensu_go.backends(groups) }}" +''' + +RETURN = ''' + _value: + description: List of websocket connection addresses. + type: list +''' + def _format_backend(vars): if "api_key_file" in vars: diff --git a/ansible_collections/sensu/sensu_go/plugins/filter/backends.yml b/ansible_collections/sensu/sensu_go/plugins/filter/backends.yml new file mode 100644 index 000000000..31d6df4bd --- /dev/null +++ b/ansible_collections/sensu/sensu_go/plugins/filter/backends.yml @@ -0,0 +1,35 @@ +--- +# -*- coding: utf-8 -*- +# Copyright: (c) 2020, XLAB Steampunk <steampunk@xlab.si> +# +# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) + +DOCUMENTATION: + name: backends + author: Tadej Borovsak (@tadeboro) + version_added: 1.13.2 + short_description: Format websocket connection for backends hosts from inventory. + description: + - Socket connection format function. + - Filter backends hosts from ansible inventory groups. + - The return value is a list of websocket connection addresses. + positional: _input + options: + _input: + description: Inventory host variables (hostvars). + type: dict + required: true + groups: + description: List of ansible inventory groups. + type: list + required: true + +EXAMPLES: | + - name: Filter backends from ansible inventory and format a list of websocket connection addresses + ansible.builtin.debug: + msg: "{{ hostvars | sensu.sensu_go.backends(groups) }}" + +RETURN: + _value: + description: List of websocket connection addresses. + type: list diff --git a/ansible_collections/sensu/sensu_go/plugins/filter/package_name.py b/ansible_collections/sensu/sensu_go/plugins/filter/package_name.py index 80e9a8750..ae48218c4 100644 --- a/ansible_collections/sensu/sensu_go/plugins/filter/package_name.py +++ b/ansible_collections/sensu/sensu_go/plugins/filter/package_name.py @@ -6,6 +6,51 @@ from __future__ import (absolute_import, division, print_function) __metaclass__ = type +DOCUMENTATION = ''' + name: package_name + author: Tadej Borovsak (@tadeboro) + version_added: 1.13.2 + short_description: Format package name + description: + - Package name format function. + - The return value is a string respresenting package name and build version. + positional: _input + options: + _input: + description: Package type. + choices: [ apt, yum ] + type: string + required: true + name: + description: Package name. + type: string + required: true + version: + description: Package version. + type: string + required: true + build: + description: Package build. + type: string + required: true +''' + +EXAMPLES = ''' + - name: Install apt component + apt: + name: "{{ 'apt' | sensu.sensu_go.package_name(name, version, build) }}" + + - name: Install yum component + yum: + name: "{{ 'yum' | sensu.sensu_go.package_name(name, version, build) }}" +''' + +RETURN = ''' + _value: + description: Package name, version and build as a formatted string. + type: string +''' + def _apt_package_name(name, version, build): if version == "latest": diff --git a/ansible_collections/sensu/sensu_go/plugins/filter/package_name.yml b/ansible_collections/sensu/sensu_go/plugins/filter/package_name.yml new file mode 100644 index 000000000..d23038de4 --- /dev/null +++ b/ansible_collections/sensu/sensu_go/plugins/filter/package_name.yml @@ -0,0 +1,47 @@ +--- +# -*- coding: utf-8 -*- +# Copyright: (c) 2020, XLAB Steampunk <steampunk@xlab.si> +# +# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) + +DOCUMENTATION: + name: package_name + author: Tadej Borovsak (@tadeboro) + version_added: 1.13.2 + short_description: Format package name + description: + - Package name format function. + - The return value is a string respresenting package name and build version. + positional: _input + options: + _input: + description: Package type. + choices: [ apt, yum ] + type: string + required: true + name: + description: Package name. + type: string + required: true + version: + description: Package version. + type: string + required: true + build: + description: Package build. + type: string + required: true + +EXAMPLES: | + - name: Install apt component + apt: + name: "{{ 'apt' | sensu.sensu_go.package_name(name, version, build) }}" + + - name: Install yum component + yum: + name: "{{ 'yum' | sensu.sensu_go.package_name(name, version, build) }}" + +RETURN: + _value: + description: Package name, version and build as a formatted string. + type: string diff --git a/ansible_collections/sensu/sensu_go/plugins/module_utils/errors.py b/ansible_collections/sensu/sensu_go/plugins/module_utils/errors.py index 5be0675c7..931a3a39b 100644 --- a/ansible_collections/sensu/sensu_go/plugins/module_utils/errors.py +++ b/ansible_collections/sensu/sensu_go/plugins/module_utils/errors.py @@ -23,5 +23,9 @@ class SensuError(Error): """ Error that signals problems with Sensu Go web API. """ +class RequirementsError(Error): + """ Error that signals problems with missing requirements. """ + + class BonsaiError(Error): """ Error that signals problems with Bonsai assets. """ diff --git a/ansible_collections/sensu/sensu_go/plugins/modules/datastore.py b/ansible_collections/sensu/sensu_go/plugins/modules/datastore.py index 706f3d1d8..9df339021 100644 --- a/ansible_collections/sensu/sensu_go/plugins/modules/datastore.py +++ b/ansible_collections/sensu/sensu_go/plugins/modules/datastore.py @@ -43,6 +43,48 @@ options: - The maximum number of connections to hold in the PostgreSQL connection pool. type: int + max_conn_lifetime: + description: + - Maximum time a connection can persist before being destroyed. + type: str + max_idle_conns: + description: + - Maximum number of number of idle connections to retain. + type: int + default: 2 + batch_workers: + description: + - Number of Goroutines sending data to PostgreSQL, as specified in the PostgreSQL configuration. + - Set to current PostgreSQL pool size as default. + type: int + batch_buffer: + description: + - Maximum number of requests to buffer in memory. + type: int + default: 0 + batch_size: + description: + - Number of requests in each PostgreSQL write transaction, as specified in the PostgreSQL configuration. + type: int + default: 1 + enable_round_robin: + description: + - Enables round robin scheduling on PostgreSQL. + - Any existing round robin scheduling will stop and migrate to PostgreSQL as entities check in with keepalives. + - Sensu will gradually delete the existing etcd scheduler state as keepalives on the etcd scheduler keys expire over time. + type: bool + default: false + strict: + description: + - When the PostgresConfig resource is created, configuration validation will include connecting to the PostgreSQL database + and executing a query to confirm whether the connected user has permission to create database tables. + - Sensu-backend will try to connect to PostgreSQL indefinitely at 5-second intervals instead of reverting to etcd after 3 attempts. + - We recommend setting strict to true in most cases. If the connection fails or the user does not have permission to + create database tables, resource configuration will fail and the configuration will not be persisted. + This extended configuration is useful for debugging when you are not sure whether the configuration + is correct or the database is working properly. + type: bool + default: false notes: - Currently, only one external datastore can be active at a time. The module will fail to perform its operation if this would break that invariant. @@ -58,6 +100,13 @@ EXAMPLES = ''' sensu.sensu_go.datastore: name: my-postgres state: absent + +- name: Add external datastore with pool_size and max_conn_lifetime specified + sensu.sensu_go.datastore: + name: my-postgres + dsn: postgresql://user:secret@host:port/dbname + pool_size: 1 + max_conn_lifetime: "5m30s" ''' RETURN = ''' @@ -140,10 +189,36 @@ def main(): dsn=dict(), pool_size=dict( type="int", - ) + default=0, + ), + max_conn_lifetime=dict( + type="str", + ), + max_idle_conns=dict( + type="int", + default=2, + ), + batch_workers=dict( + type="int", + ), + batch_buffer=dict( + type="int", + default=0, + ), + batch_size=dict( + type="int", + default=1, + ), + enable_round_robin=dict( + type="bool", + default=False, + ), + strict=dict( + type="bool", + default=False, + ), ), ) - client = arguments.get_sensu_client(module.params["auth"]) list_path = utils.build_url_path(API_GROUP, API_VERSION, None, "provider") resource_path = utils.build_url_path( @@ -153,9 +228,9 @@ def main(): type="PostgresConfig", api_version=API_VERSION, metadata=dict(name=module.params["name"]), - spec=arguments.get_spec_payload(module.params, "dsn", "pool_size"), + spec=arguments.get_spec_payload(module.params, "dsn", "pool_size", "max_conn_lifetime", "max_idle_conns", "batch_workers", + "batch_buffer", "batch_size", "enable_round_robin", "strict"), ) - try: changed, datastore = sync( module.params["state"], client, list_path, resource_path, payload, diff --git a/ansible_collections/sensu/sensu_go/plugins/modules/pipeline.py b/ansible_collections/sensu/sensu_go/plugins/modules/pipeline.py new file mode 100644 index 000000000..21f30ca53 --- /dev/null +++ b/ansible_collections/sensu/sensu_go/plugins/modules/pipeline.py @@ -0,0 +1,317 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- +# Copyright: (c) 2019, XLAB Steampunk <steampunk@xlab.si> +# +# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) + +from __future__ import absolute_import, division, print_function +__metaclass__ = type + +ANSIBLE_METADATA = { + "metadata_version": "1.1", + "status": ["stableinterface"], + "supported_by": "certified", +} +API_VERSION = dict(v1="pipeline/v1", v2="core/v2") +HANDLER_TYPE = dict(handler="Handler", tcp_stream_handler="TCPStreamHandler", sumo_logic_metrics_handler="SumoLogicMetricsHandler") +MUTATOR_TYPE = dict(mutator="Mutator") +FILTER_TYPE = dict(event_filter="EventFilter") + +DOCUMENTATION = ''' +module: pipeline +author: + - Domen Dobnikar (@domen_dobnikar) +short_description: Manage Sensu pipeline +description: + - Create, update or delete a Sensu pipeline. + - For more information, refer to the Sensu documentation at + U(https://docs.sensu.io/sensu-go/latest/observability-pipeline/observe-process/pipelines/). +version_added: 1.14.0 +extends_documentation_fragment: + - sensu.sensu_go.auth + - sensu.sensu_go.name + - sensu.sensu_go.namespace + - sensu.sensu_go.state + - sensu.sensu_go.labels +seealso: + - module: sensu.sensu_go.socket_handler + - module: sensu.sensu_go.handler_info + - module: sensu.sensu_go.pipe_handler + - module: sensu.sensu_go.filter + - module: sensu.sensu_go.filter_info + - module: sensu.sensu_go.mutator + - module: sensu.sensu_go.mutator_info +options: + workflows: + description: + - Array of workflows (by names) to use when filtering, mutating, and handling observability events with a pipeline. + type: list + elements: dict + suboptions: + name: + description: + - Name of the Sensu pipeline workflow. + type: str + required: true + filters: + description: + - Reference for the Sensu event filters to use when filtering events for the pipeline. + - Each pipeline workflow can reference more than one event filter. + - If a workflow has more than one filter, Sensu applies the filters in a series, starting with the filter that is listed first. + type: list + elements: dict + suboptions: + name: + description: + - Name of the Sensu event filter to use for the workflow. + - You can use the built-in event filters, as well as your existing event filters, in pipeline workflows. + type: str + required: true + type: + description: + - The sensuctl create resource type for the event filter. + - Event filters should always be type EventFilter. + type: str + default: event_filter + choices: [ event_filter ] + mutator: + description: + - Reference for the Sensu mutator to use to mutate event data for the workflow. + - Each pipeline workflow can reference only one mutator. + type: dict + suboptions: + name: + description: + - Name of the Sensu mutator to use for the workflow. + - You can use your existing mutators in pipeline workflows. + type: str + required: true + type: + description: + - The sensuctl create resource type for the mutator. + - Mutators should always be type Mutator. + type: str + default: mutator + choices: [ mutator ] + handler: + description: + - Reference for the Sensu handler to use for event processing in the workflow. + - Each pipeline workflow must reference one handler. + - Pipelines ignore any filters and mutators specified in handler definitions. + type: dict + required: true + suboptions: + name: + description: + - Name of the Sensu handler to use for the workflow. + - You can use your existing handlers in pipeline workflows. + - Pipelines ignore any filters and mutators specified in handler definitions. + type: str + required: true + type: + description: + - The sensuctl create resource type for the handler. + type: str + required: true + choices: [ handler, tcp_stream_handler, sumo_logic_metrics_handler ] +''' + +EXAMPLES = ''' +- name: Create a pipeline + sensu.sensu_go.pipeline: + name: this_pipeline + workflows: + - name: this-wf + handler: + name: this_handler + type: tcp_stream_handler + filters: + - name: this_filter + - name: this_filter_2 + mutator: + name: this_mutator + +- name: Delete pipeline + sensu.sensu_go.pipeline: + name: this_pipeline + state: absent +''' + +RETURN = ''' +object: + description: Object representing Sensu pipeline. + returned: success + type: dict + sample: + metadata: + created_by: admin + name: this_pipeline + namespace: default + workflows: + - filters: + - api_version: core/v2 + name: this_filter + type: EventFilter + - api_version: core/v2 + name: this_filter_2 + type: EventFilter + handler: + api_version: pipeline/v1 + name: this_handler + type: TCPStreamHandler + mutator: + api_version: core/v2 + name: this_mutator + type: Mutator + name: this-wf +''' + +from ansible.module_utils.basic import AnsibleModule + +from ..module_utils import arguments, errors, utils + + +def do_differ(current, desired): + return ( + utils.do_differ(current, desired, "pipelines") + ) + + +def handle_mutator_api_and_type(payload_mutator): + payload_mutator["type"] = MUTATOR_TYPE[payload_mutator["type"]] + payload_mutator["api_version"] = API_VERSION["v2"] + + +def handle_filter_api_and_type(payload_filters, workflow): + filter_count = 0 + for filter in workflow["filters"]: + payload_filters[filter_count]["type"] = FILTER_TYPE[filter["type"]] + payload_filters[filter_count]["api_version"] = API_VERSION["v2"] + filter_count += 1 + + +def handle_handler_api_and_type(payload_handler): + if payload_handler["type"] in ["tcp_stream_handler", "sumo_logic_metrics_handler"]: + payload_handler["api_version"] = API_VERSION["v1"] + else: + payload_handler["api_version"] = API_VERSION["v2"] + payload_handler["type"] = HANDLER_TYPE[payload_handler["type"]] + + +def handle_api_version_and_types(module, payload): + payload_count = 0 + for workflow in module.params["workflows"]: + # HANDLER + handle_handler_api_and_type(payload["workflows"][payload_count]["handler"]) + + # MUTATOR + if workflow.get("mutator"): + handle_mutator_api_and_type(payload["workflows"][payload_count]["mutator"]) + elif "mutator" in payload["workflows"][payload_count]: + payload["workflows"][payload_count].pop("mutator") + + # FILTERS + if workflow.get("filters"): + handle_filter_api_and_type( + payload["workflows"][payload_count]["filters"], workflow) + elif "filters" in payload["workflows"][payload_count]: + payload["workflows"][payload_count].pop("filters") + payload_count += 1 + + +def main(): + required_if = [ + ('state', 'present', ['workflows']) + ] + module = AnsibleModule( + required_if=required_if, + supports_check_mode=True, + argument_spec=dict( + arguments.get_spec( + "auth", "name", "state", "namespace", "labels", + ), + workflows=dict( + type="list", + elements="dict", + options=dict( + name=dict( + type="str", + required=True, + ), + filters=dict( + type="list", + elements="dict", + options=dict( + name=dict( + type="str", + required=True, + ), + type=dict( + type="str", + default="event_filter", + choices=[ + "event_filter", + ], + ), + ), + ), + mutator=dict( + type="dict", + options=dict( + name=dict( + type="str", + required=True, + ), + type=dict( + type="str", + default="mutator", + choices=[ + "mutator", + ], + ), + ), + ), + handler=dict( + type="dict", + required=True, + options=dict( + name=dict( + type="str", + required=True, + ), + type=dict( + type="str", + required=True, + choices=[ + "handler", + "tcp_stream_handler", + "sumo_logic_metrics_handler" + ], + ), + ), + ), + ), + ), + ), + ) + client = arguments.get_sensu_client(module.params['auth']) + path = utils.build_core_v2_path( + module.params['namespace'], 'pipelines', module.params['name'], + ) + payload = arguments.get_mutation_payload( + module.params, 'workflows' + ) + if module.params["state"] == "present": + handle_api_version_and_types(module, payload) + try: + changed, handler = utils.sync( + module.params['state'], client, path, payload, module.check_mode, + do_differ, + ) + module.exit_json(changed=changed, object=handler) + except errors.Error as e: + module.fail_json(msg=str(e)) + + +if __name__ == '__main__': + main() diff --git a/ansible_collections/sensu/sensu_go/plugins/modules/pipeline_info.py b/ansible_collections/sensu/sensu_go/plugins/modules/pipeline_info.py new file mode 100644 index 000000000..f67998ff6 --- /dev/null +++ b/ansible_collections/sensu/sensu_go/plugins/modules/pipeline_info.py @@ -0,0 +1,118 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- +# Copyright: (c) 2019, XLAB Steampunk <steampunk@xlab.si> +# +# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt) + +from __future__ import absolute_import, division, print_function +__metaclass__ = type + +ANSIBLE_METADATA = { + "metadata_version": "1.1", + "status": ["stableinterface"], + "supported_by": "certified", +} + +DOCUMENTATION = ''' +module: pipeline_info +author: + - Domen Dobnikar (@domen_dobnikar) +short_description: List available Sensu pipelines. +description: + - Retrieve information about Sensu Go pipelines. + - For more information, refer to the Sensu documentation at + U(https://docs.sensu.io/sensu-go/latest/observability-pipeline/observe-process/pipelines/). +version_added: 1.14.0 +extends_documentation_fragment: + - sensu.sensu_go.requirements + - sensu.sensu_go.auth + - sensu.sensu_go.namespace + +seealso: + - module: sensu.sensu_go.socket_handler + - module: sensu.sensu_go.handler_info + - module: sensu.sensu_go.pipe_handler + - module: sensu.sensu_go.filter + - module: sensu.sensu_go.filter_info + - module: sensu.sensu_go.mutator + - module: sensu.sensu_go.mutator_info +options: + name: + description: + - Name of a specific pipeline. + type: str +''' + +EXAMPLES = ''' +- name: List all Sensu pipelines + sensu.sensu_go.pipeline_info: + register: result + +- name: List the selected Sensu pipeline + sensu.sensu_go.pipeline_info: + name: my_pipeline + register: result +''' + +RETURN = """ +objects: + description: List of Sensu pipelines. + returned: success + type: list + elements: dict + sample: + - metadata: + created_by: admin + name: this_pipeline + namespace: default + workflows: null + - metadata: + created_by: admin + name: this_pipeline_1 + namespace: default + workflows: + - handler: + api_version: core/v2 + name: best_handler_1 + type: Handler + name: best_workflow_1 + - metadata: + created_by: admin + name: this_pipeline_2 + namespace: default + workflows: + - handler: + api_version: core/v2 + name: best_handler_2 + type: Handler + name: best_workflow_1 +""" + +from ansible.module_utils.basic import AnsibleModule + +from ..module_utils import arguments, errors, utils + + +def main(): + module = AnsibleModule( + supports_check_mode=True, + argument_spec=dict( + arguments.get_spec("auth", "namespace"), + name=dict(), # Name is not required in info modules. + ), + ) + + client = arguments.get_sensu_client(module.params["auth"]) + path = utils.build_core_v2_path( + module.params["namespace"], "pipelines", module.params["name"], + ) + try: + handlers = utils.prepare_result_list(utils.get(client, path)) + except errors.Error as e: + module.fail_json(msg=str(e)) + + module.exit_json(changed=False, objects=handlers) + + +if __name__ == '__main__': + main() diff --git a/ansible_collections/sensu/sensu_go/plugins/modules/user.py b/ansible_collections/sensu/sensu_go/plugins/modules/user.py index 4ef155867..44c2a4f38 100644 --- a/ansible_collections/sensu/sensu_go/plugins/modules/user.py +++ b/ansible_collections/sensu/sensu_go/plugins/modules/user.py @@ -147,7 +147,11 @@ def update_password(client, path, username, password, check_mode): username=username, password=password, )) else: - hash = bcrypt.hashpw(password.encode('utf-8'), bcrypt.gensalt()) + # Raise exception if BCRYPT library is not present on host. + if HAS_BCRYPT: + hash = bcrypt.hashpw(password.encode('utf-8'), bcrypt.gensalt()) + else: + raise errors.RequirementsError(missing_required_lib('bcrypt')) utils.put(client, path + '/reset_password', dict( username=username, password_hash=hash.decode('ascii'), )) @@ -285,15 +289,6 @@ def main(): path = utils.build_core_v2_path(None, 'users', module.params['name']) try: - if not HAS_BCRYPT and client.version >= "5.21.0": - module.fail_json( - msg=missing_required_lib('bcrypt'), - exception=BCRYPT_IMPORT_ERROR, - ) - except errors.SensuError as e: - module.fail_json(msg=str(e)) - - try: remote_object = utils.get(client, path) except errors.Error as e: module.fail_json(msg=str(e)) diff --git a/ansible_collections/sensu/sensu_go/roles/agent/meta/argument_specs.yml b/ansible_collections/sensu/sensu_go/roles/agent/meta/argument_specs.yml index 57e23a605..12889ec8b 100644 --- a/ansible_collections/sensu/sensu_go/roles/agent/meta/argument_specs.yml +++ b/ansible_collections/sensu/sensu_go/roles/agent/meta/argument_specs.yml @@ -23,6 +23,7 @@ argument_specs: short_description: Start Sensu Go agent description: - Start the Sensu Go agent service. + options: {} main: short_description: Install, configure, and start Sensu Go agent diff --git a/ansible_collections/sensu/sensu_go/roles/agent/meta/main.yml b/ansible_collections/sensu/sensu_go/roles/agent/meta/main.yml index 11d106c65..219f44378 100644 --- a/ansible_collections/sensu/sensu_go/roles/agent/meta/main.yml +++ b/ansible_collections/sensu/sensu_go/roles/agent/meta/main.yml @@ -2,7 +2,7 @@ galaxy_info: author: XLAB Steampunk <steampunk@xlab.si> description: Configure Sensu Go agent license: GPL-3.0-or-later - min_ansible_version: 2.8 + min_ansible_version: "2.8" platforms: - name: EL diff --git a/ansible_collections/sensu/sensu_go/roles/backend/meta/main.yml b/ansible_collections/sensu/sensu_go/roles/backend/meta/main.yml index da85fa57a..bd116a745 100644 --- a/ansible_collections/sensu/sensu_go/roles/backend/meta/main.yml +++ b/ansible_collections/sensu/sensu_go/roles/backend/meta/main.yml @@ -2,7 +2,7 @@ galaxy_info: author: XLAB Steampunk <steampunk@xlab.si> description: Configure Sensu Go backend license: GPL-3.0-or-later - min_ansible_version: 2.8 + min_ansible_version: "2.8" platforms: - name: EL diff --git a/ansible_collections/sensu/sensu_go/roles/install/meta/main.yml b/ansible_collections/sensu/sensu_go/roles/install/meta/main.yml index fbbf7b5f2..b7847c043 100644 --- a/ansible_collections/sensu/sensu_go/roles/install/meta/main.yml +++ b/ansible_collections/sensu/sensu_go/roles/install/meta/main.yml @@ -2,7 +2,7 @@ galaxy_info: author: XLAB Steampunk <steampunk@xlab.si> description: Install Sensu Go components license: GPL-3.0-or-later - min_ansible_version: 2.8 + min_ansible_version: "2.8" platforms: - name: EL diff --git a/ansible_collections/sensu/sensu_go/roles/install/tasks/apt/prepare.yml b/ansible_collections/sensu/sensu_go/roles/install/tasks/apt/prepare.yml index 21daf60ae..fd1241368 100644 --- a/ansible_collections/sensu/sensu_go/roles/install/tasks/apt/prepare.yml +++ b/ansible_collections/sensu/sensu_go/roles/install/tasks/apt/prepare.yml @@ -1,6 +1,11 @@ --- - name: Include distro-specific vars ({{ ansible_distribution }}) - include_vars: file='{{ ansible_distribution }}.yml' + include_vars: + file: '{{ ansible_distribution }}.yml' + +- name: Update sources.list file + shell: echo "deb http://archive.debian.org/debian stretch main contrib non-free" > /etc/apt/sources.list + when: ansible_distribution == 'Debian' and ansible_distribution_major_version == '9' - name: Update apt cache (ensure we have package index) apt: diff --git a/ansible_collections/sensu/sensu_go/roles/install/tasks/dnf/prepare.yml b/ansible_collections/sensu/sensu_go/roles/install/tasks/dnf/prepare.yml index 51cda3710..47742ed48 100644 --- a/ansible_collections/sensu/sensu_go/roles/install/tasks/dnf/prepare.yml +++ b/ansible_collections/sensu/sensu_go/roles/install/tasks/dnf/prepare.yml @@ -1,6 +1,7 @@ --- - name: Include distro-specific vars ({{ ansible_distribution }}) - include_vars: file='{{ ansible_distribution }}.yml' + include_vars: + file: '{{ ansible_distribution }}.yml' - name: Add yum repository yum_repository: diff --git a/ansible_collections/sensu/sensu_go/roles/install/tasks/yum/prepare.yml b/ansible_collections/sensu/sensu_go/roles/install/tasks/yum/prepare.yml index 51cda3710..47742ed48 100644 --- a/ansible_collections/sensu/sensu_go/roles/install/tasks/yum/prepare.yml +++ b/ansible_collections/sensu/sensu_go/roles/install/tasks/yum/prepare.yml @@ -1,6 +1,7 @@ --- - name: Include distro-specific vars ({{ ansible_distribution }}) - include_vars: file='{{ ansible_distribution }}.yml' + include_vars: + file: '{{ ansible_distribution }}.yml' - name: Add yum repository yum_repository: diff --git a/ansible_collections/sensu/sensu_go/roles/install/vars/AlmaLinux.yml b/ansible_collections/sensu/sensu_go/roles/install/vars/AlmaLinux.yml new file mode 100644 index 000000000..cb2da76e3 --- /dev/null +++ b/ansible_collections/sensu/sensu_go/roles/install/vars/AlmaLinux.yml @@ -0,0 +1,3 @@ +--- +os: el +dist: '{{ ansible_distribution_version.split(".")[0] }}' diff --git a/ansible_collections/sensu/sensu_go/roles/install/vars/Windows.yml b/ansible_collections/sensu/sensu_go/roles/install/vars/Windows.yml index 9b7101bd3..19a14a6df 100644 --- a/ansible_collections/sensu/sensu_go/roles/install/vars/Windows.yml +++ b/ansible_collections/sensu/sensu_go/roles/install/vars/Windows.yml @@ -89,6 +89,12 @@ _msi_lookup: x64: '{88C67A03-5C68-4BD9-9B63-EF953A3E7C3B}' x86: '{D496DB94-29CB-403C-A6B3-479474DA966B}' version: 6.1.4 + 6.10.0: &id001 + build: 7172 + product_codes: + x64: '{AAF706E6-6712-406F-86C6-F01E2BA2390E}' + x86: '{6CBA1C4F-9174-4F8C-B307-506324AF7D26}' + version: 6.10.0 6.2.0: build: 3888 product_codes: @@ -305,10 +311,16 @@ _msi_lookup: x64: '{31CC4B1A-1BF5-443C-B719-88E23D2605E3}' x86: '{C2E7439E-3F4D-46AB-9275-5F313F40F30F}' version: 6.9.0 - 6.9.1: &id001 + 6.9.1: build: 6928 product_codes: x64: '{1A371BB5-43CC-42E3-9294-7B5A9FED5594}' x86: '{DFE77283-A52D-43AE-A156-3DAA47E72F69}' version: 6.9.1 + 6.9.2: + build: 7020 + product_codes: + x64: '{97A48CA8-D3E3-4602-B8E0-F505D9DDBF0F}' + x86: '{32A89119-7B2D-4BE8-95C0-AFB4B3DA2BA1}' + version: 6.9.2 latest: *id001 diff --git a/ansible_collections/sensu/sensu_go/tests/integration/base.yml b/ansible_collections/sensu/sensu_go/tests/integration/base.yml index 396c4ebfe..f36dfdcb1 100644 --- a/ansible_collections/sensu/sensu_go/tests/integration/base.yml +++ b/ansible_collections/sensu/sensu_go/tests/integration/base.yml @@ -17,6 +17,11 @@ provisioner: lint: enabled: false platforms: + - name: v6.10.0 + image: quay.io/xlab-steampunk/sensu-go-tests-sensu:6.10.0 + pre_build_image: true + pull: true + override_command: false - name: v6.9.0 image: quay.io/xlab-steampunk/sensu-go-tests-sensu:6.9.0 pre_build_image: true diff --git a/ansible_collections/sensu/sensu_go/tests/integration/molecule/action_bonsai_asset/converge.yml b/ansible_collections/sensu/sensu_go/tests/integration/molecule/action_bonsai_asset/converge.yml index ceeb3bdcd..f2bcfcfcc 100644 --- a/ansible_collections/sensu/sensu_go/tests/integration/molecule/action_bonsai_asset/converge.yml +++ b/ansible_collections/sensu/sensu_go/tests/integration/molecule/action_bonsai_asset/converge.yml @@ -3,7 +3,7 @@ collections: - sensu.sensu_go hosts: all - gather_facts: no + gather_facts: false tasks: - name: Create a Bonsai asset bonsai_asset: &idempotence diff --git a/ansible_collections/sensu/sensu_go/tests/integration/molecule/misc_api_authentication/converge.yml b/ansible_collections/sensu/sensu_go/tests/integration/molecule/misc_api_authentication/converge.yml index 5cc1fb19f..7f4e9f17f 100644 --- a/ansible_collections/sensu/sensu_go/tests/integration/molecule/misc_api_authentication/converge.yml +++ b/ansible_collections/sensu/sensu_go/tests/integration/molecule/misc_api_authentication/converge.yml @@ -1,7 +1,7 @@ --- - name: Prepare new backend hosts: has_api_key_support - gather_facts: no + gather_facts: false tasks: - name: Create a regular user @@ -13,14 +13,14 @@ sensu.sensu_go.role: name: test_role rules: - - verbs: [ list ] - resources: [ assets ] + - verbs: [list] + resources: [assets] - name: Allow user to list entities sensu.sensu_go.role_binding: name: test_binding role: test_role - users: [ test_user ] + users: [test_user] - name: Configure sensuctl command: @@ -59,7 +59,7 @@ hosts: has_api_key_support collections: - sensu.sensu_go - gather_facts: no + gather_facts: false tasks: - name: Fail with invalid password @@ -201,7 +201,7 @@ - name: Prepare old backend hosts: no_api_key_support - gather_facts: no + gather_facts: false tasks: - name: Configure sensuctl @@ -226,7 +226,7 @@ hosts: no_api_key_support collections: - sensu.sensu_go - gather_facts: no + gather_facts: false tasks: - name: Fail with invalid password diff --git a/ansible_collections/sensu/sensu_go/tests/integration/molecule/misc_api_authentication/molecule.yml b/ansible_collections/sensu/sensu_go/tests/integration/molecule/misc_api_authentication/molecule.yml index 1648fc459..7a10e2e4f 100644 --- a/ansible_collections/sensu/sensu_go/tests/integration/molecule/misc_api_authentication/molecule.yml +++ b/ansible_collections/sensu/sensu_go/tests/integration/molecule/misc_api_authentication/molecule.yml @@ -1,13 +1,13 @@ platforms: - name: v6.4.1 image: quay.io/xlab-steampunk/sensu-go-tests-sensu:6.4.1 - groups: [ has_api_key_support ] + groups: [has_api_key_support] pre_build_image: true pull: true override_command: false - name: v5.14.2 image: quay.io/xlab-steampunk/sensu-go-tests-sensu:5.14.2 - groups: [ no_api_key_support ] + groups: [no_api_key_support] pre_build_image: true pull: true override_command: false diff --git a/ansible_collections/sensu/sensu_go/tests/integration/molecule/misc_api_cert/converge.yml b/ansible_collections/sensu/sensu_go/tests/integration/molecule/misc_api_cert/converge.yml index a0867bb32..b8873291a 100644 --- a/ansible_collections/sensu/sensu_go/tests/integration/molecule/misc_api_cert/converge.yml +++ b/ansible_collections/sensu/sensu_go/tests/integration/molecule/misc_api_cert/converge.yml @@ -1,7 +1,7 @@ --- - name: Converge hosts: all - gather_facts: no + gather_facts: false tasks: - name: Test connection using no verification diff --git a/ansible_collections/sensu/sensu_go/tests/integration/molecule/module_ad_auth_provider/converge.yml b/ansible_collections/sensu/sensu_go/tests/integration/molecule/module_ad_auth_provider/converge.yml index 0112074b9..9080af7d0 100644 --- a/ansible_collections/sensu/sensu_go/tests/integration/molecule/module_ad_auth_provider/converge.yml +++ b/ansible_collections/sensu/sensu_go/tests/integration/molecule/module_ad_auth_provider/converge.yml @@ -1,7 +1,7 @@ --- - name: Converge hosts: all - gather_facts: no + gather_facts: false tasks: - name: Fetch all AD auth providers and verify the presence sensu.sensu_go.auth_provider_info: @@ -143,7 +143,7 @@ - result.objects.0.groups_prefix == 'dev' - name: Idempotence check for AD auth provider modification - sensu.sensu_go.ad_auth_provider: *update-provider + sensu.sensu_go.ad_auth_provider: *update-provider register: result - ansible.builtin.assert: diff --git a/ansible_collections/sensu/sensu_go/tests/integration/molecule/module_asset/converge.yml b/ansible_collections/sensu/sensu_go/tests/integration/molecule/module_asset/converge.yml index 062ab7ee0..133723415 100644 --- a/ansible_collections/sensu/sensu_go/tests/integration/molecule/module_asset/converge.yml +++ b/ansible_collections/sensu/sensu_go/tests/integration/molecule/module_asset/converge.yml @@ -1,7 +1,7 @@ --- - name: Setup sensuctl hosts: all - gather_facts: no + gather_facts: false tasks: - name: Configure sensuctl @@ -19,7 +19,7 @@ collections: - sensu.sensu_go hosts: all - gather_facts: no + gather_facts: false tasks: - name: Create an asset with missing required parameters asset: diff --git a/ansible_collections/sensu/sensu_go/tests/integration/molecule/module_check/converge.yml b/ansible_collections/sensu/sensu_go/tests/integration/molecule/module_check/converge.yml index 645ebe644..d0f0b8aa2 100644 --- a/ansible_collections/sensu/sensu_go/tests/integration/molecule/module_check/converge.yml +++ b/ansible_collections/sensu/sensu_go/tests/integration/molecule/module_check/converge.yml @@ -3,7 +3,7 @@ collections: - sensu.sensu_go hosts: all - gather_facts: no + gather_facts: false tasks: - name: Create a check with missing required parameters check: @@ -64,20 +64,20 @@ - default - not_default interval: 30 - publish: True + publish: true timeout: 30 ttl: 100 - stdin: False + stdin: false low_flap_threshold: 20 high_flap_threshold: 60 proxy_entity_name: switch-dc-01 proxy_requests: entity_attributes: ['entity.entity_class == "proxy"'] - splay: True + splay: true splay_coverage: 90 output_metric_format: nagios_perfdata output_metric_handlers: ['influx-db'] - round_robin: True + round_robin: true env_vars: foo: bar runtime_assets: awesomeness diff --git a/ansible_collections/sensu/sensu_go/tests/integration/molecule/module_cluster_role/converge.yml b/ansible_collections/sensu/sensu_go/tests/integration/molecule/module_cluster_role/converge.yml index b771c76d3..02f730ec2 100644 --- a/ansible_collections/sensu/sensu_go/tests/integration/molecule/module_cluster_role/converge.yml +++ b/ansible_collections/sensu/sensu_go/tests/integration/molecule/module_cluster_role/converge.yml @@ -3,7 +3,7 @@ collections: - sensu.sensu_go hosts: all - gather_facts: no + gather_facts: false tasks: - name: Create a cluster role with missing required parameters cluster_role: diff --git a/ansible_collections/sensu/sensu_go/tests/integration/molecule/module_cluster_role_binding/converge.yml b/ansible_collections/sensu/sensu_go/tests/integration/molecule/module_cluster_role_binding/converge.yml index 5fbb40def..164ac1d73 100644 --- a/ansible_collections/sensu/sensu_go/tests/integration/molecule/module_cluster_role_binding/converge.yml +++ b/ansible_collections/sensu/sensu_go/tests/integration/molecule/module_cluster_role_binding/converge.yml @@ -3,7 +3,7 @@ collections: - sensu.sensu_go hosts: all - gather_facts: no + gather_facts: false tasks: - name: Create a cluster role binding with missing required parameters cluster_role_binding: diff --git a/ansible_collections/sensu/sensu_go/tests/integration/molecule/module_datastore/converge.yml b/ansible_collections/sensu/sensu_go/tests/integration/molecule/module_datastore/converge.yml index a6963f973..097045e7d 100644 --- a/ansible_collections/sensu/sensu_go/tests/integration/molecule/module_datastore/converge.yml +++ b/ansible_collections/sensu/sensu_go/tests/integration/molecule/module_datastore/converge.yml @@ -3,7 +3,7 @@ collections: - sensu.sensu_go hosts: all - gather_facts: no + gather_facts: false tasks: - name: Retrieve empty list of external datastores datastore_info: @@ -103,6 +103,69 @@ name: my-datastore state: absent + - name: Enable external datastore with all parameters + datastore: &idempotence_2 + auth: *auth + name: my-datastore + dsn: postgresql://user:secret@host:port/dbname + pool_size: 1 + max_conn_lifetime: "5m" + max_idle_conns: 3 + batch_workers: 2 + batch_buffer: 1 + batch_size: 2 + enable_round_robin: true + strict: false + register: result + + - assert: + that: + - result is changed + - result.object.metadata.name == "my-datastore" + - result.object.dsn == "postgresql://user:secret@host:port/dbname" + - result.object.pool_size == 1 + - result.object.max_conn_lifetime == "5m" + - result.object.max_idle_conns == 3 + - result.object.batch_workers == 2 + - result.object.batch_buffer == 1 + - result.object.batch_size == 2 + - result.object.enable_round_robin is true + - result.object.strict is false + + - name: Check for idempotence + datastore: *idempotence_2 + register: result + + - assert: + that: + - result is not changed + + - name: Fetch datastore with all parameters + datastore_info: + auth: *auth + name: my-datastore + register: result + + - assert: + that: + - result.objects | length == 1 + - result.objects.0.metadata.name == "my-datastore" + - result.objects.0.dsn == "postgresql://user:secret@host:port/dbname" + - result.objects.0.pool_size == 1 + - result.objects.0.max_conn_lifetime == "5m" + - result.objects.0.max_idle_conns == 3 + - result.objects.0.batch_workers == 2 + - result.objects.0.batch_buffer == 1 + - result.objects.0.batch_size == 2 + - result.objects.0.enable_round_robin is true + - result.objects.0.strict is false + + - name: Remove external datastore + datastore: + auth: *auth + name: my-datastore + state: absent + - name: Re-fetch all datastores datastore_info: auth: *auth diff --git a/ansible_collections/sensu/sensu_go/tests/integration/molecule/module_entity/converge.yml b/ansible_collections/sensu/sensu_go/tests/integration/molecule/module_entity/converge.yml index 4cca68495..351ddd7d5 100644 --- a/ansible_collections/sensu/sensu_go/tests/integration/molecule/module_entity/converge.yml +++ b/ansible_collections/sensu/sensu_go/tests/integration/molecule/module_entity/converge.yml @@ -3,7 +3,7 @@ collections: - sensu.sensu_go hosts: all - gather_facts: no + gather_facts: false tasks: - name: Create entity with minimal parameters entity: @@ -55,7 +55,7 @@ addresses: - 93.184.216.34/24 last_seen: 1522798317 - deregister: yes + deregister: true deregistration_handler: email-handler redact: - password @@ -102,7 +102,7 @@ addresses: - 93.184.216.34/24 last_seen: 1522798317 - deregister: yes + deregister: true deregistration_handler: email-handler redact: - password diff --git a/ansible_collections/sensu/sensu_go/tests/integration/molecule/module_event/converge.yml b/ansible_collections/sensu/sensu_go/tests/integration/molecule/module_event/converge.yml index 885698e1e..a92fad7c3 100644 --- a/ansible_collections/sensu/sensu_go/tests/integration/molecule/module_event/converge.yml +++ b/ansible_collections/sensu/sensu_go/tests/integration/molecule/module_event/converge.yml @@ -3,7 +3,7 @@ collections: - sensu.sensu_go hosts: all - gather_facts: no + gather_facts: false tasks: - name: Event info without entity event_info: diff --git a/ansible_collections/sensu/sensu_go/tests/integration/molecule/module_filter/converge.yml b/ansible_collections/sensu/sensu_go/tests/integration/molecule/module_filter/converge.yml index 6ae4f03a2..1c0353a4f 100644 --- a/ansible_collections/sensu/sensu_go/tests/integration/molecule/module_filter/converge.yml +++ b/ansible_collections/sensu/sensu_go/tests/integration/molecule/module_filter/converge.yml @@ -3,7 +3,7 @@ collections: - sensu.sensu_go hosts: all - gather_facts: no + gather_facts: false tasks: - name: Create filter with missing required parameters filter: diff --git a/ansible_collections/sensu/sensu_go/tests/integration/molecule/module_handler_set/converge.yml b/ansible_collections/sensu/sensu_go/tests/integration/molecule/module_handler_set/converge.yml index 5a71e7e9e..93e2cc361 100644 --- a/ansible_collections/sensu/sensu_go/tests/integration/molecule/module_handler_set/converge.yml +++ b/ansible_collections/sensu/sensu_go/tests/integration/molecule/module_handler_set/converge.yml @@ -3,7 +3,7 @@ collections: - sensu.sensu_go hosts: all - gather_facts: no + gather_facts: false tasks: - name: Create handler set handler_set: diff --git a/ansible_collections/sensu/sensu_go/tests/integration/molecule/module_hook/converge.yml b/ansible_collections/sensu/sensu_go/tests/integration/molecule/module_hook/converge.yml index 160c27d62..eb22ed3dd 100644 --- a/ansible_collections/sensu/sensu_go/tests/integration/molecule/module_hook/converge.yml +++ b/ansible_collections/sensu/sensu_go/tests/integration/molecule/module_hook/converge.yml @@ -3,7 +3,7 @@ collections: - sensu.sensu_go hosts: all - gather_facts: no + gather_facts: false tasks: - name: Create hook with minimal parameters hook: @@ -40,7 +40,7 @@ name: hook command: /bin/true timeout: 30 - stdin: yes + stdin: true runtime_assets: - ruby2.4 register: result @@ -61,7 +61,7 @@ name: hook command: /bin/true timeout: 30 - stdin: yes + stdin: true runtime_assets: - ruby2.4 register: result diff --git a/ansible_collections/sensu/sensu_go/tests/integration/molecule/module_ldap_auth_provider/converge.yml b/ansible_collections/sensu/sensu_go/tests/integration/molecule/module_ldap_auth_provider/converge.yml index 053bdf82d..451a70073 100644 --- a/ansible_collections/sensu/sensu_go/tests/integration/molecule/module_ldap_auth_provider/converge.yml +++ b/ansible_collections/sensu/sensu_go/tests/integration/molecule/module_ldap_auth_provider/converge.yml @@ -1,7 +1,7 @@ --- - name: Converge hosts: all - gather_facts: no + gather_facts: false tasks: - name: Fetch all LDAP auth providers and verify the presence sensu.sensu_go.auth_provider_info: @@ -11,7 +11,7 @@ - ansible.builtin.assert: that: - - result.objects | length == 0 + - result.objects | length == 0 - name: Fail when trying to create a LDAP auth provider with missing required params sensu.sensu_go.ldap_auth_provider: @@ -30,7 +30,7 @@ sensu.sensu_go.ldap_auth_provider: &create-provider state: present name: openldap - servers: + servers: - host: 127.0.0.1 group_search: base_dn: dc=acme,dc=org @@ -87,7 +87,7 @@ sensu.sensu_go.ldap_auth_provider: &update-provider state: present name: openldap - servers: + servers: - host: 127.0.0.1 group_search: base_dn: dc=acme,dc=org @@ -143,7 +143,7 @@ - result.objects.0.groups_prefix == 'dev' - name: Idempotence check for LDAP auth provider modification - sensu.sensu_go.ldap_auth_provider: *update-provider + sensu.sensu_go.ldap_auth_provider: *update-provider register: result - ansible.builtin.assert: @@ -222,7 +222,7 @@ url: http://localhost:8080 state: present name: other-openldap - servers: + servers: - host: 127.0.0.1 port: 636 insecure: false diff --git a/ansible_collections/sensu/sensu_go/tests/integration/molecule/module_mutator/converge.yml b/ansible_collections/sensu/sensu_go/tests/integration/molecule/module_mutator/converge.yml index 52db18f85..0c3ba83cb 100644 --- a/ansible_collections/sensu/sensu_go/tests/integration/molecule/module_mutator/converge.yml +++ b/ansible_collections/sensu/sensu_go/tests/integration/molecule/module_mutator/converge.yml @@ -3,7 +3,7 @@ collections: - sensu.sensu_go hosts: all - gather_facts: no + gather_facts: false tasks: - name: Create mutator with minimal parameters mutator: diff --git a/ansible_collections/sensu/sensu_go/tests/integration/molecule/module_namespace/converge.yml b/ansible_collections/sensu/sensu_go/tests/integration/molecule/module_namespace/converge.yml index e7f332e2f..1642d2906 100644 --- a/ansible_collections/sensu/sensu_go/tests/integration/molecule/module_namespace/converge.yml +++ b/ansible_collections/sensu/sensu_go/tests/integration/molecule/module_namespace/converge.yml @@ -3,7 +3,7 @@ collections: - sensu.sensu_go hosts: all - gather_facts: no + gather_facts: false tasks: - name: Fetch all namespaces namespace_info: @@ -55,7 +55,7 @@ - result.objects | length == expected_length | int - result.objects.1.name == 'dev' vars: - expected_length: "{{ starting_length|int + 2 }}" + expected_length: "{{ starting_length | int + 2 }}" - name: Delete namespace namespace: @@ -75,4 +75,4 @@ - result.objects | length == expected_length | int - result.objects.1.name == 'production' vars: - expected_length: "{{ starting_length|int + 1 }}" + expected_length: "{{ starting_length | int + 1 }}" diff --git a/ansible_collections/sensu/sensu_go/tests/integration/molecule/module_oidc_auth_provider/converge.yml b/ansible_collections/sensu/sensu_go/tests/integration/molecule/module_oidc_auth_provider/converge.yml index 89f42f48a..551989376 100644 --- a/ansible_collections/sensu/sensu_go/tests/integration/molecule/module_oidc_auth_provider/converge.yml +++ b/ansible_collections/sensu/sensu_go/tests/integration/molecule/module_oidc_auth_provider/converge.yml @@ -1,7 +1,7 @@ --- - name: Converge hosts: all - gather_facts: no + gather_facts: false tasks: - name: Fetch all auth providers and verify the presence sensu.sensu_go.auth_provider_info: @@ -11,7 +11,7 @@ - ansible.builtin.assert: that: - - result.objects | length == 0 + - result.objects | length == 0 - name: Fail when trying to create a OIDC auth provider with missing required params sensu.sensu_go.oidc_auth_provider: @@ -146,7 +146,7 @@ - result.objects.0.username_claim == 'email' - name: Idempotence check for OIDC auth provider modification - sensu.sensu_go.oidc_auth_provider: *update-provider + sensu.sensu_go.oidc_auth_provider: *update-provider register: result - ansible.builtin.assert: diff --git a/ansible_collections/sensu/sensu_go/tests/integration/molecule/module_pipe_handler/converge.yml b/ansible_collections/sensu/sensu_go/tests/integration/molecule/module_pipe_handler/converge.yml index 8fe9f0682..fa322c2b0 100644 --- a/ansible_collections/sensu/sensu_go/tests/integration/molecule/module_pipe_handler/converge.yml +++ b/ansible_collections/sensu/sensu_go/tests/integration/molecule/module_pipe_handler/converge.yml @@ -3,7 +3,7 @@ collections: - sensu.sensu_go hosts: all - gather_facts: no + gather_facts: false tasks: - name: Create pipe handler with minimal parameters pipe_handler: diff --git a/ansible_collections/sensu/sensu_go/tests/integration/molecule/module_pipeline/converge.yml b/ansible_collections/sensu/sensu_go/tests/integration/molecule/module_pipeline/converge.yml new file mode 100644 index 000000000..1a88482b5 --- /dev/null +++ b/ansible_collections/sensu/sensu_go/tests/integration/molecule/module_pipeline/converge.yml @@ -0,0 +1,502 @@ +--- +- name: Converge + collections: + - sensu.sensu_go + hosts: all + gather_facts: no + vars: + SENSU_URL: http://localhost:8080 + tasks: + - name: Create pipeline with minimal parameters + pipeline: + auth: + url: "{{ SENSU_URL }}" + name: pipeline_integration_test + workflows: + - name: this_wf + handler: + name: this_handler + type: handler + register: result + - assert: + that: + - result is changed + - result.object.metadata.name == "pipeline_integration_test" + - result.object.metadata.namespace == "default" + - result.object.metadata.created_by == "admin" + - result.object.workflows | length == 1 + - result.object.workflows.0.name == "this_wf" + - result.object.workflows.0.handler.name == "this_handler" + - result.object.workflows.0.handler.type == "Handler" + + - name: Get data with info module - test info module + pipeline_info: + auth: + url: "{{ SENSU_URL }}" + name: pipeline_integration_test + register: result + - assert: + that: + - result is not changed + - result.objects | length == 1 + - result.objects.0.metadata.name == "pipeline_integration_test" + - result.objects.0.metadata.namespace == "default" + - result.objects.0.metadata.created_by == "admin" + - result.objects.0.workflows | length == 1 + - result.objects.0.workflows.0.name == "this_wf" + - result.objects.0.workflows.0.handler.name == "this_handler" + - result.objects.0.workflows.0.handler.type == "Handler" + + - name: Create pipeline with minimal parameters - IDEMPOTENCE + pipeline: + auth: + url: "{{ SENSU_URL }}" + name: pipeline_integration_test + workflows: + - name: this_wf + handler: + name: this_handler + type: handler + register: result + - assert: + that: + - result is not changed + + - name: Check that idempotence didn't change anything + pipeline_info: + auth: + url: "{{ SENSU_URL }}" + name: pipeline_integration_test + register: result + - assert: + that: + - result is not changed + - result.objects | length == 1 + - result.objects.0.metadata.name == "pipeline_integration_test" + - result.objects.0.metadata.namespace == "default" + - result.objects.0.metadata.created_by == "admin" + - result.objects.0.workflows | length == 1 + - result.objects.0.workflows.0.name == "this_wf" + - result.objects.0.workflows.0.handler.name == "this_handler" + - result.objects.0.workflows.0.handler.type == "Handler" + + - name: Create pipeline with all parameters + pipeline: + auth: + url: "{{ SENSU_URL }}" + name: pipeline_integration_test_2 + workflows: + - name: this_wf + handler: + name: this_handler + type: handler + filters: + - name: this_filter_1 + - name: this_filter_2 + mutator: + name: this_mutator + - name: this_wf_2 + handler: + name: this_handler + type: handler + filters: + - name: this_filter_1 + - name: this_filter_2 + mutator: + name: this_mutator + register: result + - assert: + that: + - result is changed + - result.object.metadata.name == "pipeline_integration_test_2" + - result.object.metadata.namespace == "default" + - result.object.metadata.created_by == "admin" + - result.object.workflows | length == 2 + - result.object.workflows.0.name == "this_wf" + - result.object.workflows.0.handler.name == "this_handler" + - result.object.workflows.0.handler.type == "Handler" + - result.object.workflows.0.filters | length == 2 + - result.object.workflows.0.filters.0.name == "this_filter_1" + - result.object.workflows.0.filters.0.type == "EventFilter" + - result.object.workflows.0.filters.1.name == "this_filter_2" + - result.object.workflows.0.filters.1.type == "EventFilter" + - result.object.workflows.0.mutator.name == "this_mutator" + - result.object.workflows.0.mutator.type == "Mutator" + - result.object.workflows.1.name == "this_wf_2" + - result.object.workflows.1.handler.name == "this_handler" + - result.object.workflows.1.handler.type == "Handler" + - result.object.workflows.1.filters | length == 2 + - result.object.workflows.1.filters.0.name == "this_filter_1" + - result.object.workflows.1.filters.0.type == "EventFilter" + - result.object.workflows.1.filters.1.name == "this_filter_2" + - result.object.workflows.1.filters.1.type == "EventFilter" + - result.object.workflows.1.mutator.name == "this_mutator" + - result.object.workflows.1.mutator.type == "Mutator" + + - name: Get data with info module - test two pipelines + pipeline_info: + auth: + url: "{{ SENSU_URL }}" + register: result + - name: Show uploaded certificate info + ansible.builtin.debug: + var: result + - assert: + that: + - result is not changed + - result.objects | length == 2 + - result.objects.0.metadata.name == "pipeline_integration_test" + - result.objects.0.metadata.namespace == "default" + - result.objects.0.metadata.created_by == "admin" + - result.objects.0.workflows | length == 1 + - result.objects.0.workflows.0.name == "this_wf" + - result.objects.0.workflows.0.handler.name == "this_handler" + - result.objects.0.workflows.0.handler.type == "Handler" + - result.objects.1.metadata.name == "pipeline_integration_test_2" + - result.objects.1.metadata.namespace == "default" + - result.objects.1.metadata.created_by == "admin" + - result.objects.1.workflows | length == 2 + - result.objects.1.workflows.0.name == "this_wf" + - result.objects.1.workflows.0.handler.name == "this_handler" + - result.objects.1.workflows.0.handler.type == "Handler" + - result.objects.1.workflows.0.filters | length == 2 + - result.objects.1.workflows.0.filters.0.name == "this_filter_1" + - result.objects.1.workflows.0.filters.0.type == "EventFilter" + - result.objects.1.workflows.0.filters.1.name == "this_filter_2" + - result.objects.1.workflows.0.filters.1.type == "EventFilter" + - result.objects.1.workflows.0.mutator.name == "this_mutator" + - result.objects.1.workflows.0.mutator.type == "Mutator" + - result.objects.1.workflows.1.name == "this_wf_2" + - result.objects.1.workflows.1.handler.name == "this_handler" + - result.objects.1.workflows.1.handler.type == "Handler" + - result.objects.1.workflows.1.filters | length == 2 + - result.objects.1.workflows.1.filters.0.name == "this_filter_1" + - result.objects.1.workflows.1.filters.0.type == "EventFilter" + - result.objects.1.workflows.1.filters.1.name == "this_filter_2" + - result.objects.1.workflows.1.filters.1.type == "EventFilter" + - result.objects.1.workflows.1.mutator.name == "this_mutator" + - result.objects.1.workflows.1.mutator.type == "Mutator" + + - name: Create pipeline with all parameters - IDEMPOTENCE + pipeline: + auth: + url: "{{ SENSU_URL }}" + name: pipeline_integration_test_2 + workflows: + - name: this_wf + handler: + name: this_handler + type: handler + filters: + - name: this_filter_1 + - name: this_filter_2 + mutator: + name: this_mutator + - name: this_wf_2 + handler: + name: this_handler + type: handler + filters: + - name: this_filter_1 + - name: this_filter_2 + mutator: + name: this_mutator + register: result + - assert: + that: + - result is not changed + + - name: Check that idempotence didn't change anything - test two pipelines + pipeline_info: + auth: + url: "{{ SENSU_URL }}" + register: result + - assert: + that: + - result is not changed + - result.objects | length == 2 + - result.objects.0.metadata.name == "pipeline_integration_test" + - result.objects.0.metadata.namespace == "default" + - result.objects.0.metadata.created_by == "admin" + - result.objects.0.workflows | length == 1 + - result.objects.0.workflows.0.name == "this_wf" + - result.objects.0.workflows.0.handler.name == "this_handler" + - result.objects.0.workflows.0.handler.type == "Handler" + - result.objects.1.metadata.name == "pipeline_integration_test_2" + - result.objects.1.metadata.namespace == "default" + - result.objects.1.metadata.created_by == "admin" + - result.objects.1.workflows | length == 2 + - result.objects.1.workflows.0.name == "this_wf" + - result.objects.1.workflows.0.handler.name == "this_handler" + - result.objects.1.workflows.0.handler.type == "Handler" + - result.objects.1.workflows.0.filters | length == 2 + - result.objects.1.workflows.0.filters.0.name == "this_filter_1" + - result.objects.1.workflows.0.filters.0.type == "EventFilter" + - result.objects.1.workflows.0.filters.1.name == "this_filter_2" + - result.objects.1.workflows.0.filters.1.type == "EventFilter" + - result.objects.1.workflows.0.mutator.name == "this_mutator" + - result.objects.1.workflows.0.mutator.type == "Mutator" + - result.objects.1.workflows.1.name == "this_wf_2" + - result.objects.1.workflows.1.handler.name == "this_handler" + - result.objects.1.workflows.1.handler.type == "Handler" + - result.objects.1.workflows.1.filters | length == 2 + - result.objects.1.workflows.1.filters.0.name == "this_filter_1" + - result.objects.1.workflows.1.filters.0.type == "EventFilter" + - result.objects.1.workflows.1.filters.1.name == "this_filter_2" + - result.objects.1.workflows.1.filters.1.type == "EventFilter" + - result.objects.1.workflows.1.mutator.name == "this_mutator" + - result.objects.1.workflows.1.mutator.type == "Mutator" + + - name: Change filter name on 2nd pipeline + pipeline: + auth: + url: "{{ SENSU_URL }}" + name: pipeline_integration_test_2 + workflows: + - name: this_wf + handler: + name: this_handler + type: handler + filters: + - name: this_filter_1 + - name: this_filter_2_changed + mutator: + name: this_mutator + - name: this_wf_2 + handler: + name: this_handler + type: handler + filters: + - name: this_filter_1 + - name: this_filter_2 + mutator: + name: this_mutator + register: result + - assert: + that: + - result is changed + - result.object.metadata.name == "pipeline_integration_test_2" + - result.object.metadata.namespace == "default" + - result.object.metadata.created_by == "admin" + - result.object.workflows | length == 2 + - result.object.workflows.0.name == "this_wf" + - result.object.workflows.0.handler.name == "this_handler" + - result.object.workflows.0.handler.type == "Handler" + - result.object.workflows.0.filters | length == 2 + - result.object.workflows.0.filters.0.name == "this_filter_1" + - result.object.workflows.0.filters.0.type == "EventFilter" + - result.object.workflows.0.filters.1.name == "this_filter_2_changed" + - result.object.workflows.0.filters.1.type == "EventFilter" + - result.object.workflows.0.mutator.name == "this_mutator" + - result.object.workflows.0.mutator.type == "Mutator" + - result.object.workflows.1.name == "this_wf_2" + - result.object.workflows.1.handler.name == "this_handler" + - result.object.workflows.1.handler.type == "Handler" + - result.object.workflows.1.filters | length == 2 + - result.object.workflows.1.filters.0.name == "this_filter_1" + - result.object.workflows.1.filters.0.type == "EventFilter" + - result.object.workflows.1.filters.1.name == "this_filter_2" + - result.object.workflows.1.filters.1.type == "EventFilter" + - result.object.workflows.1.mutator.name == "this_mutator" + - result.object.workflows.1.mutator.type == "Mutator" + + - name: Get data with info module - test change + pipeline_info: + auth: + url: "{{ SENSU_URL }}" + name: pipeline_integration_test_2 + register: result + - name: Show uploaded certificate info + ansible.builtin.debug: + var: result + - assert: + that: + - result is not changed + - result.objects | length == 1 + - result.objects.0.metadata.name == "pipeline_integration_test_2" + - result.objects.0.metadata.namespace == "default" + - result.objects.0.metadata.created_by == "admin" + - result.objects.0.workflows | length == 2 + - result.objects.0.workflows.0.name == "this_wf" + - result.objects.0.workflows.0.handler.name == "this_handler" + - result.objects.0.workflows.0.handler.type == "Handler" + - result.objects.0.workflows.0.filters | length == 2 + - result.objects.0.workflows.0.filters.0.name == "this_filter_1" + - result.objects.0.workflows.0.filters.0.type == "EventFilter" + - result.objects.0.workflows.0.filters.1.name == "this_filter_2_changed" + - result.objects.0.workflows.0.filters.1.type == "EventFilter" + - result.objects.0.workflows.0.mutator.name == "this_mutator" + - result.objects.0.workflows.0.mutator.type == "Mutator" + - result.objects.0.workflows.1.name == "this_wf_2" + - result.objects.0.workflows.1.handler.name == "this_handler" + - result.objects.0.workflows.1.handler.type == "Handler" + - result.objects.0.workflows.1.filters | length == 2 + - result.objects.0.workflows.1.filters.0.name == "this_filter_1" + - result.objects.0.workflows.1.filters.0.type == "EventFilter" + - result.objects.0.workflows.1.filters.1.name == "this_filter_2" + - result.objects.0.workflows.1.filters.1.type == "EventFilter" + - result.objects.0.workflows.1.mutator.name == "this_mutator" + - result.objects.0.workflows.1.mutator.type == "Mutator" + + - name: Change filter name on 2nd pipeline - IDEMPOTENCE + pipeline: + auth: + url: "{{ SENSU_URL }}" + name: pipeline_integration_test_2 + workflows: + - name: this_wf + handler: + name: this_handler + type: handler + filters: + - name: this_filter_1 + - name: this_filter_2_changed + mutator: + name: this_mutator + - name: this_wf_2 + handler: + name: this_handler + type: handler + filters: + - name: this_filter_1 + - name: this_filter_2 + mutator: + name: this_mutator + register: result + - assert: + that: + - result is not changed + + - name: Check that idempotence didn't change anything + pipeline_info: + auth: + url: "{{ SENSU_URL }}" + name: pipeline_integration_test_2 + register: result + - name: Show uploaded certificate info + ansible.builtin.debug: + var: result + - assert: + that: + - result is not changed + - result.objects | length == 1 + - result.objects.0.metadata.name == "pipeline_integration_test_2" + - result.objects.0.metadata.namespace == "default" + - result.objects.0.metadata.created_by == "admin" + - result.objects.0.workflows | length == 2 + - result.objects.0.workflows.0.name == "this_wf" + - result.objects.0.workflows.0.handler.name == "this_handler" + - result.objects.0.workflows.0.handler.type == "Handler" + - result.objects.0.workflows.0.filters | length == 2 + - result.objects.0.workflows.0.filters.0.name == "this_filter_1" + - result.objects.0.workflows.0.filters.0.type == "EventFilter" + - result.objects.0.workflows.0.filters.1.name == "this_filter_2_changed" + - result.objects.0.workflows.0.filters.1.type == "EventFilter" + - result.objects.0.workflows.0.mutator.name == "this_mutator" + - result.objects.0.workflows.0.mutator.type == "Mutator" + - result.objects.0.workflows.1.name == "this_wf_2" + - result.objects.0.workflows.1.handler.name == "this_handler" + - result.objects.0.workflows.1.handler.type == "Handler" + - result.objects.0.workflows.1.filters | length == 2 + - result.objects.0.workflows.1.filters.0.name == "this_filter_1" + - result.objects.0.workflows.1.filters.0.type == "EventFilter" + - result.objects.0.workflows.1.filters.1.name == "this_filter_2" + - result.objects.0.workflows.1.filters.1.type == "EventFilter" + - result.objects.0.workflows.1.mutator.name == "this_mutator" + - result.objects.0.workflows.1.mutator.type == "Mutator" + + - name: Delete first pipeline + pipeline: + auth: + url: "{{ SENSU_URL }}" + name: pipeline_integration_test + state: absent + register: result + - assert: + that: + - result is changed + + - name: Get data with info module - check delete + pipeline_info: + auth: + url: "{{ SENSU_URL }}" + register: result + - name: Show uploaded certificate info + ansible.builtin.debug: + var: result + - assert: + that: + - result is not changed + - result.objects | length == 1 + - result.objects.0.metadata.name == "pipeline_integration_test_2" + - result.objects.0.metadata.namespace == "default" + - result.objects.0.metadata.created_by == "admin" + - result.objects.0.workflows | length == 2 + - result.objects.0.workflows.0.name == "this_wf" + - result.objects.0.workflows.0.handler.name == "this_handler" + - result.objects.0.workflows.0.handler.type == "Handler" + - result.objects.0.workflows.0.filters | length == 2 + - result.objects.0.workflows.0.filters.0.name == "this_filter_1" + - result.objects.0.workflows.0.filters.0.type == "EventFilter" + - result.objects.0.workflows.0.filters.1.name == "this_filter_2_changed" + - result.objects.0.workflows.0.filters.1.type == "EventFilter" + - result.objects.0.workflows.0.mutator.name == "this_mutator" + - result.objects.0.workflows.0.mutator.type == "Mutator" + - result.objects.0.workflows.1.name == "this_wf_2" + - result.objects.0.workflows.1.handler.name == "this_handler" + - result.objects.0.workflows.1.handler.type == "Handler" + - result.objects.0.workflows.1.filters | length == 2 + - result.objects.0.workflows.1.filters.0.name == "this_filter_1" + - result.objects.0.workflows.1.filters.0.type == "EventFilter" + - result.objects.0.workflows.1.filters.1.name == "this_filter_2" + - result.objects.0.workflows.1.filters.1.type == "EventFilter" + - result.objects.0.workflows.1.mutator.name == "this_mutator" + - result.objects.0.workflows.1.mutator.type == "Mutator" + + - name: Delete first pipeline - IDEMPOTENCE + pipeline: + auth: + url: "{{ SENSU_URL }}" + name: pipeline_integration_test + state: absent + register: result + - assert: + that: + - result is not changed + + - name: Check that idempotence didn't change anything + pipeline_info: + auth: + url: "{{ SENSU_URL }}" + register: result + - name: Show uploaded certificate info + ansible.builtin.debug: + var: result + - assert: + that: + - result is not changed + - result.objects | length == 1 + - result.objects.0.metadata.name == "pipeline_integration_test_2" + - result.objects.0.metadata.namespace == "default" + - result.objects.0.metadata.created_by == "admin" + - result.objects.0.workflows | length == 2 + - result.objects.0.workflows.0.name == "this_wf" + - result.objects.0.workflows.0.handler.name == "this_handler" + - result.objects.0.workflows.0.handler.type == "Handler" + - result.objects.0.workflows.0.filters | length == 2 + - result.objects.0.workflows.0.filters.0.name == "this_filter_1" + - result.objects.0.workflows.0.filters.0.type == "EventFilter" + - result.objects.0.workflows.0.filters.1.name == "this_filter_2_changed" + - result.objects.0.workflows.0.filters.1.type == "EventFilter" + - result.objects.0.workflows.0.mutator.name == "this_mutator" + - result.objects.0.workflows.0.mutator.type == "Mutator" + - result.objects.0.workflows.1.name == "this_wf_2" + - result.objects.0.workflows.1.handler.name == "this_handler" + - result.objects.0.workflows.1.handler.type == "Handler" + - result.objects.0.workflows.1.filters | length == 2 + - result.objects.0.workflows.1.filters.0.name == "this_filter_1" + - result.objects.0.workflows.1.filters.0.type == "EventFilter" + - result.objects.0.workflows.1.filters.1.name == "this_filter_2" + - result.objects.0.workflows.1.filters.1.type == "EventFilter" + - result.objects.0.workflows.1.mutator.name == "this_mutator" + - result.objects.0.workflows.1.mutator.type == "Mutator" diff --git a/ansible_collections/sensu/sensu_go/tests/integration/molecule/module_pipeline/molecule.yml b/ansible_collections/sensu/sensu_go/tests/integration/molecule/module_pipeline/molecule.yml new file mode 100644 index 000000000..ee45d467f --- /dev/null +++ b/ansible_collections/sensu/sensu_go/tests/integration/molecule/module_pipeline/molecule.yml @@ -0,0 +1,31 @@ +platforms: + - name: v6.10.0 + image: quay.io/xlab-steampunk/sensu-go-tests-sensu:6.10.0 + pre_build_image: true + pull: true + override_command: false + - name: v6.9.0 + image: quay.io/xlab-steampunk/sensu-go-tests-sensu:6.9.0 + pre_build_image: true + pull: true + override_command: false + - name: v6.8.2 + image: quay.io/xlab-steampunk/sensu-go-tests-sensu:6.8.2 + pre_build_image: true + pull: true + override_command: false + - name: v6.7.5 + image: quay.io/xlab-steampunk/sensu-go-tests-sensu:6.7.5 + pre_build_image: true + pull: true + override_command: false + - name: v6.6.2 + image: quay.io/xlab-steampunk/sensu-go-tests-sensu:6.6.2 + pre_build_image: true + pull: true + override_command: false + - name: v6.5.5 + image: quay.io/xlab-steampunk/sensu-go-tests-sensu:6.5.5 + pre_build_image: true + pull: true + override_command: false diff --git a/ansible_collections/sensu/sensu_go/tests/integration/molecule/module_role/converge.yml b/ansible_collections/sensu/sensu_go/tests/integration/molecule/module_role/converge.yml index b1871e70e..cc720b6f2 100644 --- a/ansible_collections/sensu/sensu_go/tests/integration/molecule/module_role/converge.yml +++ b/ansible_collections/sensu/sensu_go/tests/integration/molecule/module_role/converge.yml @@ -3,7 +3,7 @@ collections: - sensu.sensu_go hosts: all - gather_facts: no + gather_facts: false tasks: - name: Create a role with missing required parameters role: diff --git a/ansible_collections/sensu/sensu_go/tests/integration/molecule/module_role_binding/converge.yml b/ansible_collections/sensu/sensu_go/tests/integration/molecule/module_role_binding/converge.yml index 25f796769..4d426b9f1 100644 --- a/ansible_collections/sensu/sensu_go/tests/integration/molecule/module_role_binding/converge.yml +++ b/ansible_collections/sensu/sensu_go/tests/integration/molecule/module_role_binding/converge.yml @@ -3,7 +3,7 @@ collections: - sensu.sensu_go hosts: all - gather_facts: no + gather_facts: false tasks: - name: Create a role binding with missing required parameters role_binding: diff --git a/ansible_collections/sensu/sensu_go/tests/integration/molecule/module_secrets_provider_env/converge.yml b/ansible_collections/sensu/sensu_go/tests/integration/molecule/module_secrets_provider_env/converge.yml index db34cca9b..ba89b602d 100644 --- a/ansible_collections/sensu/sensu_go/tests/integration/molecule/module_secrets_provider_env/converge.yml +++ b/ansible_collections/sensu/sensu_go/tests/integration/molecule/module_secrets_provider_env/converge.yml @@ -1,7 +1,7 @@ --- - name: Converge hosts: all - gather_facts: no + gather_facts: false tasks: - name: Fetch all secrets providers and verify the presence of the default env provider diff --git a/ansible_collections/sensu/sensu_go/tests/integration/molecule/module_secrets_provider_vault/converge.yml b/ansible_collections/sensu/sensu_go/tests/integration/molecule/module_secrets_provider_vault/converge.yml index a5971afc4..653851f2d 100644 --- a/ansible_collections/sensu/sensu_go/tests/integration/molecule/module_secrets_provider_vault/converge.yml +++ b/ansible_collections/sensu/sensu_go/tests/integration/molecule/module_secrets_provider_vault/converge.yml @@ -1,7 +1,7 @@ --- - name: Pre-converge step - ensure presence of valid PEM files for TLS configuration hosts: all - gather_facts: no + gather_facts: false tasks: # As part of configuring TLS for the vault secrets provider, we need # to specify paths to CA cert and client cert/key files. @@ -19,7 +19,7 @@ - name: Converge hosts: all - gather_facts: no + gather_facts: false tasks: - name: Fetch all secrets providers and verify the presence of the default env provider @@ -167,7 +167,7 @@ - result.objects.0.client.tls.ca_cert == '/tmp/ca.crt' - name: Idempotence check for vault provider modification - sensu.sensu_go.secrets_provider_vault: *update-provider + sensu.sensu_go.secrets_provider_vault: *update-provider register: result - ansible.builtin.assert: diff --git a/ansible_collections/sensu/sensu_go/tests/integration/molecule/module_silence/converge.yml b/ansible_collections/sensu/sensu_go/tests/integration/molecule/module_silence/converge.yml index 20496d0e8..77013636d 100644 --- a/ansible_collections/sensu/sensu_go/tests/integration/molecule/module_silence/converge.yml +++ b/ansible_collections/sensu/sensu_go/tests/integration/molecule/module_silence/converge.yml @@ -3,13 +3,13 @@ collections: - sensu.sensu_go hosts: all - gather_facts: no + gather_facts: false tasks: - name: Create silence without parameters silence: auth: url: http://localhost:8080 - ignore_errors: True + ignore_errors: true register: result - assert: @@ -75,7 +75,7 @@ # expiring and getting dropped on the floor by the backend. begin: 1893452400 expire: 120 - expire_on_resolve: True + expire_on_resolve: true reason: updating mail server register: result diff --git a/ansible_collections/sensu/sensu_go/tests/integration/molecule/module_socket_handler/converge.yml b/ansible_collections/sensu/sensu_go/tests/integration/molecule/module_socket_handler/converge.yml index 8dcb5fc11..bfaeef718 100644 --- a/ansible_collections/sensu/sensu_go/tests/integration/molecule/module_socket_handler/converge.yml +++ b/ansible_collections/sensu/sensu_go/tests/integration/molecule/module_socket_handler/converge.yml @@ -3,7 +3,7 @@ collections: - sensu.sensu_go hosts: all - gather_facts: no + gather_facts: true tasks: - name: Create socket handler with missing required parameters socket_handler: @@ -150,4 +150,4 @@ - assert: that: - result.objects | length == 1 - - result.objects.0.metadata.name == 'minimal_handler'
\ No newline at end of file + - result.objects.0.metadata.name == 'minimal_handler' diff --git a/ansible_collections/sensu/sensu_go/tests/integration/molecule/module_tessen/converge.yml b/ansible_collections/sensu/sensu_go/tests/integration/molecule/module_tessen/converge.yml index a06da3054..db6a54c5f 100644 --- a/ansible_collections/sensu/sensu_go/tests/integration/molecule/module_tessen/converge.yml +++ b/ansible_collections/sensu/sensu_go/tests/integration/molecule/module_tessen/converge.yml @@ -3,7 +3,7 @@ collections: - sensu.sensu_go hosts: all - gather_facts: no + gather_facts: false tasks: - name: Call tessen with missing required parameters tessen: diff --git a/ansible_collections/sensu/sensu_go/tests/integration/molecule/module_user/converge.yml b/ansible_collections/sensu/sensu_go/tests/integration/molecule/module_user/converge.yml index 7312779e6..2f209f092 100644 --- a/ansible_collections/sensu/sensu_go/tests/integration/molecule/module_user/converge.yml +++ b/ansible_collections/sensu/sensu_go/tests/integration/molecule/module_user/converge.yml @@ -3,7 +3,7 @@ collections: - sensu.sensu_go hosts: all - gather_facts: no + gather_facts: false environment: SENSU_URL: http://localhost:8080 @@ -42,7 +42,7 @@ - name: Add disabled user to some groups user: name: awesome_username - groups: [ a, b, c ] + groups: [a, b, c] state: disabled register: result diff --git a/ansible_collections/sensu/sensu_go/tests/integration/molecule/role_agent_default/molecule.yml b/ansible_collections/sensu/sensu_go/tests/integration/molecule/role_agent_default/molecule.yml index 505b22632..a067e8414 100644 --- a/ansible_collections/sensu/sensu_go/tests/integration/molecule/role_agent_default/molecule.yml +++ b/ansible_collections/sensu/sensu_go/tests/integration/molecule/role_agent_default/molecule.yml @@ -13,7 +13,7 @@ platforms: image: quay.io/xlab-steampunk/sensu-go-tests-centos:7 pre_build_image: true pull: true - groups: [ agents ] + groups: [agents] override_command: false privileged: true volumes: diff --git a/ansible_collections/sensu/sensu_go/tests/integration/molecule/role_agent_secured/converge.yml b/ansible_collections/sensu/sensu_go/tests/integration/molecule/role_agent_secured/converge.yml index 7e0e1ccfa..0653dc711 100644 --- a/ansible_collections/sensu/sensu_go/tests/integration/molecule/role_agent_secured/converge.yml +++ b/ansible_collections/sensu/sensu_go/tests/integration/molecule/role_agent_secured/converge.yml @@ -1,7 +1,7 @@ --- - name: Pre-converge secure backend config step hosts: backends - gather_facts: no + gather_facts: false tasks: - name: Set dummy backend PKI variables set_fact: @@ -49,7 +49,7 @@ - name: Default configuration hosts: agents - gather_facts: no + gather_facts: false roles: - sensu.sensu_go.agent diff --git a/ansible_collections/sensu/sensu_go/tests/integration/molecule/role_agent_secured/molecule.yml b/ansible_collections/sensu/sensu_go/tests/integration/molecule/role_agent_secured/molecule.yml index 430054e8b..774cf3111 100644 --- a/ansible_collections/sensu/sensu_go/tests/integration/molecule/role_agent_secured/molecule.yml +++ b/ansible_collections/sensu/sensu_go/tests/integration/molecule/role_agent_secured/molecule.yml @@ -4,7 +4,7 @@ platforms: image: quay.io/xlab-steampunk/sensu-go-tests-centos:7 pre_build_image: true pull: true - groups: [ agents ] + groups: [agents] override_command: false privileged: true volumes: diff --git a/ansible_collections/sensu/sensu_go/tests/integration/molecule/role_backend_config/converge.yml b/ansible_collections/sensu/sensu_go/tests/integration/molecule/role_backend_config/converge.yml index 056998447..e4af93a02 100644 --- a/ansible_collections/sensu/sensu_go/tests/integration/molecule/role_backend_config/converge.yml +++ b/ansible_collections/sensu/sensu_go/tests/integration/molecule/role_backend_config/converge.yml @@ -9,7 +9,7 @@ tasks_from: configure vars: backend_config: - debug: no + debug: false log-level: debug api-listen-address: "[::]:4430" @@ -34,7 +34,7 @@ tasks_from: configure vars: backend_config: - debug: yes + debug: true log-level: debug state-dir: /tmp/different/state deregistration-handler: /tmp/handler.sh diff --git a/ansible_collections/sensu/sensu_go/tests/integration/molecule/role_backend_default/verify.yml b/ansible_collections/sensu/sensu_go/tests/integration/molecule/role_backend_default/verify.yml index c6d487eaa..e0a90881d 100644 --- a/ansible_collections/sensu/sensu_go/tests/integration/molecule/role_backend_default/verify.yml +++ b/ansible_collections/sensu/sensu_go/tests/integration/molecule/role_backend_default/verify.yml @@ -32,4 +32,4 @@ url: http://localhost:8080/auth url_username: admin url_password: P@ssw0rd! - force_basic_auth: yes + force_basic_auth: true diff --git a/ansible_collections/sensu/sensu_go/tests/integration/molecule/role_install_custom_build/molecule.yml b/ansible_collections/sensu/sensu_go/tests/integration/molecule/role_install_custom_build/molecule.yml index 59e497b6b..a9cfcefe3 100644 --- a/ansible_collections/sensu/sensu_go/tests/integration/molecule/role_install_custom_build/molecule.yml +++ b/ansible_collections/sensu/sensu_go/tests/integration/molecule/role_install_custom_build/molecule.yml @@ -1,7 +1,7 @@ --- platforms: - name: ubuntu - image: quay.io/xlab-steampunk/sensu-go-tests-ubuntu:16.04 + image: quay.io/xlab-steampunk/sensu-go-tests-ubuntu:18.04 pre_build_image: true pull: true diff --git a/ansible_collections/sensu/sensu_go/tests/integration/molecule/role_install_custom_version/molecule.yml b/ansible_collections/sensu/sensu_go/tests/integration/molecule/role_install_custom_version/molecule.yml index 59e497b6b..a9cfcefe3 100644 --- a/ansible_collections/sensu/sensu_go/tests/integration/molecule/role_install_custom_version/molecule.yml +++ b/ansible_collections/sensu/sensu_go/tests/integration/molecule/role_install_custom_version/molecule.yml @@ -1,7 +1,7 @@ --- platforms: - name: ubuntu - image: quay.io/xlab-steampunk/sensu-go-tests-ubuntu:16.04 + image: quay.io/xlab-steampunk/sensu-go-tests-ubuntu:18.04 pre_build_image: true pull: true diff --git a/ansible_collections/sensu/sensu_go/tests/integration/molecule/role_install_default_deb/molecule.yml b/ansible_collections/sensu/sensu_go/tests/integration/molecule/role_install_default_deb/molecule.yml index 1261bc9d0..5ae9068a1 100644 --- a/ansible_collections/sensu/sensu_go/tests/integration/molecule/role_install_default_deb/molecule.yml +++ b/ansible_collections/sensu/sensu_go/tests/integration/molecule/role_install_default_deb/molecule.yml @@ -33,3 +33,8 @@ platforms: image: quay.io/xlab-steampunk/sensu-go-tests-ubuntu:18.04 pre_build_image: true pull: true + + - name: ubuntu-20.04 + image: quay.io/xlab-steampunk/sensu-go-tests-ubuntu:20.04 + pre_build_image: true + pull: true diff --git a/ansible_collections/sensu/sensu_go/tests/unit/plugins/modules/test_datastore.py b/ansible_collections/sensu/sensu_go/tests/unit/plugins/modules/test_datastore.py index 665b29ab8..b57d74a5b 100644 --- a/ansible_collections/sensu/sensu_go/tests/unit/plugins/modules/test_datastore.py +++ b/ansible_collections/sensu/sensu_go/tests/unit/plugins/modules/test_datastore.py @@ -208,7 +208,7 @@ class TestDatastore(ModuleTestCase): type="PostgresConfig", api_version="store/v1", metadata=dict(name="test_datastore"), - spec=dict(dsn="my-dsn"), + spec=dict(dsn="my-dsn", pool_size=0, max_idle_conns=2, batch_buffer=0, batch_size=1, enable_round_robin=False, strict=False), ) assert check_mode is False @@ -253,7 +253,7 @@ class TestDatastore(ModuleTestCase): type="PostgresConfig", api_version="store/v1", metadata=dict(name="test_datastore"), - spec=dict(dsn="my-dsn", pool_size=543), + spec=dict(dsn="my-dsn", pool_size=543, max_idle_conns=2, batch_buffer=0, batch_size=1, enable_round_robin=False, strict=False), ) assert check_mode is False @@ -267,3 +267,82 @@ class TestDatastore(ModuleTestCase): with pytest.raises(AnsibleFailJson): datastore.main() + + +class TestDatastoreParams(ModuleTestCase): + @pytest.mark.parametrize( + # name ... Resource name + # state ... Prefered resource state (Present/Absent) + # dsn ... url or postgre connection string + # pool_size ... max number of connections + # max_conn_lifetime ... max time a connection can persist + # max_idle_conns ... max number of idle connections + # batch_workers ... number of GOroutines + # batch_buffer ... max requests to buffer in memory + # batch_size ... number of requests in each transaction + # enable_round_robin ... round robin (True/False) + # strict ... strict (True/False) + # expected_payload ... expected payload + ("name", "state", "dsn", "pool_size", "max_conn_lifetime", "max_idle_conns", "batch_workers", + "batch_buffer", "batch_size", "enable_round_robin", "strict", "expected_payload"), + [ + # Present + ("my_resource", "present", "postgresql://user:secret@host:port/dbname", 2, 1, 1, 1, 1, 1, + False, True, + {'type': 'PostgresConfig', 'api_version': 'store/v1', 'metadata': {'name': 'my_resource'}, + 'spec': + { + 'dsn': 'postgresql://user:secret@host:port/dbname', 'pool_size': 2, 'max_conn_lifetime': '1', + 'max_idle_conns': 1, 'batch_workers': 1, 'batch_buffer': 1, 'batch_size': 1, + 'enable_round_robin': False, 'strict': True}}), + + ("another_resource", "present", "postgresql://user:secret@host:port/dbname", 0, 0, 0, 0, 0, 0, + False, False, + {'type': 'PostgresConfig', 'api_version': 'store/v1', 'metadata': {'name': 'another_resource'}, + 'spec': + { + 'dsn': 'postgresql://user:secret@host:port/dbname', 'pool_size': 0, 'max_conn_lifetime': '0', + 'max_idle_conns': 0, 'batch_workers': 0, 'batch_buffer': 0, 'batch_size': 0, + 'enable_round_robin': False, 'strict': False}}), + # Absent + ("my_resource", "absent", "", None, None, None, None, None, None, + False, True, + {'type': 'PostgresConfig', 'api_version': 'store/v1', 'metadata': {'name': 'my_resource'}, + 'spec': + { + 'dsn': '', 'enable_round_robin': False, 'strict': True}}), + + ("my_resource", "absent", "postgresql://user:secret@host:port/dbname", 2, 1, 1, 1, 2, 3, + False, True, + {'type': 'PostgresConfig', 'api_version': 'store/v1', 'metadata': {'name': 'my_resource'}, + 'spec': + { + 'dsn': 'postgresql://user:secret@host:port/dbname', 'pool_size': 2, 'max_conn_lifetime': '1', + 'max_idle_conns': 1, 'batch_workers': 1, 'batch_buffer': 2, 'batch_size': 3, + 'enable_round_robin': False, 'strict': True}}), + ], + ) + def test_parameters_datastore(self, mocker, name, state, dsn, pool_size, max_conn_lifetime, max_idle_conns, batch_workers, + batch_buffer, batch_size, enable_round_robin, strict, expected_payload): + sync_mock = mocker.patch.object(datastore, "sync") + sync_mock.return_value = True, {} + set_module_args( + name=name, + dsn=dsn, + state=state, + pool_size=pool_size, + max_conn_lifetime=max_conn_lifetime, + max_idle_conns=max_idle_conns, + batch_workers=batch_workers, + batch_buffer=batch_buffer, + batch_size=batch_size, + enable_round_robin=enable_round_robin, + strict=strict, + ) + with pytest.raises(AnsibleExitJson): + datastore.main() + state_test, _client_test, list_path_test, resource_path_test, payload_test, check_mode_test = ( + sync_mock.call_args[0] + ) + assert state_test == state + assert payload_test == expected_payload diff --git a/ansible_collections/sensu/sensu_go/tests/unit/plugins/modules/test_pipeline.py b/ansible_collections/sensu/sensu_go/tests/unit/plugins/modules/test_pipeline.py new file mode 100644 index 000000000..8edec0355 --- /dev/null +++ b/ansible_collections/sensu/sensu_go/tests/unit/plugins/modules/test_pipeline.py @@ -0,0 +1,179 @@ +from __future__ import absolute_import, division, print_function +__metaclass__ = type + +import sys + +import pytest + +from ansible_collections.sensu.sensu_go.plugins.module_utils import ( + errors, utils, +) +from ansible_collections.sensu.sensu_go.plugins.modules import pipeline + +from .common.utils import ( + AnsibleExitJson, AnsibleFailJson, ModuleTestCase, set_module_args, +) + +pytestmark = pytest.mark.skipif( + sys.version_info < (2, 7), reason="requires python2.7 or higher" +) + + +class TestDoDiffer: + @pytest.mark.parametrize("current,desired", [ + ( # No diff in params, no secrets + dict(name="demo"), + dict(name="demo"), + ), + ]) + def test_no_difference(self, current, desired): + assert pipeline.do_differ(current, desired) is False + + @pytest.mark.parametrize("current,desired", [ + ( # Diff in params, no diff in secrets + dict(name="demo", secrets=[dict(name="a", secret="1")]), + dict(name="prod", secrets=[dict(name="a", secret="1")]), + ), + ( # No diff in params, missing and set secrets + dict(name="demo", secrets=[dict(name="a", secret="1")]), + dict(name="demo", secrets=[dict(name="b", secret="2")]), + ), + ( # Diff in params, missing and set secrets + dict(name="demo", secrets=[dict(name="a", secret="1")]), + dict(name="prod", secrets=[dict(name="b", secret="2")]), + ), + ]) + def test_difference(self, current, desired): + assert pipeline.do_differ(current, desired) is True + + +class TestHandle(ModuleTestCase): + def test_handle_api_version_and_types(self, mocker): + module = mocker.patch('ansible.module_utils.basic.AnsibleModule') + module.params = dict(workflows=[dict(handler=dict(name="test_handler", type="handler"))]) + payload = dict(workflows=[dict(handler=dict(name="test_handler", type="handler"))]) + pipeline.handle_api_version_and_types(module, payload) + expected = dict( + workflows=[dict( + handler=dict(name="test_handler", type="Handler", api_version="core/v2") + )] + ) + assert module.params != payload + assert payload == expected + + @pytest.mark.parametrize("payload_handler, expected", [ + ( + dict(name="test_handler", type="handler"), + dict(name="test_handler", type="Handler", api_version="core/v2"), + ), + ( + dict(name="test_handler", type="tcp_stream_handler"), + dict(name="test_handler", type="TCPStreamHandler", api_version="pipeline/v1"), + ), + ( + dict(name="test_handler", type="sumo_logic_metrics_handler"), + dict(name="test_handler", type="SumoLogicMetricsHandler", api_version="pipeline/v1"), + ), + ]) + def test_handle_handler_api_and_type(self, payload_handler, expected): + pipeline.handle_handler_api_and_type(payload_handler) + assert payload_handler == expected + + @pytest.mark.parametrize("payload_mutator, expected", [ + ( + dict(name="test_mutator", type="mutator"), + dict(name="test_mutator", type="Mutator", api_version="core/v2"), + ), + ]) + def test_handle_mutator_api_and_type(self, payload_mutator, expected): + pipeline.handle_mutator_api_and_type(payload_mutator) + assert payload_mutator == expected + + @pytest.mark.parametrize("workflow, payload_filters, expected", [ + ( + dict(filters=[dict(name="test_filter", type="event_filter")]), + [dict(name="test_filter", type="event_filter")], + [dict(name="test_filter", type="EventFilter", api_version="core/v2")], + ), + ( + dict(filters=[dict(name="test_filter", type="event_filter"), + dict(name="test_filter_2", type="event_filter")]), + [dict(name="test_filter", type="event_filter"), dict(name="test_filter_2", type="event_filter")], + [dict(name="test_filter", type="EventFilter", api_version="core/v2"), + dict(name="test_filter_2", type="EventFilter", api_version="core/v2")], + ), + ]) + def test_handle_filter_api_and_type(self, workflow, payload_filters, expected): + pipeline.handle_filter_api_and_type(payload_filters, workflow) + assert payload_filters == expected + + +class TestPipeline(ModuleTestCase): + def test_minimal_pipeline_parameters(self, mocker): + sync_mock = mocker.patch.object(utils, 'sync') + sync_mock.return_value = True, {} + set_module_args( + name='test_pipeline', + workflows=[dict(name='test_wf', handler=dict(name='test_handler', type='handler'))] + ) + + with pytest.raises(AnsibleExitJson): + pipeline.main() + + state, _client, path, payload, check_mode, _d = sync_mock.call_args[0] + assert state == 'present' + assert path == '/api/core/v2/namespaces/default/pipelines/test_pipeline' + assert payload == dict( + workflows=[dict( + name='test_wf', handler=dict( + name='test_handler', type='Handler', api_version='core/v2'))], + metadata=dict( + name='test_pipeline', + namespace='default', + ), + ) + assert check_mode is False + + def test_all_pipeline_parameters(self, mocker): + sync_mock = mocker.patch.object(utils, 'sync') + sync_mock.return_value = True, {} + set_module_args( + name='test_pipeline', + namespace='my', + state='absent', + workflows=[dict(name='test_wf', handler=dict(name='test_handler', type='handler'), + filters=[dict(name='test_filter', type='event_filter')], + mutator=dict(name='test_mutator', type='mutator') + ) + ], + labels={'region': 'us-west-1'} + ) + + with pytest.raises(AnsibleExitJson): + pipeline.main() + + state, _client, path, payload, check_mode, _d = sync_mock.call_args[0] + assert state == 'absent' + assert path == '/api/core/v2/namespaces/my/pipelines/test_pipeline' + assert payload == dict( + metadata=dict( + name='test_pipeline', + namespace='my', + labels={'region': 'us-west-1'}, + ), + workflows=[dict(name='test_wf', handler=dict(name='test_handler', type='handler'), + filters=[dict(name='test_filter', type='event_filter')], + mutator=dict(name='test_mutator', type='mutator') + )] + ) + assert check_mode is False + + def test_failure(self, mocker): + sync_mock = mocker.patch.object(utils, 'sync') + sync_mock.side_effect = errors.Error('Bad error') + set_module_args( + name='test_pipeline', + ) + + with pytest.raises(AnsibleFailJson): + pipeline.main() diff --git a/ansible_collections/sensu/sensu_go/tests/unit/plugins/modules/test_pipeline_info.py b/ansible_collections/sensu/sensu_go/tests/unit/plugins/modules/test_pipeline_info.py new file mode 100644 index 000000000..c99f7205d --- /dev/null +++ b/ansible_collections/sensu/sensu_go/tests/unit/plugins/modules/test_pipeline_info.py @@ -0,0 +1,63 @@ +from __future__ import absolute_import, division, print_function +__metaclass__ = type + +import sys + +import pytest + +from ansible_collections.sensu.sensu_go.plugins.module_utils import ( + errors, utils, +) +from ansible_collections.sensu.sensu_go.plugins.modules import pipeline_info + +from .common.utils import ( + AnsibleExitJson, AnsibleFailJson, ModuleTestCase, set_module_args, +) + +pytestmark = pytest.mark.skipif( + sys.version_info < (2, 7), reason="requires python2.7 or higher" +) + + +class TestPipelineInfo(ModuleTestCase): + def test_get_all_pipelines(self, mocker): + get_mock = mocker.patch.object(utils, "get") + get_mock.return_value = [1, 2, 3] + set_module_args(namespace="my") + + with pytest.raises(AnsibleExitJson) as context: + pipeline_info.main() + + _client, path = get_mock.call_args[0] + assert path == "/api/core/v2/namespaces/my/pipelines" + assert context.value.args[0]["objects"] == [1, 2, 3] + + def test_get_single_pipeline(self, mocker): + get_mock = mocker.patch.object(utils, "get") + get_mock.return_value = 4 + set_module_args(name="sample-pipeline") + + with pytest.raises(AnsibleExitJson) as context: + pipeline_info.main() + + _client, path = get_mock.call_args[0] + assert path == "/api/core/v2/namespaces/default/pipelines/sample-pipeline" + assert context.value.args[0]["objects"] == [4] + + def test_missing_single_mutator(self, mocker): + get_mock = mocker.patch.object(utils, "get") + get_mock.return_value = None + set_module_args(name="sample-pipeline") + + with pytest.raises(AnsibleExitJson) as context: + pipeline_info.main() + + assert context.value.args[0]["objects"] == [] + + def test_failure(self, mocker): + get_mock = mocker.patch.object(utils, "get") + get_mock.side_effect = errors.Error("Bad error") + set_module_args(name="sample-pipeline") + + with pytest.raises(AnsibleFailJson): + pipeline_info.main() diff --git a/ansible_collections/sensu/sensu_go/tests/unit/plugins/modules/test_user.py b/ansible_collections/sensu/sensu_go/tests/unit/plugins/modules/test_user.py index 52e4a7698..cbe9a3655 100644 --- a/ansible_collections/sensu/sensu_go/tests/unit/plugins/modules/test_user.py +++ b/ansible_collections/sensu/sensu_go/tests/unit/plugins/modules/test_user.py @@ -79,6 +79,39 @@ class TestUpdatePassword: client.validate_auth_data.assert_called_once_with('user', 'pass') client.put.assert_not_called() + @pytest.mark.parametrize( + # bcrypt_present ... is bcrypt library present (True/False). + # expected_exception ... is missing requirements exception expected. + # expected_result ... expected update_password return. + ( + "bcrypt_present", + "expected_exception", + "expected_result", + ), + [ + # bcrypt present + (True, False, True), + # bcrypt not present + (False, True, None), + ], + ) + def test_missing_bcrypt_library(self, mocker, bcrypt_present, expected_exception, expected_result): + # Mock HAS_BCRYPT global variable + mocker.patch("ansible_collections.sensu.sensu_go.plugins.modules.user.HAS_BCRYPT", bcrypt_present) + + # Mock client + client = mocker.Mock() + client.validate_auth_data.return_value = False + client.version = version.StrictVersion("5.21.1") + client.put.return_value = http.Response(201, '') + + if expected_exception: + with pytest.raises(errors.RequirementsError): + user.update_password(client, "", "", "", False) + else: + result = user.update_password(client, "", "", "", False) + assert result is expected_result + class TestUpdatePasswordHash: @pytest.mark.parametrize('check', [False, True]) @@ -506,14 +539,24 @@ class TestUser(ModuleTestCase): user.main() def test_failure_on_missing_bcrypt_5_21_0_or_newer(self, mocker): + # Check that there is no missing library exception during user creation mocker.patch.object(arguments, 'get_sensu_client').return_value = ( mocker.MagicMock(version='5.22.3') ) + sync_mock = mocker.patch.object(user, 'sync') + sync_mock.return_value = True, {} + + mocker.patch.object(utils, 'get').return_value = None mocker.patch.object(user, 'HAS_BCRYPT', False) + set_module_args( name='test_user', password='password' ) - with pytest.raises(AnsibleFailJson, match='bcrypt'): + with pytest.raises(AnsibleExitJson): user.main() + result, _client, path, payload, check_mode = sync_mock.call_args[0] + + assert result is None + assert payload == dict(password="password", username="test_user", disabled=False) diff --git a/ansible_collections/sensu/sensu_go/vagrant/windows/back.yaml b/ansible_collections/sensu/sensu_go/vagrant/windows/back.yaml index 8ede29baa..6870db94d 100644 --- a/ansible_collections/sensu/sensu_go/vagrant/windows/back.yaml +++ b/ansible_collections/sensu/sensu_go/vagrant/windows/back.yaml @@ -9,7 +9,7 @@ name: sensu.sensu_go.install vars: version: latest - components: [ sensu-go-cli ] + components: [sensu-go-cli] - name: Install backend include_role: |