├── gradle.properties ├── assets ├── footer.sh ├── Jenkinsfile ├── header.sh └── generate_secret.sh ├── resources ├── footer.sh ├── header.sh ├── platforms.yaml ├── lifecycles-alpine3-stable.yaml └── lifecycles-ubuntu2204-stable.yaml ├── src ├── test │ └── resources │ │ ├── mocks │ │ ├── www.example.com_doesnotexist2 │ │ ├── api.github.com_app_installations_empty │ │ ├── api.github.com_repos_samrocketman_empty_contents │ │ ├── www.example.com_doesnotexist │ │ ├── api.github.com_repos_samrocketman_emptyList_contents │ │ ├── api.github.com_repos_samrocketman_jervis_branches_page_2 │ │ ├── example.com_post_endpoint │ │ ├── vault_8200_v1_kv_cas_config_ca640979976ec2ed2e7b0b76e8096a6a12d383540628cf6046b94e78429f9814 │ │ ├── vault_8200_v1_secret_foo2_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344 │ │ ├── vault_8200_v1_secret_foo_b5d6d3914f8c8ce011b8306cb5b0b1664651dd538ab40a634bd12889295a5650 │ │ ├── vault_8200_v1_secret_foo_bar_366cbb2032cfeba13156a72d6be2dd63a2fb2141bfde8039cb4449fe5e227fea │ │ ├── vault_8200_v1_secret_v1_set_459a4bfed6b6aa3dd228ed2bed6762080f57f41a128eeeb307c3bec847c9619e │ │ ├── vault_8200_v1_sys_mounts_kv_2fe40b84dc4dd8f96ce0494b427e113c618eca1d6074ef5864dea61c41e86646 │ │ ├── api.github.com_graphql_a163c471d4cdb6f7aa30f1540a27da77a2dbf6f9358137ac9fc42c380305008a │ │ ├── vault_8200_v1_kv_metadata_foo2_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344 │ │ ├── vault_8200_v1_secret_foo_bar_baz_65f7a007d8b329b9a9e59101a593b9864891bc0be1211370dc1a70130921b898 │ │ ├── vault_8200_v1_secret_v2_to_v1_459a4bfed6b6aa3dd228ed2bed6762080f57f41a128eeeb307c3bec847c9619e │ │ ├── vault_8200_v1_sys_mounts_kv_cas_2fe40b84dc4dd8f96ce0494b427e113c618eca1d6074ef5864dea61c41e86646 │ │ ├── vault_8200_v1_sys_mounts_secret_bcc2237d0dadf736262d53b8b2f7fa1b8e485968a8bbe878a7e495585e46201c │ │ ├── vault_8200_v1_auth_token_revoke-self_8c5e460152256f95db58062c6881abade5c2a66c0487805aa2fdc0b5bce63907 │ │ ├── vault_8200_v1_kv_metadata_v1_to_v2_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344 │ │ ├── vault_8200_v1_kv_metadata_v2_force_cas_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344 │ │ ├── vault_8200_v1_secret2_withslash_rename_b5d6d3914f8c8ce011b8306cb5b0b1664651dd538ab40a634bd12889295a5650 │ │ ├── vault_8200_v1_secret_v1_set_force_cas_459a4bfed6b6aa3dd228ed2bed6762080f57f41a128eeeb307c3bec847c9619e │ │ ├── vault_8200_v1_sys_mounts_kv2_withslash_2fe40b84dc4dd8f96ce0494b427e113c618eca1d6074ef5864dea61c41e86646 │ │ ├── vault_8200_v1_kv2_withslash_data_deleteone_81690ca61392fb1fc356cfda4809af0324e6edb42af1cc7a2d0bd8ebc801bc16 │ │ ├── vault_8200_v1_kv2_withslash_data_somepath_81690ca61392fb1fc356cfda4809af0324e6edb42af1cc7a2d0bd8ebc801bc16 │ │ ├── vault_8200_v1_kv2_withslash_metadata_rename_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344 │ │ ├── vault_8200_v1_kv_cas_metadata_v2_detect_cas_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344 │ │ ├── vault_8200_v1_kv_metadata_v2_to_v2_v2_to_v2_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344 │ │ ├── vault_8200_v1_secret2_withslash_multitype_a068fde8fa6aabe9a3b6c7ac71344a69e73715ca8f07fbd26817363d7b91304e │ │ ├── vault_8200_v1_secret2_withslash_multitype_c4879ad82094222b8366d8d9b2eaa63ceb246d13413912982fe74bad17c2a87c │ │ ├── vault_8200_v1_secret2_withslash_rename_bar_366cbb2032cfeba13156a72d6be2dd63a2fb2141bfde8039cb4449fe5e227fea │ │ ├── vault_8200_v1_secret2_withslash_somepath_459a4bfed6b6aa3dd228ed2bed6762080f57f41a128eeeb307c3bec847c9619e │ │ ├── vault_8200_v1_secret2_withslash_somepath_81690ca61392fb1fc356cfda4809af0324e6edb42af1cc7a2d0bd8ebc801bc16 │ │ ├── vault_8200_v1_secret_v2_to_v1_version_1_459a4bfed6b6aa3dd228ed2bed6762080f57f41a128eeeb307c3bec847c9619e │ │ ├── vault_8200_v1_secret_v2_to_v1_version_1_56ff9d6ca16c4c627cc581bfbe49f3405ea122009628a4fe7189848a5b67e7f8 │ │ ├── vault_8200_v1_sys_mounts_secret2_withslash_bcc2237d0dadf736262d53b8b2f7fa1b8e485968a8bbe878a7e495585e46201c │ │ ├── vault_8200_v1_kv2_withslash_data_somepath_bar_81690ca61392fb1fc356cfda4809af0324e6edb42af1cc7a2d0bd8ebc801bc16 │ │ ├── vault_8200_v1_kv2_withslash_delete_deleteone_e52bf8d2549c46f24c64afbacfaa27fac8771971b1b56179107171bc3744d107 │ │ ├── vault_8200_v1_kv2_withslash_destroy_deleteone_b05c2de72ea1db3d88c921680c1278bf10fdc35e8daea16e64ed94d546e16d6e │ │ ├── vault_8200_v1_kv2_withslash_destroy_destroyone_dd7c9b3b338f375161b55e529f877acc3550e8f6eb72397180459d248251cfe6 │ │ ├── vault_8200_v1_kv2_withslash_metadata_rename_bar_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344 │ │ ├── vault_8200_v1_kv2_withslash_metadata_somepath_81690ca61392fb1fc356cfda4809af0324e6edb42af1cc7a2d0bd8ebc801bc16 │ │ ├── vault_8200_v1_kv2_withslash_metadata_somepath_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344 │ │ ├── vault_8200_v1_kv_metadata_v2_to_v2_version_1_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344 │ │ ├── vault_8200_v1_secret2_withslash_rename_bar_baz_65f7a007d8b329b9a9e59101a593b9864891bc0be1211370dc1a70130921b898 │ │ ├── vault_8200_v1_secret2_withslash_somepath_bar_81690ca61392fb1fc356cfda4809af0324e6edb42af1cc7a2d0bd8ebc801bc16 │ │ ├── vault_8200_v1_secret2_withslash_somepath_bar_a3fe052154276f623aeed98bc5f30e8a3d272f34de5d9b8577679fa668606336 │ │ ├── vault_8200_v1_secret2_withslash_somepath_bar_baz_81690ca61392fb1fc356cfda4809af0324e6edb42af1cc7a2d0bd8ebc801bc16 │ │ ├── vault_8200_v1_secret2_withslash_somepath_bar_baz_930617bc5e108d37b99d29c0921937ecc5ec6b24412ce10cc37de6703710ef0a │ │ ├── vault_8200_v1_secret2_withslash_subpath_rename_459a4bfed6b6aa3dd228ed2bed6762080f57f41a128eeeb307c3bec847c9619e │ │ ├── localhost_8081_repository_hosted-raw-repo_file.gz_802448649c5c3b5e84d8789cc565351a7e44add5d9ed7cf9d252e7273eb0b6d0 │ │ ├── localhost_8081_repository_hosted-raw-repo_plain.txt_802448649c5c3b5e84d8789cc565351a7e44add5d9ed7cf9d252e7273eb0b6d0 │ │ ├── vault_8200_v1_kv2_withslash_data_somepath_bar_baz_81690ca61392fb1fc356cfda4809af0324e6edb42af1cc7a2d0bd8ebc801bc16 │ │ ├── vault_8200_v1_kv2_withslash_metadata_rename_bar_baz_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344 │ │ ├── vault_8200_v1_kv2_withslash_metadata_somepath_bar_81690ca61392fb1fc356cfda4809af0324e6edb42af1cc7a2d0bd8ebc801bc16 │ │ ├── vault_8200_v1_kv2_withslash_metadata_somepath_bar_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344 │ │ ├── vault_8200_v1_kv2_withslash_metadata_somepath_bar_baz_81690ca61392fb1fc356cfda4809af0324e6edb42af1cc7a2d0bd8ebc801bc16 │ │ ├── vault_8200_v1_kv2_withslash_metadata_somepath_bar_baz_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344 │ │ ├── vault_8200_v1_kv2_withslash_metadata_subpath_rename_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344 │ │ ├── vault_8200_v1_secret2_withslash_subpath_rename_bar_a3fe052154276f623aeed98bc5f30e8a3d272f34de5d9b8577679fa668606336 │ │ ├── vault_8200_v1_kv2_withslash_metadata_subpath_rename_bar_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344 │ │ ├── vault_8200_v1_secret2_withslash_subpath_rename_bar_baz_930617bc5e108d37b99d29c0921937ecc5ec6b24412ce10cc37de6703710ef0a │ │ ├── api.github.com_orgs_sgleske-test_installation_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344 │ │ ├── api.github.com_users_samrocketman_installation_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344 │ │ ├── vault_8200_v1_kv2_withslash_metadata_subpath_rename_bar_baz_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344 │ │ ├── api.github.com_app_installations_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344 │ │ ├── localhost_8081_repository_hosted-raw-repo_plain.txt_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344 │ │ ├── api.github.com_graphql_ba375a80eda41359695b8003af9b7e13c6af250396d1dd5f843090459533063a │ │ ├── localhost_8081_repository_hosted-raw-repo_file.gz_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344 │ │ ├── vault_8200_v1_secret_foo_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344 │ │ ├── vault_8200_v1_secret_foo_bar_1d10ada45367f3c896e31dd45f758a0b7d077701fd11e39b2bc580ebdc5dbafa │ │ ├── vault_8200_v1_secret_foo_bar_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344 │ │ ├── vault_8200_v1_kv_metadata_foo_bar_1d10ada45367f3c896e31dd45f758a0b7d077701fd11e39b2bc580ebdc5dbafa │ │ ├── vault_8200_v1_secret2_withslash_rename_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344 │ │ ├── vault_8200_v1_secret_foo_bar_baz_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344 │ │ ├── vault_8200_v1_kv_metadata_v2_to_v2_1d10ada45367f3c896e31dd45f758a0b7d077701fd11e39b2bc580ebdc5dbafa │ │ ├── vault_8200_v1_secret2_withslash_rename_bar_1d10ada45367f3c896e31dd45f758a0b7d077701fd11e39b2bc580ebdc5dbafa │ │ ├── vault_8200_v1_secret2_withslash_rename_bar_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344 │ │ ├── vault_8200_v1_secret2_withslash_rename_bar_baz_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344 │ │ ├── vault_8200_v1_secret2_withslash_somepath_bar_1d10ada45367f3c896e31dd45f758a0b7d077701fd11e39b2bc580ebdc5dbafa │ │ ├── vault_8200_v1_secret_foo_1d10ada45367f3c896e31dd45f758a0b7d077701fd11e39b2bc580ebdc5dbafa │ │ ├── vault_8200_v1_kv2_withslash_metadata_rename_bar_1d10ada45367f3c896e31dd45f758a0b7d077701fd11e39b2bc580ebdc5dbafa │ │ ├── vault_8200_v1_kv2_withslash_metadata_somepath_bar_1d10ada45367f3c896e31dd45f758a0b7d077701fd11e39b2bc580ebdc5dbafa │ │ ├── vault_8200_v1_kv_metadata_foo_1d10ada45367f3c896e31dd45f758a0b7d077701fd11e39b2bc580ebdc5dbafa │ │ ├── vault_8200_v1_secret2_withslash_rename_1d10ada45367f3c896e31dd45f758a0b7d077701fd11e39b2bc580ebdc5dbafa │ │ ├── vault_8200_v1_kv2_withslash_metadata_rename_1d10ada45367f3c896e31dd45f758a0b7d077701fd11e39b2bc580ebdc5dbafa │ │ ├── vault_8200_v1_secret2_withslash_somepath_1d10ada45367f3c896e31dd45f758a0b7d077701fd11e39b2bc580ebdc5dbafa │ │ ├── vault_8200_v1_kv2_withslash_metadata_somepath_1d10ada45367f3c896e31dd45f758a0b7d077701fd11e39b2bc580ebdc5dbafa │ │ ├── vault_8200_v1_secret_foo_b5d6d3914f8c8ce011b8306cb5b0b1664651dd538ab40a634bd12889295a5650_headers │ │ ├── vault_8200_v1_kv_cas_config_ca640979976ec2ed2e7b0b76e8096a6a12d383540628cf6046b94e78429f9814_headers │ │ ├── vault_8200_v1_kv_config_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344 │ │ ├── vault_8200_v1_secret_foo_bar_366cbb2032cfeba13156a72d6be2dd63a2fb2141bfde8039cb4449fe5e227fea_headers │ │ ├── vault_8200_v1_secret_v1_set_459a4bfed6b6aa3dd228ed2bed6762080f57f41a128eeeb307c3bec847c9619e_headers │ │ ├── vault_8200_v1_secret_v2_to_v1_459a4bfed6b6aa3dd228ed2bed6762080f57f41a128eeeb307c3bec847c9619e_headers │ │ ├── vault_8200_v1_sys_mounts_kv_2fe40b84dc4dd8f96ce0494b427e113c618eca1d6074ef5864dea61c41e86646_headers │ │ ├── vault_8200_v1_kv_cas_config_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344 │ │ ├── vault_8200_v1_secret_foo_bar_baz_65f7a007d8b329b9a9e59101a593b9864891bc0be1211370dc1a70130921b898_headers │ │ ├── vault_8200_v1_sys_mounts_kv_cas_2fe40b84dc4dd8f96ce0494b427e113c618eca1d6074ef5864dea61c41e86646_headers │ │ ├── vault_8200_v1_sys_mounts_secret_bcc2237d0dadf736262d53b8b2f7fa1b8e485968a8bbe878a7e495585e46201c_headers │ │ ├── vault_8200_v1_auth_token_revoke-self_8c5e460152256f95db58062c6881abade5c2a66c0487805aa2fdc0b5bce63907_headers │ │ ├── vault_8200_v1_kv2_withslash_config_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344 │ │ ├── vault_8200_v1_secret2_withslash_rename_b5d6d3914f8c8ce011b8306cb5b0b1664651dd538ab40a634bd12889295a5650_headers │ │ ├── vault_8200_v1_secret2_withslash_somepath_459a4bfed6b6aa3dd228ed2bed6762080f57f41a128eeeb307c3bec847c9619e_headers │ │ ├── vault_8200_v1_secret2_withslash_somepath_81690ca61392fb1fc356cfda4809af0324e6edb42af1cc7a2d0bd8ebc801bc16_headers │ │ ├── vault_8200_v1_secret_v1_set_force_cas_459a4bfed6b6aa3dd228ed2bed6762080f57f41a128eeeb307c3bec847c9619e_headers │ │ ├── vault_8200_v1_secret_v2_to_v1_version_1_459a4bfed6b6aa3dd228ed2bed6762080f57f41a128eeeb307c3bec847c9619e_headers │ │ ├── vault_8200_v1_secret_v2_to_v1_version_1_56ff9d6ca16c4c627cc581bfbe49f3405ea122009628a4fe7189848a5b67e7f8_headers │ │ ├── vault_8200_v1_sys_mounts_kv2_withslash_2fe40b84dc4dd8f96ce0494b427e113c618eca1d6074ef5864dea61c41e86646_headers │ │ ├── vault_8200_v1_kv2_withslash_data_deleteone_81690ca61392fb1fc356cfda4809af0324e6edb42af1cc7a2d0bd8ebc801bc16_headers │ │ ├── vault_8200_v1_kv2_withslash_data_somepath_81690ca61392fb1fc356cfda4809af0324e6edb42af1cc7a2d0bd8ebc801bc16_headers │ │ ├── vault_8200_v1_kv2_withslash_data_somepath_bar_81690ca61392fb1fc356cfda4809af0324e6edb42af1cc7a2d0bd8ebc801bc16_headers │ │ ├── vault_8200_v1_kv2_withslash_delete_deleteone_e52bf8d2549c46f24c64afbacfaa27fac8771971b1b56179107171bc3744d107_headers │ │ ├── vault_8200_v1_kv2_withslash_destroy_deleteone_b05c2de72ea1db3d88c921680c1278bf10fdc35e8daea16e64ed94d546e16d6e_headers │ │ ├── vault_8200_v1_kv2_withslash_metadata_somepath_81690ca61392fb1fc356cfda4809af0324e6edb42af1cc7a2d0bd8ebc801bc16_headers │ │ ├── vault_8200_v1_secret2_withslash_multitype_a068fde8fa6aabe9a3b6c7ac71344a69e73715ca8f07fbd26817363d7b91304e_headers │ │ ├── vault_8200_v1_secret2_withslash_multitype_c4879ad82094222b8366d8d9b2eaa63ceb246d13413912982fe74bad17c2a87c_headers │ │ ├── vault_8200_v1_secret2_withslash_rename_bar_366cbb2032cfeba13156a72d6be2dd63a2fb2141bfde8039cb4449fe5e227fea_headers │ │ ├── vault_8200_v1_secret2_withslash_somepath_bar_81690ca61392fb1fc356cfda4809af0324e6edb42af1cc7a2d0bd8ebc801bc16_headers │ │ ├── vault_8200_v1_secret2_withslash_somepath_bar_a3fe052154276f623aeed98bc5f30e8a3d272f34de5d9b8577679fa668606336_headers │ │ ├── vault_8200_v1_sys_mounts_secret2_withslash_bcc2237d0dadf736262d53b8b2f7fa1b8e485968a8bbe878a7e495585e46201c_headers │ │ ├── vault_8200_v1_kv2_withslash_data_somepath_bar_baz_81690ca61392fb1fc356cfda4809af0324e6edb42af1cc7a2d0bd8ebc801bc16_headers │ │ ├── vault_8200_v1_kv2_withslash_destroy_destroyone_dd7c9b3b338f375161b55e529f877acc3550e8f6eb72397180459d248251cfe6_headers │ │ ├── vault_8200_v1_kv2_withslash_metadata_somepath_bar_81690ca61392fb1fc356cfda4809af0324e6edb42af1cc7a2d0bd8ebc801bc16_headers │ │ ├── vault_8200_v1_secret2_withslash_rename_bar_baz_65f7a007d8b329b9a9e59101a593b9864891bc0be1211370dc1a70130921b898_headers │ │ ├── vault_8200_v1_secret2_withslash_somepath_bar_baz_81690ca61392fb1fc356cfda4809af0324e6edb42af1cc7a2d0bd8ebc801bc16_headers │ │ ├── vault_8200_v1_secret2_withslash_somepath_bar_baz_930617bc5e108d37b99d29c0921937ecc5ec6b24412ce10cc37de6703710ef0a_headers │ │ ├── vault_8200_v1_secret2_withslash_subpath_rename_459a4bfed6b6aa3dd228ed2bed6762080f57f41a128eeeb307c3bec847c9619e_headers │ │ ├── vault_8200_v1_secret2_withslash_subpath_rename_bar_a3fe052154276f623aeed98bc5f30e8a3d272f34de5d9b8577679fa668606336_headers │ │ ├── vault_8200_v1_secret_1d10ada45367f3c896e31dd45f758a0b7d077701fd11e39b2bc580ebdc5dbafa_headers │ │ ├── vault_8200_v1_kv2_withslash_metadata_somepath_bar_baz_81690ca61392fb1fc356cfda4809af0324e6edb42af1cc7a2d0bd8ebc801bc16_headers │ │ ├── vault_8200_v1_kv_cas_config_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344_headers │ │ ├── vault_8200_v1_kv_config_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344_headers │ │ ├── vault_8200_v1_kv_data_foo_181aa9b10c786c793c578a736a9b4d64af05aff6942770c9c9b593e8859ee50d_headers │ │ ├── vault_8200_v1_kv_data_foo_2e0942f051b7fa555a6e88e9470d3f852718ad1f12b40b31d3ff02825311baf2_headers │ │ ├── vault_8200_v1_kv_metadata_1d10ada45367f3c896e31dd45f758a0b7d077701fd11e39b2bc580ebdc5dbafa_headers │ │ ├── vault_8200_v1_secret2_withslash_subpath_rename_bar_baz_930617bc5e108d37b99d29c0921937ecc5ec6b24412ce10cc37de6703710ef0a_headers │ │ ├── vault_8200_v1_secret_foo_1d10ada45367f3c896e31dd45f758a0b7d077701fd11e39b2bc580ebdc5dbafa_headers │ │ ├── vault_8200_v1_secret_foo_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344_headers │ │ ├── vault_8200_v1_auth_approle_login_601c18e54d82759c3e921882c3d2b43cd04b0047496266993e23e0a9efd0595e_headers │ │ ├── vault_8200_v1_auth_approle_login_b2748060fd2945ff1d614b09959cb6acf51e0aeb526c7dd203e4c885967fb604_headers │ │ ├── vault_8200_v1_kv_data_foo_bar_5117fa1845635dee7c78b843ab8cf308d4f0634726c579450661dba28fe6f241_headers │ │ ├── vault_8200_v1_kv_data_v1_to_v2_c24d4da161d02cfde80788654206ec8b2620a2e986dacfe17e5b18d1e946bfd5_headers │ │ ├── vault_8200_v1_kv_data_v2_no_cas_91a27798d9b6ec991c4bea336e2b7b06fa35f76115652d0a346af6162c802ff5_headers │ │ ├── vault_8200_v1_kv_metadata_foo_1d10ada45367f3c896e31dd45f758a0b7d077701fd11e39b2bc580ebdc5dbafa_headers │ │ ├── vault_8200_v1_kv_metadata_foo_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344_headers │ │ ├── vault_8200_v1_secret2_withslash_1d10ada45367f3c896e31dd45f758a0b7d077701fd11e39b2bc580ebdc5dbafa_headers │ │ ├── vault_8200_v1_secret_foo2_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344_headers │ │ ├── vault_8200_v1_secret_foo_bar_1d10ada45367f3c896e31dd45f758a0b7d077701fd11e39b2bc580ebdc5dbafa_headers │ │ ├── vault_8200_v1_secret_foo_bar_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344_headers │ │ ├── vault_8200_v1_secret_foo_bar_baz_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344_headers │ │ ├── vault_8200_v1_sys_mounts_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344_headers │ │ ├── vault_8200_v1_auth_token_lookup-self_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344_headers │ │ ├── vault_8200_v1_auth_token_renew-self_ca97d3efe2b5d293d05dc344dd5159f0a9cd294abfb5f69170bbed6c49947da8_headers │ │ ├── vault_8200_v1_kv2_withslash_config_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344_headers │ │ ├── vault_8200_v1_kv2_withslash_metadata_1d10ada45367f3c896e31dd45f758a0b7d077701fd11e39b2bc580ebdc5dbafa_headers │ │ ├── vault_8200_v1_kv_data_foo_bar_baz_54d713ada8171adc5c0d5283595a23054b9f9581a354d867fb67028798058b24_headers │ │ ├── vault_8200_v1_kv_data_foo_version_0_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344_headers │ │ ├── vault_8200_v1_kv_data_foo_version_1_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344_headers │ │ ├── vault_8200_v1_kv_data_v2_force_cas_c24d4da161d02cfde80788654206ec8b2620a2e986dacfe17e5b18d1e946bfd5_headers │ │ ├── vault_8200_v1_kv_metadata_foo2_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344_headers │ │ ├── vault_8200_v1_kv_metadata_foo_bar_1d10ada45367f3c896e31dd45f758a0b7d077701fd11e39b2bc580ebdc5dbafa_headers │ │ ├── vault_8200_v1_kv_metadata_v2_to_v2_1d10ada45367f3c896e31dd45f758a0b7d077701fd11e39b2bc580ebdc5dbafa_headers │ │ ├── vault_8200_v1_secret2_withslash_1d10ada45367f3c896e31dd45f758a0b7d077701fd11e39b2bc580ebdc5dbafa │ │ ├── vault_8200_v1_kv2_withslash_data_deleteone_5208fb8232552e03fdeeb637f86b65228614b5eb85d803faba5530003691135a_headers │ │ ├── vault_8200_v1_kv2_withslash_data_deleteone_a6ec773563db6cc21aa6753453e7d33c19059fb3a63cfe8c52dd41122ec733a3_headers │ │ ├── vault_8200_v1_kv2_withslash_data_deleteone_b8ab2b39386be80e5503b9265ecd890ad40afed944a3238fbd585ecb77a06f3b_headers │ │ ├── vault_8200_v1_kv2_withslash_data_deleteone_c24d4da161d02cfde80788654206ec8b2620a2e986dacfe17e5b18d1e946bfd5_headers │ │ ├── vault_8200_v1_kv2_withslash_data_multitype_d0e51b1c9d787924056fe9d4cd41881cc4725ab2014cd7b2019c5e10036c71ff_headers │ │ ├── vault_8200_v1_kv2_withslash_data_multitype_fcee69e4526d4b81689bd92a90d525f18a763869125c3ac1271da84d7e05d674_headers │ │ ├── vault_8200_v1_kv2_withslash_data_rename_71d3940d9c908c667fb22e142cfa91443ee1d76342c70e3eec35f07dc7a264de_headers │ │ ├── vault_8200_v1_kv2_withslash_data_somepath_71d3940d9c908c667fb22e142cfa91443ee1d76342c70e3eec35f07dc7a264de_headers │ │ ├── vault_8200_v1_kv_cas_data_data_to_update_63ee32cd0f962f5b221d4f62df7376c953a4adb1baacdcc186c70448bf48fc09_headers │ │ ├── vault_8200_v1_kv_cas_data_data_to_update_d25179ca644943ea49d32f362eb9021b0fea788e8fc1f6f57294fbabc7d6d672_headers │ │ ├── vault_8200_v1_kv_cas_data_v2_detect_cas_71d3940d9c908c667fb22e142cfa91443ee1d76342c70e3eec35f07dc7a264de_headers │ │ ├── vault_8200_v1_kv_data_foo_bar_version_0_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344_headers │ │ ├── vault_8200_v1_kv_data_v2_force_cas_update_38b898c46cfb775e149e618a0502677824d6044a6911f9acf37313bb1b3f1bb5_headers │ │ ├── vault_8200_v1_kv_data_v2_force_cas_update_c24d4da161d02cfde80788654206ec8b2620a2e986dacfe17e5b18d1e946bfd5_headers │ │ ├── vault_8200_v1_kv_data_v2_to_v2_v2_to_v2_71d3940d9c908c667fb22e142cfa91443ee1d76342c70e3eec35f07dc7a264de_headers │ │ ├── vault_8200_v1_kv_data_v2_to_v2_version_1_71d3940d9c908c667fb22e142cfa91443ee1d76342c70e3eec35f07dc7a264de_headers │ │ ├── vault_8200_v1_kv_data_v2_to_v2_version_1_d25179ca644943ea49d32f362eb9021b0fea788e8fc1f6f57294fbabc7d6d672_headers │ │ ├── vault_8200_v1_kv_metadata_v1_to_v2_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344_headers │ │ ├── vault_8200_v1_secret2_withslash_multitype_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344_headers │ │ ├── vault_8200_v1_secret2_withslash_rename_1d10ada45367f3c896e31dd45f758a0b7d077701fd11e39b2bc580ebdc5dbafa_headers │ │ ├── vault_8200_v1_secret2_withslash_rename_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344_headers │ │ ├── vault_8200_v1_secret2_withslash_rename_bar_1d10ada45367f3c896e31dd45f758a0b7d077701fd11e39b2bc580ebdc5dbafa_headers │ │ ├── vault_8200_v1_secret2_withslash_rename_bar_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344_headers │ │ ├── vault_8200_v1_secret2_withslash_somepath_1d10ada45367f3c896e31dd45f758a0b7d077701fd11e39b2bc580ebdc5dbafa_headers │ │ ├── vault_8200_v1_kv2_withslash_data_destroyone_48a31cfb2350ea72dfd7c37cf6602a2e0de00ff54fce60b735b5565320e94115_headers │ │ ├── vault_8200_v1_kv2_withslash_data_destroyone_d25179ca644943ea49d32f362eb9021b0fea788e8fc1f6f57294fbabc7d6d672_headers │ │ ├── vault_8200_v1_kv2_withslash_data_emptysecret_4bf4be22d16ec0dc14963f5a0c0bc6897f1339bdb56e9ba4f00e526d961b0cbd_headers │ │ ├── vault_8200_v1_kv2_withslash_data_rename_bar_baz_7f4274e71e374ec0fc5ddb02074eb64c8b342da7ba5e98877960e1e28b33579c_headers │ │ ├── vault_8200_v1_kv2_withslash_data_rename_bar_f0852246de4656fabd817a6fbfa1ec935ffd7a55a0db0c408d8c202b4b91d4c5_headers │ │ ├── vault_8200_v1_kv2_withslash_data_somepath_bar_f0852246de4656fabd817a6fbfa1ec935ffd7a55a0db0c408d8c202b4b91d4c5_headers │ │ ├── vault_8200_v1_kv2_withslash_data_subpath_rename_c24d4da161d02cfde80788654206ec8b2620a2e986dacfe17e5b18d1e946bfd5_headers │ │ ├── vault_8200_v1_kv2_withslash_metadata_deleteone_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344_headers │ │ ├── vault_8200_v1_kv2_withslash_metadata_destroyone_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344_headers │ │ ├── vault_8200_v1_kv2_withslash_metadata_rename_1d10ada45367f3c896e31dd45f758a0b7d077701fd11e39b2bc580ebdc5dbafa_headers │ │ ├── vault_8200_v1_kv2_withslash_metadata_rename_bar_1d10ada45367f3c896e31dd45f758a0b7d077701fd11e39b2bc580ebdc5dbafa_headers │ │ ├── vault_8200_v1_kv2_withslash_metadata_somepath_1d10ada45367f3c896e31dd45f758a0b7d077701fd11e39b2bc580ebdc5dbafa_headers │ │ ├── vault_8200_v1_kv_cas_metadata_data_to_update_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344_headers │ │ ├── vault_8200_v1_kv_data_foo_bar_baz_version_0_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344_headers │ │ ├── vault_8200_v1_kv_metadata_v2_force_cas_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344_headers │ │ ├── vault_8200_v1_kv_metadata_v2_force_cas_update_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344_headers │ │ ├── vault_8200_v1_secret2_withslash_rename_bar_baz_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344_headers │ │ ├── vault_8200_v1_secret2_withslash_somepath_bar_1d10ada45367f3c896e31dd45f758a0b7d077701fd11e39b2bc580ebdc5dbafa_headers │ │ ├── vault_8200_v1_kv2_withslash_data_deleteone_version_2_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344_headers │ │ ├── vault_8200_v1_kv2_withslash_data_multitype_version_0_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344_headers │ │ ├── vault_8200_v1_kv2_withslash_data_rename_version_0_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344_headers │ │ ├── vault_8200_v1_kv2_withslash_data_somepath_bar_baz_7f4274e71e374ec0fc5ddb02074eb64c8b342da7ba5e98877960e1e28b33579c_headers │ │ ├── vault_8200_v1_kv2_withslash_data_subpath_rename_bar_94f561642173d204a46f64d14bd213cac09dfbef3e63b35175c47c9c8980bad4_headers │ │ ├── vault_8200_v1_kv2_withslash_metadata_rename_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344_headers │ │ ├── vault_8200_v1_kv2_withslash_metadata_somepath_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344_headers │ │ ├── vault_8200_v1_kv2_withslash_metadata_somepath_bar_1d10ada45367f3c896e31dd45f758a0b7d077701fd11e39b2bc580ebdc5dbafa_headers │ │ ├── vault_8200_v1_kv_cas_metadata_v2_detect_cas_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344_headers │ │ ├── vault_8200_v1_kv_metadata_v2_to_v2_v2_to_v2_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344_headers │ │ ├── vault_8200_v1_kv_metadata_v2_to_v2_version_1_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344_headers │ │ ├── vault_8200_v1_kv2_withslash_data_emptysecret_version_0_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344_headers │ │ ├── vault_8200_v1_kv2_withslash_data_rename_bar_baz_version_0_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344_headers │ │ ├── vault_8200_v1_kv2_withslash_data_rename_bar_version_0_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344_headers │ │ ├── vault_8200_v1_kv2_withslash_data_subpath_rename_bar_baz_aa7686bd9426935ff1f02301c3f883b7a0253b8cab2f63479b5b19c74eff5a5e_headers │ │ ├── vault_8200_v1_kv2_withslash_metadata_rename_bar_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344_headers │ │ ├── vault_8200_v1_kv2_withslash_metadata_rename_bar_baz_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344_headers │ │ ├── vault_8200_v1_kv2_withslash_metadata_somepath_bar_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344_headers │ │ ├── vault_8200_v1_kv2_withslash_metadata_subpath_rename_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344_headers │ │ ├── vault_8200_v1_secret_1d10ada45367f3c896e31dd45f758a0b7d077701fd11e39b2bc580ebdc5dbafa │ │ ├── api.github.com_app_installations_38741780_access_tokens_c140a1ff77d966128656d77ba4df790819ed7cf4ddc0351b462b73a17054c6b7 │ │ ├── vault_8200_v1_kv2_withslash_metadata_somepath_bar_baz_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344_headers │ │ ├── vault_8200_v1_kv2_withslash_metadata_subpath_rename_bar_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344_headers │ │ ├── vault_8200_v1_kv2_withslash_metadata_1d10ada45367f3c896e31dd45f758a0b7d077701fd11e39b2bc580ebdc5dbafa │ │ ├── vault_8200_v1_kv2_withslash_metadata_subpath_rename_bar_baz_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344_headers │ │ ├── vault_8200_v1_kv_data_foo_181aa9b10c786c793c578a736a9b4d64af05aff6942770c9c9b593e8859ee50d │ │ ├── vault_8200_v1_kv_data_foo_2e0942f051b7fa555a6e88e9470d3f852718ad1f12b40b31d3ff02825311baf2 │ │ ├── vault_8200_v1_kv_data_foo_bar_5117fa1845635dee7c78b843ab8cf308d4f0634726c579450661dba28fe6f241 │ │ ├── vault_8200_v1_kv_data_foo_bar_baz_54d713ada8171adc5c0d5283595a23054b9f9581a354d867fb67028798058b24 │ │ ├── vault_8200_v1_kv_data_v1_to_v2_c24d4da161d02cfde80788654206ec8b2620a2e986dacfe17e5b18d1e946bfd5 │ │ ├── vault_8200_v1_kv_data_v2_no_cas_91a27798d9b6ec991c4bea336e2b7b06fa35f76115652d0a346af6162c802ff5 │ │ ├── vault_8200_v1_kv_data_v2_force_cas_c24d4da161d02cfde80788654206ec8b2620a2e986dacfe17e5b18d1e946bfd5 │ │ ├── vault_8200_v1_kv2_withslash_data_deleteone_5208fb8232552e03fdeeb637f86b65228614b5eb85d803faba5530003691135a │ │ ├── vault_8200_v1_kv2_withslash_data_deleteone_a6ec773563db6cc21aa6753453e7d33c19059fb3a63cfe8c52dd41122ec733a3 │ │ ├── vault_8200_v1_kv2_withslash_data_deleteone_b8ab2b39386be80e5503b9265ecd890ad40afed944a3238fbd585ecb77a06f3b │ │ ├── vault_8200_v1_kv2_withslash_data_deleteone_c24d4da161d02cfde80788654206ec8b2620a2e986dacfe17e5b18d1e946bfd5 │ │ ├── vault_8200_v1_kv2_withslash_data_destroyone_d25179ca644943ea49d32f362eb9021b0fea788e8fc1f6f57294fbabc7d6d672 │ │ ├── vault_8200_v1_kv2_withslash_data_multitype_d0e51b1c9d787924056fe9d4cd41881cc4725ab2014cd7b2019c5e10036c71ff │ │ ├── vault_8200_v1_kv2_withslash_data_multitype_fcee69e4526d4b81689bd92a90d525f18a763869125c3ac1271da84d7e05d674 │ │ ├── vault_8200_v1_kv2_withslash_data_rename_71d3940d9c908c667fb22e142cfa91443ee1d76342c70e3eec35f07dc7a264de │ │ ├── vault_8200_v1_kv2_withslash_data_somepath_71d3940d9c908c667fb22e142cfa91443ee1d76342c70e3eec35f07dc7a264de │ │ ├── vault_8200_v1_kv_cas_data_data_to_update_63ee32cd0f962f5b221d4f62df7376c953a4adb1baacdcc186c70448bf48fc09 │ │ ├── vault_8200_v1_kv_cas_data_data_to_update_d25179ca644943ea49d32f362eb9021b0fea788e8fc1f6f57294fbabc7d6d672 │ │ ├── vault_8200_v1_kv_cas_data_v2_detect_cas_71d3940d9c908c667fb22e142cfa91443ee1d76342c70e3eec35f07dc7a264de │ │ ├── vault_8200_v1_kv_data_v2_force_cas_update_38b898c46cfb775e149e618a0502677824d6044a6911f9acf37313bb1b3f1bb5 │ │ ├── vault_8200_v1_kv_data_v2_force_cas_update_c24d4da161d02cfde80788654206ec8b2620a2e986dacfe17e5b18d1e946bfd5 │ │ ├── vault_8200_v1_kv_data_v2_to_v2_v2_to_v2_71d3940d9c908c667fb22e142cfa91443ee1d76342c70e3eec35f07dc7a264de │ │ ├── vault_8200_v1_kv_data_v2_to_v2_version_1_71d3940d9c908c667fb22e142cfa91443ee1d76342c70e3eec35f07dc7a264de │ │ ├── vault_8200_v1_kv_data_v2_to_v2_version_1_d25179ca644943ea49d32f362eb9021b0fea788e8fc1f6f57294fbabc7d6d672 │ │ ├── vault_8200_v1_kv2_withslash_data_destroyone_48a31cfb2350ea72dfd7c37cf6602a2e0de00ff54fce60b735b5565320e94115 │ │ ├── vault_8200_v1_kv2_withslash_data_emptysecret_4bf4be22d16ec0dc14963f5a0c0bc6897f1339bdb56e9ba4f00e526d961b0cbd │ │ ├── vault_8200_v1_kv2_withslash_data_rename_bar_baz_7f4274e71e374ec0fc5ddb02074eb64c8b342da7ba5e98877960e1e28b33579c │ │ ├── vault_8200_v1_kv2_withslash_data_rename_bar_f0852246de4656fabd817a6fbfa1ec935ffd7a55a0db0c408d8c202b4b91d4c5 │ │ ├── vault_8200_v1_kv2_withslash_data_somepath_bar_f0852246de4656fabd817a6fbfa1ec935ffd7a55a0db0c408d8c202b4b91d4c5 │ │ ├── vault_8200_v1_kv2_withslash_data_subpath_rename_c24d4da161d02cfde80788654206ec8b2620a2e986dacfe17e5b18d1e946bfd5 │ │ ├── api.github.com_app_installations_32854008_access_tokens_c140a1ff77d966128656d77ba4df790819ed7cf4ddc0351b462b73a17054c6b7 │ │ ├── vault_8200_v1_kv2_withslash_data_somepath_bar_baz_7f4274e71e374ec0fc5ddb02074eb64c8b342da7ba5e98877960e1e28b33579c │ │ ├── vault_8200_v1_kv2_withslash_data_subpath_rename_bar_94f561642173d204a46f64d14bd213cac09dfbef3e63b35175c47c9c8980bad4 │ │ ├── vault_8200_v1_kv2_withslash_data_subpath_rename_bar_baz_aa7686bd9426935ff1f02301c3f883b7a0253b8cab2f63479b5b19c74eff5a5e │ │ ├── vault_8200_v1_kv_metadata_1d10ada45367f3c896e31dd45f758a0b7d077701fd11e39b2bc580ebdc5dbafa │ │ ├── vault_8200_v1_kv_data_foo_version_1_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344 │ │ ├── vault_8200_v1_kv_data_foo_bar_baz_version_0_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344 │ │ ├── vault_8200_v1_kv_data_foo_bar_version_0_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344 │ │ ├── vault_8200_v1_kv2_withslash_data_emptysecret_version_0_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344 │ │ ├── vault_8200_v1_secret2_withslash_multitype_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344 │ │ ├── vault_8200_v1_kv2_withslash_data_deleteone_version_2_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344 │ │ ├── vault_8200_v1_kv2_withslash_data_rename_bar_baz_version_0_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344 │ │ ├── vault_8200_v1_kv2_withslash_data_rename_bar_version_0_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344 │ │ ├── vault_8200_v1_kv_data_foo_version_0_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344 │ │ ├── localhost_8081_repository_hosted-raw-repo_file.gz_802448649c5c3b5e84d8789cc565351a7e44add5d9ed7cf9d252e7273eb0b6d0_headers │ │ ├── localhost_8081_repository_hosted-raw-repo_plain.txt_802448649c5c3b5e84d8789cc565351a7e44add5d9ed7cf9d252e7273eb0b6d0_headers │ │ ├── vault_8200_v1_kv2_withslash_data_rename_version_0_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344 │ │ ├── www.example.com_doesnotexist_headers │ │ ├── api.github.com_graphql_0f186475e5335fe3ff3cd4c7566ff0e66629ee234cf618c6cfec504f444d9f83 │ │ ├── www.example.com_doesnotexist2_headers │ │ ├── api.github.com_repos_samrocketman_jervis_branches_page_1 │ │ ├── api.github.com_graphql_37be24e4888e054916321189967ef4e5f42fe14569f5ee45229a27661e692618 │ │ ├── api.github.com_graphql_4dd006f5da3f86694db573aa66cece0650601e750299f969034e9b07cd2d7512 │ │ ├── api.github.com_graphql_5db4b7ded35bc094af976fe856040c6699c116195fb65725843849de95f2ecec │ │ ├── api.github.com_graphql_62903ca59bbd9758c8226d190b8b4e98960a39b20a3e93a511f9633aa4712f3e │ │ ├── api.github.com_graphql_8d979296f2b89c1ca8394223195177dbb0e7fdf63d4b06a02a0a61ffedbb6552 │ │ ├── api.github.com_graphql_f5adbe19c74682353244cd4d03bfa5ad5fdc2d98d385f45ef881dd9c544124f6 │ │ ├── localhost_8081_repository_hosted-raw-repo_plain.txt_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344_headers │ │ ├── localhost_8081_repository_hosted-raw-repo_file.gz_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344_headers │ │ ├── vault_8200_v1_kv_cas_metadata_data_to_update_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344 │ │ ├── vault_8200_v1_kv_metadata_v2_force_cas_update_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344 │ │ ├── vault_8200_v1_kv2_withslash_data_multitype_version_0_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344 │ │ ├── vault_8200_v1_auth_approle_login_601c18e54d82759c3e921882c3d2b43cd04b0047496266993e23e0a9efd0595e │ │ ├── vault_8200_v1_auth_token_renew-self_ca97d3efe2b5d293d05dc344dd5159f0a9cd294abfb5f69170bbed6c49947da8 │ │ ├── vault_8200_v1_kv_metadata_foo_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344 │ │ ├── vault_8200_v1_kv2_withslash_metadata_destroyone_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344 │ │ ├── vault_8200_v1_auth_approle_login_b2748060fd2945ff1d614b09959cb6acf51e0aeb526c7dd203e4c885967fb604 │ │ ├── vault_8200_v1_auth_token_lookup-self_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344 │ │ └── api.github.com_graphql_11d22ccb4e46c2bee006552cb7634b0ed8a50ba0ad5b5f20a3ef4c7310d43b32 │ │ ├── sample_script.sh │ │ ├── good_platforms_partial_unstable.yaml │ │ ├── good_lifecycles_python_number.json │ │ ├── bad_platforms_missing_root_supported_platforms.json │ │ ├── good_lifecycles_matrix_added_toolchain.json │ │ ├── bad_platforms_rootkey_supported_platforms.json │ │ ├── good_platforms_partial_add_platform_os.yaml │ │ ├── good_platforms_partial.yaml │ │ ├── good_toolchains_partial_unstable.yaml │ │ ├── good_platforms_optional.json │ │ ├── bad_platforms_value_supported_platforms.json │ │ ├── bad_platforms_supported_platforms_empty.json │ │ ├── bad_platforms_type_supported_platforms_defaults_platform.json │ │ ├── bad_toolchains_missing_toolchain.json │ │ ├── bad_platforms_missing_root_defaults.json │ │ ├── good_lifecycles_partial_unstable.yaml │ │ ├── bad_lifecycles_missing_fileExistsCondition.json │ │ ├── bad_lifecycles_missing_friendlyName.json │ │ ├── bad_platforms_rootkey_defaults.json │ │ ├── bad_toolchains_missing_toolchains.json │ │ ├── good_toolchains_matrix_added_toolchain.json │ │ ├── bad_lifecycles_missing_defaultKey.json │ │ ├── bad_lifecycles_resolve_defaultKey.json │ │ ├── bad_lifecycles_resolve_fallbackKey.json │ │ ├── bad_toolchains_missing_default_ivalue.json │ │ ├── rsa_keys │ │ ├── rsa_secure_properties_map_test.yml │ │ ├── rsa_secure_properties_test.yml │ │ ├── bad_id_rsa_1024 │ │ └── bad_id_rsa_pkcs8_1024 │ │ ├── bad_platforms_missing_root_restrictions.json │ │ ├── bad_lifecycles_resolve_infinite_loop.json │ │ ├── bad_platforms_rootkey_restrictions.json │ │ ├── bad_platforms_type_restrictions_platform.json │ │ ├── bad_toolchains_formerly_good_toolchains_simple.json │ │ ├── bad_toolchains_matrix_value.json │ │ ├── good_toolchains_disabled_env.json │ │ ├── bad_platforms_missing_defaults_os.json │ │ ├── good_toolchains_simple.yaml │ │ ├── bad_platforms_missing_defaults_platform.json │ │ ├── bad_platforms_missing_defaults_stability.json │ │ ├── bad_platforms_missing_defaults_sudo.json │ │ ├── bad_toolchains_friendly.json │ │ ├── good_toolchains_friendly.json │ │ ├── good_platforms_simple.json │ │ ├── bad_platforms_type_defaults_os.json │ │ ├── bad_platforms_type_defaults_platform.json │ │ ├── bad_platforms_type_defaults_stability.json │ │ ├── bad_platforms_type_defaults_sudo.json │ │ ├── bad_platforms_value_defaults_os.json │ │ ├── bad_platforms_value_defaults_platform.json │ │ ├── bad_platforms_value_defaults_sudo.json │ │ ├── bad_platforms_missing_restrictions_platform.json │ │ ├── bad_platforms_type_restrictions_platform_only_projects.json │ │ ├── bad_platforms_value_defaults_stability.json │ │ ├── bad_platforms_type_restrictions_platform_only_organizations.json │ │ ├── bad_platforms_value_supported_platforms_platform.json │ │ ├── bad_platforms_type_supported_platforms_platform.json │ │ └── bad_platforms_type_supported_platforms_platform_os.json ├── main │ ├── resources │ │ └── net │ │ │ └── gleske │ │ │ └── jervis │ │ │ └── doctemplates │ │ │ ├── toolchain.tmpl.md │ │ │ ├── introduction.tmpl.md │ │ │ ├── os-introduction.tmpl.md │ │ │ ├── toolchain-introduction.tmpl.md │ │ │ └── lifecycle.tmpl.md │ └── groovy │ │ └── net │ │ └── gleske │ │ └── jervis │ │ ├── remotes │ │ ├── interfaces │ │ │ └── package-info.groovy │ │ └── creds │ │ │ └── package-info.groovy │ │ ├── lang │ │ └── package-info.groovy │ │ └── tools │ │ └── package-info.groovy └── groovydoc │ └── resources │ └── highlightjs │ └── README.md ├── NOTICE ├── gradle ├── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── jervis.gradle └── groovyTestCompilerConfig.groovy ├── .vscode └── project.json ├── vars ├── README.md ├── isPRBuild.groovy └── isTagBuild.groovy ├── assemble.sh ├── sonarqube └── docker-compose.yml ├── .gitignore ├── SECURITY.md ├── dependencytrack ├── dtrack.gradle └── README.md ├── .devcontainer └── devcontainer.json ├── CONTRIBUTING.md └── jobs └── create_folder.groovy /gradle.properties: -------------------------------------------------------------------------------- 1 | version=2.2-SNAPSHOT 2 | -------------------------------------------------------------------------------- /assets/footer.sh: -------------------------------------------------------------------------------- 1 | #denotes the end of a section 2 | -------------------------------------------------------------------------------- /resources/footer.sh: -------------------------------------------------------------------------------- 1 | #denotes the end of a section 2 | -------------------------------------------------------------------------------- /src/test/resources/mocks/www.example.com_doesnotexist2: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/net/gleske/jervis/doctemplates/toolchain.tmpl.md: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/net/gleske/jervis/doctemplates/introduction.tmpl.md: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/net/gleske/jervis/doctemplates/os-introduction.tmpl.md: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/test/resources/mocks/api.github.com_app_installations_empty: -------------------------------------------------------------------------------- 1 | [] 2 | -------------------------------------------------------------------------------- /src/test/resources/mocks/api.github.com_repos_samrocketman_empty_contents: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/test/resources/mocks/www.example.com_doesnotexist: -------------------------------------------------------------------------------- 1 | {"some":"response"} 2 | -------------------------------------------------------------------------------- /NOTICE: -------------------------------------------------------------------------------- 1 | Copyright 2014-2025 Sam Gleske - https://github.com/samrocketman/jervis 2 | -------------------------------------------------------------------------------- /src/main/resources/net/gleske/jervis/doctemplates/toolchain-introduction.tmpl.md: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/test/resources/mocks/api.github.com_repos_samrocketman_emptyList_contents: -------------------------------------------------------------------------------- 1 | [] 2 | -------------------------------------------------------------------------------- /src/test/resources/mocks/api.github.com_repos_samrocketman_jervis_branches_page_2: -------------------------------------------------------------------------------- 1 | [] 2 | -------------------------------------------------------------------------------- /src/test/resources/mocks/example.com_post_endpoint: -------------------------------------------------------------------------------- 1 | this is mock POST response data 2 | -------------------------------------------------------------------------------- /src/test/resources/sample_script.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | echo "this is a sample script" 3 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_kv_cas_config_ca640979976ec2ed2e7b0b76e8096a6a12d383540628cf6046b94e78429f9814: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_secret_foo2_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_secret_foo_b5d6d3914f8c8ce011b8306cb5b0b1664651dd538ab40a634bd12889295a5650: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_secret_foo_bar_366cbb2032cfeba13156a72d6be2dd63a2fb2141bfde8039cb4449fe5e227fea: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_secret_v1_set_459a4bfed6b6aa3dd228ed2bed6762080f57f41a128eeeb307c3bec847c9619e: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_sys_mounts_kv_2fe40b84dc4dd8f96ce0494b427e113c618eca1d6074ef5864dea61c41e86646: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/samrocketman/jervis/HEAD/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /src/test/resources/mocks/api.github.com_graphql_a163c471d4cdb6f7aa30f1540a27da77a2dbf6f9358137ac9fc42c380305008a: -------------------------------------------------------------------------------- 1 | [] 2 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_kv_metadata_foo2_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_secret_foo_bar_baz_65f7a007d8b329b9a9e59101a593b9864891bc0be1211370dc1a70130921b898: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_secret_v2_to_v1_459a4bfed6b6aa3dd228ed2bed6762080f57f41a128eeeb307c3bec847c9619e: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_sys_mounts_kv_cas_2fe40b84dc4dd8f96ce0494b427e113c618eca1d6074ef5864dea61c41e86646: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_sys_mounts_secret_bcc2237d0dadf736262d53b8b2f7fa1b8e485968a8bbe878a7e495585e46201c: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_auth_token_revoke-self_8c5e460152256f95db58062c6881abade5c2a66c0487805aa2fdc0b5bce63907: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_kv_metadata_v1_to_v2_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_kv_metadata_v2_force_cas_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_secret2_withslash_rename_b5d6d3914f8c8ce011b8306cb5b0b1664651dd538ab40a634bd12889295a5650: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_secret_v1_set_force_cas_459a4bfed6b6aa3dd228ed2bed6762080f57f41a128eeeb307c3bec847c9619e: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_sys_mounts_kv2_withslash_2fe40b84dc4dd8f96ce0494b427e113c618eca1d6074ef5864dea61c41e86646: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_kv2_withslash_data_deleteone_81690ca61392fb1fc356cfda4809af0324e6edb42af1cc7a2d0bd8ebc801bc16: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_kv2_withslash_data_somepath_81690ca61392fb1fc356cfda4809af0324e6edb42af1cc7a2d0bd8ebc801bc16: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_kv2_withslash_metadata_rename_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_kv_cas_metadata_v2_detect_cas_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_kv_metadata_v2_to_v2_v2_to_v2_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_secret2_withslash_multitype_a068fde8fa6aabe9a3b6c7ac71344a69e73715ca8f07fbd26817363d7b91304e: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_secret2_withslash_multitype_c4879ad82094222b8366d8d9b2eaa63ceb246d13413912982fe74bad17c2a87c: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_secret2_withslash_rename_bar_366cbb2032cfeba13156a72d6be2dd63a2fb2141bfde8039cb4449fe5e227fea: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_secret2_withslash_somepath_459a4bfed6b6aa3dd228ed2bed6762080f57f41a128eeeb307c3bec847c9619e: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_secret2_withslash_somepath_81690ca61392fb1fc356cfda4809af0324e6edb42af1cc7a2d0bd8ebc801bc16: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_secret_v2_to_v1_version_1_459a4bfed6b6aa3dd228ed2bed6762080f57f41a128eeeb307c3bec847c9619e: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_secret_v2_to_v1_version_1_56ff9d6ca16c4c627cc581bfbe49f3405ea122009628a4fe7189848a5b67e7f8: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_sys_mounts_secret2_withslash_bcc2237d0dadf736262d53b8b2f7fa1b8e485968a8bbe878a7e495585e46201c: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_kv2_withslash_data_somepath_bar_81690ca61392fb1fc356cfda4809af0324e6edb42af1cc7a2d0bd8ebc801bc16: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_kv2_withslash_delete_deleteone_e52bf8d2549c46f24c64afbacfaa27fac8771971b1b56179107171bc3744d107: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_kv2_withslash_destroy_deleteone_b05c2de72ea1db3d88c921680c1278bf10fdc35e8daea16e64ed94d546e16d6e: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_kv2_withslash_destroy_destroyone_dd7c9b3b338f375161b55e529f877acc3550e8f6eb72397180459d248251cfe6: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_kv2_withslash_metadata_rename_bar_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_kv2_withslash_metadata_somepath_81690ca61392fb1fc356cfda4809af0324e6edb42af1cc7a2d0bd8ebc801bc16: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_kv2_withslash_metadata_somepath_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_kv_metadata_v2_to_v2_version_1_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_secret2_withslash_rename_bar_baz_65f7a007d8b329b9a9e59101a593b9864891bc0be1211370dc1a70130921b898: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_secret2_withslash_somepath_bar_81690ca61392fb1fc356cfda4809af0324e6edb42af1cc7a2d0bd8ebc801bc16: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_secret2_withslash_somepath_bar_a3fe052154276f623aeed98bc5f30e8a3d272f34de5d9b8577679fa668606336: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_secret2_withslash_somepath_bar_baz_81690ca61392fb1fc356cfda4809af0324e6edb42af1cc7a2d0bd8ebc801bc16: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_secret2_withslash_somepath_bar_baz_930617bc5e108d37b99d29c0921937ecc5ec6b24412ce10cc37de6703710ef0a: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_secret2_withslash_subpath_rename_459a4bfed6b6aa3dd228ed2bed6762080f57f41a128eeeb307c3bec847c9619e: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/test/resources/mocks/localhost_8081_repository_hosted-raw-repo_file.gz_802448649c5c3b5e84d8789cc565351a7e44add5d9ed7cf9d252e7273eb0b6d0: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/test/resources/mocks/localhost_8081_repository_hosted-raw-repo_plain.txt_802448649c5c3b5e84d8789cc565351a7e44add5d9ed7cf9d252e7273eb0b6d0: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_kv2_withslash_data_somepath_bar_baz_81690ca61392fb1fc356cfda4809af0324e6edb42af1cc7a2d0bd8ebc801bc16: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_kv2_withslash_metadata_rename_bar_baz_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_kv2_withslash_metadata_somepath_bar_81690ca61392fb1fc356cfda4809af0324e6edb42af1cc7a2d0bd8ebc801bc16: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_kv2_withslash_metadata_somepath_bar_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_kv2_withslash_metadata_somepath_bar_baz_81690ca61392fb1fc356cfda4809af0324e6edb42af1cc7a2d0bd8ebc801bc16: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_kv2_withslash_metadata_somepath_bar_baz_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_kv2_withslash_metadata_subpath_rename_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_secret2_withslash_subpath_rename_bar_a3fe052154276f623aeed98bc5f30e8a3d272f34de5d9b8577679fa668606336: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_kv2_withslash_metadata_subpath_rename_bar_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_secret2_withslash_subpath_rename_bar_baz_930617bc5e108d37b99d29c0921937ecc5ec6b24412ce10cc37de6703710ef0a: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/test/resources/mocks/api.github.com_orgs_sgleske-test_installation_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344: -------------------------------------------------------------------------------- 1 | id: 32854008 2 | -------------------------------------------------------------------------------- /src/test/resources/mocks/api.github.com_users_samrocketman_installation_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344: -------------------------------------------------------------------------------- 1 | id: 38741780 2 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_kv2_withslash_metadata_subpath_rename_bar_baz_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/test/resources/mocks/api.github.com_app_installations_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344: -------------------------------------------------------------------------------- 1 | - id: 38741780 2 | - id: 32854008 3 | -------------------------------------------------------------------------------- /src/test/resources/mocks/localhost_8081_repository_hosted-raw-repo_plain.txt_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344: -------------------------------------------------------------------------------- 1 | dGhpcyBpcyBhIHNpbXBsZSBmaWxl -------------------------------------------------------------------------------- /src/test/resources/mocks/api.github.com_graphql_ba375a80eda41359695b8003af9b7e13c6af250396d1dd5f843090459533063a: -------------------------------------------------------------------------------- 1 | { 2 | "error": "Mock error response from GitHub GraphQL." 3 | } 4 | -------------------------------------------------------------------------------- /src/test/resources/good_platforms_partial_unstable.yaml: -------------------------------------------------------------------------------- 1 | supported_platforms: 2 | default: 3 | ubuntu2204: 4 | language: 5 | - java 6 | toolchain: 7 | - jdk 8 | -------------------------------------------------------------------------------- /.vscode/project.json: -------------------------------------------------------------------------------- 1 | { 2 | "project": "jervis", 3 | "sonarURL": "http://sonarqube:9000", 4 | "auth": { 5 | "username": "admin", 6 | "password": "admin" 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /src/test/resources/mocks/localhost_8081_repository_hosted-raw-repo_file.gz_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344: -------------------------------------------------------------------------------- 1 | H4sIAAAAAAAAAMtIzcnJVyjPL8pJ4eLyrVRIK8pMzUvhAgAI+O/HFwAAAA== -------------------------------------------------------------------------------- /assets/Jenkinsfile: -------------------------------------------------------------------------------- 1 | #!groovy 2 | if(BRANCH_NAME == 'jervis_simple') { 3 | stage('Simulated deploy') { 4 | sh 'env | LC_ALL=C sort' 5 | unstash 'artifacts' 6 | unstash 'junit' 7 | sh 'find . -type f' 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /src/test/resources/good_lifecycles_python_number.json: -------------------------------------------------------------------------------- 1 | { 2 | "python": { 3 | "friendlyName": "python", 4 | "defaultKey": "setuptools", 5 | "setuptools": { 6 | "script": "python setup.py test" 7 | } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /src/test/resources/bad_platforms_missing_root_supported_platforms.json: -------------------------------------------------------------------------------- 1 | { 2 | "defaults": { 3 | "platform": "docker", 4 | "os": "ubuntu1404", 5 | "stability": "stable", 6 | "sudo": "sudo" 7 | }, 8 | "restrictions": {} 9 | } 10 | -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.10.2-bin.zip 4 | networkTimeout=10000 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /src/test/resources/good_lifecycles_matrix_added_toolchain.json: -------------------------------------------------------------------------------- 1 | { 2 | "python": { 3 | "friendlyName": "Python", 4 | "defaultKey": "default", 5 | "default": { 6 | "install": "foo", 7 | "script": "bar" 8 | } 9 | } 10 | } -------------------------------------------------------------------------------- /vars/README.md: -------------------------------------------------------------------------------- 1 | # Where to start? 2 | 3 | The main entrypoint in this pipeline library which calls all other pipeline 4 | variables is [`buildViaJervis()`](buildViaJervis.groovy). If you start reading 5 | there then eventually the code should touch every pipeline variable in this 6 | folder. 7 | -------------------------------------------------------------------------------- /src/test/resources/bad_platforms_rootkey_supported_platforms.json: -------------------------------------------------------------------------------- 1 | { 2 | "defaults": { 3 | "platform": "docker", 4 | "os": "ubuntu1404", 5 | "stability": "stable", 6 | "sudo": "sudo" 7 | }, 8 | "supported_platforms": "badstring", 9 | "restrictions": {} 10 | } 11 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_secret_foo_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344: -------------------------------------------------------------------------------- 1 | request_id: b963aaed-495c-d2cc-0dfe-289b2f93c1e3 2 | lease_id: '' 3 | renewable: false 4 | lease_duration: 604800 5 | data: 6 | test: data 7 | wrap_info: null 8 | warnings: null 9 | auth: null 10 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_secret_foo_bar_1d10ada45367f3c896e31dd45f758a0b7d077701fd11e39b2bc580ebdc5dbafa: -------------------------------------------------------------------------------- 1 | request_id: 107a719f-1a43-cdeb-517b-240d2e2bddb3 2 | lease_id: '' 3 | renewable: false 4 | lease_duration: 0 5 | data: 6 | keys: 7 | - baz 8 | wrap_info: null 9 | warnings: null 10 | auth: null 11 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_secret_foo_bar_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344: -------------------------------------------------------------------------------- 1 | request_id: df2558cc-8c03-919e-5fb9-7bc328fe18c3 2 | lease_id: '' 3 | renewable: false 4 | lease_duration: 604800 5 | data: 6 | someother: data 7 | wrap_info: null 8 | warnings: null 9 | auth: null 10 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_kv_metadata_foo_bar_1d10ada45367f3c896e31dd45f758a0b7d077701fd11e39b2bc580ebdc5dbafa: -------------------------------------------------------------------------------- 1 | request_id: 0ae905d4-cb34-8f79-f317-ed6be02be935 2 | lease_id: '' 3 | renewable: false 4 | lease_duration: 0 5 | data: 6 | keys: 7 | - baz 8 | wrap_info: null 9 | warnings: null 10 | auth: null 11 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_secret2_withslash_rename_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344: -------------------------------------------------------------------------------- 1 | request_id: 92c1c850-dca3-743a-18c9-3bc406f1d04a 2 | lease_id: '' 3 | renewable: false 4 | lease_duration: 604800 5 | data: 6 | test: data 7 | wrap_info: null 8 | warnings: null 9 | auth: null 10 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_secret_foo_bar_baz_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344: -------------------------------------------------------------------------------- 1 | request_id: 5def1dab-dc0a-32db-2349-1a95c0735ebc 2 | lease_id: '' 3 | renewable: false 4 | lease_duration: 604800 5 | data: 6 | more: secrets 7 | wrap_info: null 8 | warnings: null 9 | auth: null 10 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_kv_metadata_v2_to_v2_1d10ada45367f3c896e31dd45f758a0b7d077701fd11e39b2bc580ebdc5dbafa: -------------------------------------------------------------------------------- 1 | request_id: 64c1eeb2-ba89-7c78-83d8-31742b48efa0 2 | lease_id: '' 3 | renewable: false 4 | lease_duration: 0 5 | data: 6 | keys: 7 | - v2_to_v2 8 | wrap_info: null 9 | warnings: null 10 | auth: null 11 | -------------------------------------------------------------------------------- /src/test/resources/good_platforms_partial_add_platform_os.yaml: -------------------------------------------------------------------------------- 1 | defaults: 2 | sudo: nosudo 3 | supported_platforms: 4 | default: 5 | alpine: 6 | language: 7 | - go 8 | toolchain: 9 | - env 10 | arm64: 11 | alpine: 12 | language: 13 | - go 14 | toolchain: 15 | - env 16 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_secret2_withslash_rename_bar_1d10ada45367f3c896e31dd45f758a0b7d077701fd11e39b2bc580ebdc5dbafa: -------------------------------------------------------------------------------- 1 | request_id: 08336706-be54-7492-e21c-66421ad3a3b9 2 | lease_id: '' 3 | renewable: false 4 | lease_duration: 0 5 | data: 6 | keys: 7 | - baz 8 | wrap_info: null 9 | warnings: null 10 | auth: null 11 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_secret2_withslash_rename_bar_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344: -------------------------------------------------------------------------------- 1 | request_id: 33d5fd8d-3660-8594-b2cc-2535310b385c 2 | lease_id: '' 3 | renewable: false 4 | lease_duration: 604800 5 | data: 6 | someother: data 7 | wrap_info: null 8 | warnings: null 9 | auth: null 10 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_secret2_withslash_rename_bar_baz_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344: -------------------------------------------------------------------------------- 1 | request_id: b6e6d42b-43b5-9a19-3287-2737f0769943 2 | lease_id: '' 3 | renewable: false 4 | lease_duration: 604800 5 | data: 6 | more: secrets 7 | wrap_info: null 8 | warnings: null 9 | auth: null 10 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_secret2_withslash_somepath_bar_1d10ada45367f3c896e31dd45f758a0b7d077701fd11e39b2bc580ebdc5dbafa: -------------------------------------------------------------------------------- 1 | request_id: 078efa52-3fea-4d5a-144c-c2909df45ccc 2 | lease_id: '' 3 | renewable: false 4 | lease_duration: 0 5 | data: 6 | keys: 7 | - baz 8 | wrap_info: null 9 | warnings: null 10 | auth: null 11 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_secret_foo_1d10ada45367f3c896e31dd45f758a0b7d077701fd11e39b2bc580ebdc5dbafa: -------------------------------------------------------------------------------- 1 | request_id: b1eeb59b-9b43-16b8-2605-67c20f706ea5 2 | lease_id: '' 3 | renewable: false 4 | lease_duration: 0 5 | data: 6 | keys: 7 | - bar 8 | - bar/ 9 | wrap_info: null 10 | warnings: null 11 | auth: null 12 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_kv2_withslash_metadata_rename_bar_1d10ada45367f3c896e31dd45f758a0b7d077701fd11e39b2bc580ebdc5dbafa: -------------------------------------------------------------------------------- 1 | request_id: 27334d59-3d51-c858-36ed-0ba793c9a9a9 2 | lease_id: '' 3 | renewable: false 4 | lease_duration: 0 5 | data: 6 | keys: 7 | - baz 8 | wrap_info: null 9 | warnings: null 10 | auth: null 11 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_kv2_withslash_metadata_somepath_bar_1d10ada45367f3c896e31dd45f758a0b7d077701fd11e39b2bc580ebdc5dbafa: -------------------------------------------------------------------------------- 1 | request_id: cc64e69e-0c3f-42c7-2ecc-5ffed50bea98 2 | lease_id: '' 3 | renewable: false 4 | lease_duration: 0 5 | data: 6 | keys: 7 | - baz 8 | wrap_info: null 9 | warnings: null 10 | auth: null 11 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_kv_metadata_foo_1d10ada45367f3c896e31dd45f758a0b7d077701fd11e39b2bc580ebdc5dbafa: -------------------------------------------------------------------------------- 1 | request_id: 7119faa7-eaa0-b5e2-fc00-8187518145d8 2 | lease_id: '' 3 | renewable: false 4 | lease_duration: 0 5 | data: 6 | keys: 7 | - bar 8 | - bar/ 9 | wrap_info: null 10 | warnings: null 11 | auth: null 12 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_secret2_withslash_rename_1d10ada45367f3c896e31dd45f758a0b7d077701fd11e39b2bc580ebdc5dbafa: -------------------------------------------------------------------------------- 1 | request_id: 384039f0-3d7c-2ac1-50f9-2b8eec447880 2 | lease_id: '' 3 | renewable: false 4 | lease_duration: 0 5 | data: 6 | keys: 7 | - bar 8 | - bar/ 9 | wrap_info: null 10 | warnings: null 11 | auth: null 12 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_kv2_withslash_metadata_rename_1d10ada45367f3c896e31dd45f758a0b7d077701fd11e39b2bc580ebdc5dbafa: -------------------------------------------------------------------------------- 1 | request_id: b7dd03dd-bc35-eaad-fe4f-9c8a47f7bff0 2 | lease_id: '' 3 | renewable: false 4 | lease_duration: 0 5 | data: 6 | keys: 7 | - bar 8 | - bar/ 9 | wrap_info: null 10 | warnings: null 11 | auth: null 12 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_secret2_withslash_somepath_1d10ada45367f3c896e31dd45f758a0b7d077701fd11e39b2bc580ebdc5dbafa: -------------------------------------------------------------------------------- 1 | request_id: 1c7e2205-584b-7f4c-5ef4-441e2b40f43d 2 | lease_id: '' 3 | renewable: false 4 | lease_duration: 0 5 | data: 6 | keys: 7 | - bar 8 | - bar/ 9 | wrap_info: null 10 | warnings: null 11 | auth: null 12 | -------------------------------------------------------------------------------- /assemble.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set +e 3 | count=0 4 | STATUS=1 5 | while [ ! "${STATUS}" = '0' ]; do 6 | ./gradlew assemble 7 | STATUS=$? 8 | if [[ "${STATUS}" -eq '0' || "${count}" -ge '2' ]];then 9 | break 10 | fi 11 | echo 'Failed to assemble dependencies. Sleep 5 and retry.' 12 | sleep 5 13 | ((count++)) 14 | done 15 | exit $STATUS 16 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_kv2_withslash_metadata_somepath_1d10ada45367f3c896e31dd45f758a0b7d077701fd11e39b2bc580ebdc5dbafa: -------------------------------------------------------------------------------- 1 | request_id: c6833758-11dc-e3e2-bd8d-7d21ce2987f0 2 | lease_id: '' 3 | renewable: false 4 | lease_duration: 0 5 | data: 6 | keys: 7 | - bar 8 | - bar/ 9 | wrap_info: null 10 | warnings: null 11 | auth: null 12 | -------------------------------------------------------------------------------- /assets/header.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash -l 2 | export PS4='$ ' 3 | echo '# ENVIRONMENT SECTION' 4 | echo -n "Hostname: " 5 | hostname 6 | echo -n "Distro: " 7 | head -n1 /etc/issue 8 | echo -n "Kernel: " 9 | uname -rms 10 | echo -n "Bash: " 11 | bash --version | head -n1 12 | export JERVIS_RANDOM="${RANDOM}" 13 | echo "JERVIS_RANDOM: ${JERVIS_RANDOM}" 14 | set -axeE 15 | -------------------------------------------------------------------------------- /resources/header.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash -l 2 | export PS4='$ ' 3 | echo '# ENVIRONMENT SECTION' 4 | echo -n "Hostname: " 5 | hostname 6 | echo -n "Distro: " 7 | head -n1 /etc/issue 8 | echo -n "Kernel: " 9 | uname -rms 10 | echo -n "Bash: " 11 | bash --version | head -n1 12 | export JERVIS_RANDOM="${RANDOM}" 13 | echo "JERVIS_RANDOM: ${JERVIS_RANDOM}" 14 | set -axeE 15 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_secret_foo_b5d6d3914f8c8ce011b8306cb5b0b1664651dd538ab40a634bd12889295a5650_headers: -------------------------------------------------------------------------------- 1 | null: 2 | - HTTP/1.1 204 No Content 3 | Strict-Transport-Security: 4 | - max-age=31536000; includeSubDomains 5 | Cache-Control: 6 | - no-store 7 | Date: 8 | - Sat, 24 Dec 2022 13:48:19 GMT 9 | Content-Type: 10 | - application/json 11 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_kv_cas_config_ca640979976ec2ed2e7b0b76e8096a6a12d383540628cf6046b94e78429f9814_headers: -------------------------------------------------------------------------------- 1 | null: 2 | - HTTP/1.1 204 No Content 3 | Strict-Transport-Security: 4 | - max-age=31536000; includeSubDomains 5 | Cache-Control: 6 | - no-store 7 | Date: 8 | - Sat, 24 Dec 2022 13:48:19 GMT 9 | Content-Type: 10 | - application/json 11 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_kv_config_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344: -------------------------------------------------------------------------------- 1 | request_id: 75e996c9-d7f6-aeb7-4db8-e2f8dcaa4137 2 | lease_id: '' 3 | renewable: false 4 | lease_duration: 0 5 | data: 6 | cas_required: false 7 | delete_version_after: 0s 8 | max_versions: 0 9 | wrap_info: null 10 | warnings: null 11 | auth: null 12 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_secret_foo_bar_366cbb2032cfeba13156a72d6be2dd63a2fb2141bfde8039cb4449fe5e227fea_headers: -------------------------------------------------------------------------------- 1 | null: 2 | - HTTP/1.1 204 No Content 3 | Strict-Transport-Security: 4 | - max-age=31536000; includeSubDomains 5 | Cache-Control: 6 | - no-store 7 | Date: 8 | - Sat, 24 Dec 2022 13:48:19 GMT 9 | Content-Type: 10 | - application/json 11 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_secret_v1_set_459a4bfed6b6aa3dd228ed2bed6762080f57f41a128eeeb307c3bec847c9619e_headers: -------------------------------------------------------------------------------- 1 | null: 2 | - HTTP/1.1 204 No Content 3 | Strict-Transport-Security: 4 | - max-age=31536000; includeSubDomains 5 | Cache-Control: 6 | - no-store 7 | Date: 8 | - Sun, 25 Dec 2022 19:53:12 GMT 9 | Content-Type: 10 | - application/json 11 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_secret_v2_to_v1_459a4bfed6b6aa3dd228ed2bed6762080f57f41a128eeeb307c3bec847c9619e_headers: -------------------------------------------------------------------------------- 1 | null: 2 | - HTTP/1.1 204 No Content 3 | Strict-Transport-Security: 4 | - max-age=31536000; includeSubDomains 5 | Cache-Control: 6 | - no-store 7 | Date: 8 | - Sun, 25 Dec 2022 19:53:12 GMT 9 | Content-Type: 10 | - application/json 11 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_sys_mounts_kv_2fe40b84dc4dd8f96ce0494b427e113c618eca1d6074ef5864dea61c41e86646_headers: -------------------------------------------------------------------------------- 1 | null: 2 | - HTTP/1.1 204 No Content 3 | Strict-Transport-Security: 4 | - max-age=31536000; includeSubDomains 5 | Cache-Control: 6 | - no-store 7 | Date: 8 | - Sat, 24 Dec 2022 13:48:19 GMT 9 | Content-Type: 10 | - application/json 11 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_kv_cas_config_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344: -------------------------------------------------------------------------------- 1 | request_id: 81cb0da3-d572-360c-2395-bf7fa22a57db 2 | lease_id: '' 3 | renewable: false 4 | lease_duration: 0 5 | data: 6 | cas_required: true 7 | delete_version_after: 0s 8 | max_versions: 0 9 | wrap_info: null 10 | warnings: null 11 | auth: null 12 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_secret_foo_bar_baz_65f7a007d8b329b9a9e59101a593b9864891bc0be1211370dc1a70130921b898_headers: -------------------------------------------------------------------------------- 1 | null: 2 | - HTTP/1.1 204 No Content 3 | Strict-Transport-Security: 4 | - max-age=31536000; includeSubDomains 5 | Cache-Control: 6 | - no-store 7 | Date: 8 | - Sat, 24 Dec 2022 13:48:19 GMT 9 | Content-Type: 10 | - application/json 11 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_sys_mounts_kv_cas_2fe40b84dc4dd8f96ce0494b427e113c618eca1d6074ef5864dea61c41e86646_headers: -------------------------------------------------------------------------------- 1 | null: 2 | - HTTP/1.1 204 No Content 3 | Strict-Transport-Security: 4 | - max-age=31536000; includeSubDomains 5 | Cache-Control: 6 | - no-store 7 | Date: 8 | - Sat, 24 Dec 2022 13:48:19 GMT 9 | Content-Type: 10 | - application/json 11 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_sys_mounts_secret_bcc2237d0dadf736262d53b8b2f7fa1b8e485968a8bbe878a7e495585e46201c_headers: -------------------------------------------------------------------------------- 1 | null: 2 | - HTTP/1.1 204 No Content 3 | Strict-Transport-Security: 4 | - max-age=31536000; includeSubDomains 5 | Cache-Control: 6 | - no-store 7 | Date: 8 | - Sat, 24 Dec 2022 13:48:19 GMT 9 | Content-Type: 10 | - application/json 11 | -------------------------------------------------------------------------------- /src/test/resources/good_platforms_partial.yaml: -------------------------------------------------------------------------------- 1 | defaults: 2 | platform: default 3 | os: ubuntu2204 4 | stability: stable 5 | sudo: sudo 6 | supported_platforms: 7 | default: 8 | ubuntu2204: 9 | friendlyName: Ubuntu 22.04 10 | language: 11 | - python 12 | toolchain: 13 | - env 14 | - python 15 | restrictions: { 16 | } 17 | -------------------------------------------------------------------------------- /src/test/resources/good_toolchains_partial_unstable.yaml: -------------------------------------------------------------------------------- 1 | toolchains: 2 | java: [env, jdk] 3 | env: 4 | matrix: 'disabled' 5 | '*': 'export ${jervis_toolchain_ivalue}' 6 | python: 7 | default_ivalue: '3.6' 8 | friendlyLabel: true 9 | '2.7': foo 10 | '3.6': bar 11 | '3.10': baz 12 | go: 13 | default_ivalue: 'world' 14 | '*': 'hello ${jervis_toolchain_ivalue}' 15 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_auth_token_revoke-self_8c5e460152256f95db58062c6881abade5c2a66c0487805aa2fdc0b5bce63907_headers: -------------------------------------------------------------------------------- 1 | null: 2 | - HTTP/1.1 204 No Content 3 | Strict-Transport-Security: 4 | - max-age=31536000; includeSubDomains 5 | Cache-Control: 6 | - no-store 7 | Date: 8 | - Thu, 29 Dec 2022 04:53:12 GMT 9 | Content-Type: 10 | - application/json 11 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_kv2_withslash_config_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344: -------------------------------------------------------------------------------- 1 | request_id: 40991e89-8b0d-ef81-812b-2e92e6e7b9f9 2 | lease_id: '' 3 | renewable: false 4 | lease_duration: 0 5 | data: 6 | cas_required: false 7 | delete_version_after: 0s 8 | max_versions: 0 9 | wrap_info: null 10 | warnings: null 11 | auth: null 12 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_secret2_withslash_rename_b5d6d3914f8c8ce011b8306cb5b0b1664651dd538ab40a634bd12889295a5650_headers: -------------------------------------------------------------------------------- 1 | null: 2 | - HTTP/1.1 204 No Content 3 | Strict-Transport-Security: 4 | - max-age=31536000; includeSubDomains 5 | Cache-Control: 6 | - no-store 7 | Date: 8 | - Sun, 25 Dec 2022 19:53:12 GMT 9 | Content-Type: 10 | - application/json 11 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_secret2_withslash_somepath_459a4bfed6b6aa3dd228ed2bed6762080f57f41a128eeeb307c3bec847c9619e_headers: -------------------------------------------------------------------------------- 1 | null: 2 | - HTTP/1.1 204 No Content 3 | Strict-Transport-Security: 4 | - max-age=31536000; includeSubDomains 5 | Cache-Control: 6 | - no-store 7 | Date: 8 | - Sun, 25 Dec 2022 19:53:12 GMT 9 | Content-Type: 10 | - application/json 11 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_secret2_withslash_somepath_81690ca61392fb1fc356cfda4809af0324e6edb42af1cc7a2d0bd8ebc801bc16_headers: -------------------------------------------------------------------------------- 1 | null: 2 | - HTTP/1.1 204 No Content 3 | Strict-Transport-Security: 4 | - max-age=31536000; includeSubDomains 5 | Cache-Control: 6 | - no-store 7 | Date: 8 | - Sun, 25 Dec 2022 19:53:12 GMT 9 | Content-Type: 10 | - application/json 11 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_secret_v1_set_force_cas_459a4bfed6b6aa3dd228ed2bed6762080f57f41a128eeeb307c3bec847c9619e_headers: -------------------------------------------------------------------------------- 1 | null: 2 | - HTTP/1.1 204 No Content 3 | Strict-Transport-Security: 4 | - max-age=31536000; includeSubDomains 5 | Cache-Control: 6 | - no-store 7 | Date: 8 | - Sun, 25 Dec 2022 19:53:12 GMT 9 | Content-Type: 10 | - application/json 11 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_secret_v2_to_v1_version_1_459a4bfed6b6aa3dd228ed2bed6762080f57f41a128eeeb307c3bec847c9619e_headers: -------------------------------------------------------------------------------- 1 | null: 2 | - HTTP/1.1 204 No Content 3 | Strict-Transport-Security: 4 | - max-age=31536000; includeSubDomains 5 | Cache-Control: 6 | - no-store 7 | Date: 8 | - Sun, 18 Dec 2022 19:42:17 GMT 9 | Content-Type: 10 | - application/json 11 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_secret_v2_to_v1_version_1_56ff9d6ca16c4c627cc581bfbe49f3405ea122009628a4fe7189848a5b67e7f8_headers: -------------------------------------------------------------------------------- 1 | null: 2 | - HTTP/1.1 204 No Content 3 | Strict-Transport-Security: 4 | - max-age=31536000; includeSubDomains 5 | Cache-Control: 6 | - no-store 7 | Date: 8 | - Sun, 25 Dec 2022 19:53:12 GMT 9 | Content-Type: 10 | - application/json 11 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_sys_mounts_kv2_withslash_2fe40b84dc4dd8f96ce0494b427e113c618eca1d6074ef5864dea61c41e86646_headers: -------------------------------------------------------------------------------- 1 | null: 2 | - HTTP/1.1 204 No Content 3 | Strict-Transport-Security: 4 | - max-age=31536000; includeSubDomains 5 | Cache-Control: 6 | - no-store 7 | Date: 8 | - Sat, 24 Dec 2022 13:48:19 GMT 9 | Content-Type: 10 | - application/json 11 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_kv2_withslash_data_deleteone_81690ca61392fb1fc356cfda4809af0324e6edb42af1cc7a2d0bd8ebc801bc16_headers: -------------------------------------------------------------------------------- 1 | null: 2 | - HTTP/1.1 204 No Content 3 | Strict-Transport-Security: 4 | - max-age=31536000; includeSubDomains 5 | Cache-Control: 6 | - no-store 7 | Date: 8 | - Sun, 25 Dec 2022 19:53:12 GMT 9 | Content-Type: 10 | - application/json 11 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_kv2_withslash_data_somepath_81690ca61392fb1fc356cfda4809af0324e6edb42af1cc7a2d0bd8ebc801bc16_headers: -------------------------------------------------------------------------------- 1 | null: 2 | - HTTP/1.1 204 No Content 3 | Strict-Transport-Security: 4 | - max-age=31536000; includeSubDomains 5 | Cache-Control: 6 | - no-store 7 | Date: 8 | - Sun, 25 Dec 2022 19:53:12 GMT 9 | Content-Type: 10 | - application/json 11 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_kv2_withslash_data_somepath_bar_81690ca61392fb1fc356cfda4809af0324e6edb42af1cc7a2d0bd8ebc801bc16_headers: -------------------------------------------------------------------------------- 1 | null: 2 | - HTTP/1.1 204 No Content 3 | Strict-Transport-Security: 4 | - max-age=31536000; includeSubDomains 5 | Cache-Control: 6 | - no-store 7 | Date: 8 | - Sun, 25 Dec 2022 19:53:12 GMT 9 | Content-Type: 10 | - application/json 11 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_kv2_withslash_delete_deleteone_e52bf8d2549c46f24c64afbacfaa27fac8771971b1b56179107171bc3744d107_headers: -------------------------------------------------------------------------------- 1 | null: 2 | - HTTP/1.1 204 No Content 3 | Strict-Transport-Security: 4 | - max-age=31536000; includeSubDomains 5 | Cache-Control: 6 | - no-store 7 | Date: 8 | - Sun, 25 Dec 2022 19:53:12 GMT 9 | Content-Type: 10 | - application/json 11 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_kv2_withslash_destroy_deleteone_b05c2de72ea1db3d88c921680c1278bf10fdc35e8daea16e64ed94d546e16d6e_headers: -------------------------------------------------------------------------------- 1 | null: 2 | - HTTP/1.1 204 No Content 3 | Strict-Transport-Security: 4 | - max-age=31536000; includeSubDomains 5 | Cache-Control: 6 | - no-store 7 | Date: 8 | - Sun, 25 Dec 2022 19:53:12 GMT 9 | Content-Type: 10 | - application/json 11 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_kv2_withslash_metadata_somepath_81690ca61392fb1fc356cfda4809af0324e6edb42af1cc7a2d0bd8ebc801bc16_headers: -------------------------------------------------------------------------------- 1 | null: 2 | - HTTP/1.1 204 No Content 3 | Strict-Transport-Security: 4 | - max-age=31536000; includeSubDomains 5 | Cache-Control: 6 | - no-store 7 | Date: 8 | - Sun, 25 Dec 2022 19:53:12 GMT 9 | Content-Type: 10 | - application/json 11 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_secret2_withslash_multitype_a068fde8fa6aabe9a3b6c7ac71344a69e73715ca8f07fbd26817363d7b91304e_headers: -------------------------------------------------------------------------------- 1 | null: 2 | - HTTP/1.1 204 No Content 3 | Strict-Transport-Security: 4 | - max-age=31536000; includeSubDomains 5 | Cache-Control: 6 | - no-store 7 | Date: 8 | - Sun, 25 Dec 2022 19:13:56 GMT 9 | Content-Type: 10 | - application/json 11 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_secret2_withslash_multitype_c4879ad82094222b8366d8d9b2eaa63ceb246d13413912982fe74bad17c2a87c_headers: -------------------------------------------------------------------------------- 1 | null: 2 | - HTTP/1.1 204 No Content 3 | Strict-Transport-Security: 4 | - max-age=31536000; includeSubDomains 5 | Cache-Control: 6 | - no-store 7 | Date: 8 | - Sun, 25 Dec 2022 19:53:12 GMT 9 | Content-Type: 10 | - application/json 11 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_secret2_withslash_rename_bar_366cbb2032cfeba13156a72d6be2dd63a2fb2141bfde8039cb4449fe5e227fea_headers: -------------------------------------------------------------------------------- 1 | null: 2 | - HTTP/1.1 204 No Content 3 | Strict-Transport-Security: 4 | - max-age=31536000; includeSubDomains 5 | Cache-Control: 6 | - no-store 7 | Date: 8 | - Sun, 25 Dec 2022 19:53:12 GMT 9 | Content-Type: 10 | - application/json 11 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_secret2_withslash_somepath_bar_81690ca61392fb1fc356cfda4809af0324e6edb42af1cc7a2d0bd8ebc801bc16_headers: -------------------------------------------------------------------------------- 1 | null: 2 | - HTTP/1.1 204 No Content 3 | Strict-Transport-Security: 4 | - max-age=31536000; includeSubDomains 5 | Cache-Control: 6 | - no-store 7 | Date: 8 | - Sun, 25 Dec 2022 19:53:12 GMT 9 | Content-Type: 10 | - application/json 11 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_secret2_withslash_somepath_bar_a3fe052154276f623aeed98bc5f30e8a3d272f34de5d9b8577679fa668606336_headers: -------------------------------------------------------------------------------- 1 | null: 2 | - HTTP/1.1 204 No Content 3 | Strict-Transport-Security: 4 | - max-age=31536000; includeSubDomains 5 | Cache-Control: 6 | - no-store 7 | Date: 8 | - Sun, 25 Dec 2022 19:53:12 GMT 9 | Content-Type: 10 | - application/json 11 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_sys_mounts_secret2_withslash_bcc2237d0dadf736262d53b8b2f7fa1b8e485968a8bbe878a7e495585e46201c_headers: -------------------------------------------------------------------------------- 1 | null: 2 | - HTTP/1.1 204 No Content 3 | Strict-Transport-Security: 4 | - max-age=31536000; includeSubDomains 5 | Cache-Control: 6 | - no-store 7 | Date: 8 | - Sat, 24 Dec 2022 13:48:19 GMT 9 | Content-Type: 10 | - application/json 11 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_kv2_withslash_data_somepath_bar_baz_81690ca61392fb1fc356cfda4809af0324e6edb42af1cc7a2d0bd8ebc801bc16_headers: -------------------------------------------------------------------------------- 1 | null: 2 | - HTTP/1.1 204 No Content 3 | Strict-Transport-Security: 4 | - max-age=31536000; includeSubDomains 5 | Cache-Control: 6 | - no-store 7 | Date: 8 | - Sun, 25 Dec 2022 19:53:12 GMT 9 | Content-Type: 10 | - application/json 11 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_kv2_withslash_destroy_destroyone_dd7c9b3b338f375161b55e529f877acc3550e8f6eb72397180459d248251cfe6_headers: -------------------------------------------------------------------------------- 1 | null: 2 | - HTTP/1.1 204 No Content 3 | Strict-Transport-Security: 4 | - max-age=31536000; includeSubDomains 5 | Cache-Control: 6 | - no-store 7 | Date: 8 | - Sun, 25 Dec 2022 19:53:12 GMT 9 | Content-Type: 10 | - application/json 11 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_kv2_withslash_metadata_somepath_bar_81690ca61392fb1fc356cfda4809af0324e6edb42af1cc7a2d0bd8ebc801bc16_headers: -------------------------------------------------------------------------------- 1 | null: 2 | - HTTP/1.1 204 No Content 3 | Strict-Transport-Security: 4 | - max-age=31536000; includeSubDomains 5 | Cache-Control: 6 | - no-store 7 | Date: 8 | - Sun, 25 Dec 2022 19:53:12 GMT 9 | Content-Type: 10 | - application/json 11 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_secret2_withslash_rename_bar_baz_65f7a007d8b329b9a9e59101a593b9864891bc0be1211370dc1a70130921b898_headers: -------------------------------------------------------------------------------- 1 | null: 2 | - HTTP/1.1 204 No Content 3 | Strict-Transport-Security: 4 | - max-age=31536000; includeSubDomains 5 | Cache-Control: 6 | - no-store 7 | Date: 8 | - Sun, 25 Dec 2022 19:53:12 GMT 9 | Content-Type: 10 | - application/json 11 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_secret2_withslash_somepath_bar_baz_81690ca61392fb1fc356cfda4809af0324e6edb42af1cc7a2d0bd8ebc801bc16_headers: -------------------------------------------------------------------------------- 1 | null: 2 | - HTTP/1.1 204 No Content 3 | Strict-Transport-Security: 4 | - max-age=31536000; includeSubDomains 5 | Cache-Control: 6 | - no-store 7 | Date: 8 | - Sun, 25 Dec 2022 19:53:12 GMT 9 | Content-Type: 10 | - application/json 11 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_secret2_withslash_somepath_bar_baz_930617bc5e108d37b99d29c0921937ecc5ec6b24412ce10cc37de6703710ef0a_headers: -------------------------------------------------------------------------------- 1 | null: 2 | - HTTP/1.1 204 No Content 3 | Strict-Transport-Security: 4 | - max-age=31536000; includeSubDomains 5 | Cache-Control: 6 | - no-store 7 | Date: 8 | - Sun, 25 Dec 2022 19:53:12 GMT 9 | Content-Type: 10 | - application/json 11 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_secret2_withslash_subpath_rename_459a4bfed6b6aa3dd228ed2bed6762080f57f41a128eeeb307c3bec847c9619e_headers: -------------------------------------------------------------------------------- 1 | null: 2 | - HTTP/1.1 204 No Content 3 | Strict-Transport-Security: 4 | - max-age=31536000; includeSubDomains 5 | Cache-Control: 6 | - no-store 7 | Date: 8 | - Sun, 25 Dec 2022 19:53:12 GMT 9 | Content-Type: 10 | - application/json 11 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_secret2_withslash_subpath_rename_bar_a3fe052154276f623aeed98bc5f30e8a3d272f34de5d9b8577679fa668606336_headers: -------------------------------------------------------------------------------- 1 | null: 2 | - HTTP/1.1 204 No Content 3 | Strict-Transport-Security: 4 | - max-age=31536000; includeSubDomains 5 | Cache-Control: 6 | - no-store 7 | Date: 8 | - Sun, 25 Dec 2022 19:53:12 GMT 9 | Content-Type: 10 | - application/json 11 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_secret_1d10ada45367f3c896e31dd45f758a0b7d077701fd11e39b2bc580ebdc5dbafa_headers: -------------------------------------------------------------------------------- 1 | null: 2 | - HTTP/1.1 200 OK 3 | Strict-Transport-Security: 4 | - max-age=31536000; includeSubDomains 5 | Cache-Control: 6 | - no-store 7 | Content-Length: 8 | - '241' 9 | Date: 10 | - Sun, 25 Dec 2022 19:53:12 GMT 11 | Content-Type: 12 | - application/json 13 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_kv2_withslash_metadata_somepath_bar_baz_81690ca61392fb1fc356cfda4809af0324e6edb42af1cc7a2d0bd8ebc801bc16_headers: -------------------------------------------------------------------------------- 1 | null: 2 | - HTTP/1.1 204 No Content 3 | Strict-Transport-Security: 4 | - max-age=31536000; includeSubDomains 5 | Cache-Control: 6 | - no-store 7 | Date: 8 | - Sun, 25 Dec 2022 19:53:12 GMT 9 | Content-Type: 10 | - application/json 11 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_kv_cas_config_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344_headers: -------------------------------------------------------------------------------- 1 | null: 2 | - HTTP/1.1 200 OK 3 | Strict-Transport-Security: 4 | - max-age=31536000; includeSubDomains 5 | Cache-Control: 6 | - no-store 7 | Content-Length: 8 | - '224' 9 | Date: 10 | - Sun, 25 Dec 2022 19:53:11 GMT 11 | Content-Type: 12 | - application/json 13 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_kv_config_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344_headers: -------------------------------------------------------------------------------- 1 | null: 2 | - HTTP/1.1 200 OK 3 | Strict-Transport-Security: 4 | - max-age=31536000; includeSubDomains 5 | Cache-Control: 6 | - no-store 7 | Content-Length: 8 | - '225' 9 | Date: 10 | - Sun, 25 Dec 2022 19:53:12 GMT 11 | Content-Type: 12 | - application/json 13 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_kv_data_foo_181aa9b10c786c793c578a736a9b4d64af05aff6942770c9c9b593e8859ee50d_headers: -------------------------------------------------------------------------------- 1 | null: 2 | - HTTP/1.1 200 OK 3 | Strict-Transport-Security: 4 | - max-age=31536000; includeSubDomains 5 | Cache-Control: 6 | - no-store 7 | Content-Length: 8 | - '279' 9 | Date: 10 | - Sat, 24 Dec 2022 13:48:19 GMT 11 | Content-Type: 12 | - application/json 13 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_kv_data_foo_2e0942f051b7fa555a6e88e9470d3f852718ad1f12b40b31d3ff02825311baf2_headers: -------------------------------------------------------------------------------- 1 | null: 2 | - HTTP/1.1 200 OK 3 | Strict-Transport-Security: 4 | - max-age=31536000; includeSubDomains 5 | Cache-Control: 6 | - no-store 7 | Content-Length: 8 | - '279' 9 | Date: 10 | - Sat, 24 Dec 2022 13:48:19 GMT 11 | Content-Type: 12 | - application/json 13 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_kv_metadata_1d10ada45367f3c896e31dd45f758a0b7d077701fd11e39b2bc580ebdc5dbafa_headers: -------------------------------------------------------------------------------- 1 | null: 2 | - HTTP/1.1 200 OK 3 | Strict-Transport-Security: 4 | - max-age=31536000; includeSubDomains 5 | Cache-Control: 6 | - no-store 7 | Content-Length: 8 | - '274' 9 | Date: 10 | - Sun, 25 Dec 2022 19:53:12 GMT 11 | Content-Type: 12 | - application/json 13 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_secret2_withslash_subpath_rename_bar_baz_930617bc5e108d37b99d29c0921937ecc5ec6b24412ce10cc37de6703710ef0a_headers: -------------------------------------------------------------------------------- 1 | null: 2 | - HTTP/1.1 204 No Content 3 | Strict-Transport-Security: 4 | - max-age=31536000; includeSubDomains 5 | Cache-Control: 6 | - no-store 7 | Date: 8 | - Sun, 25 Dec 2022 19:53:12 GMT 9 | Content-Type: 10 | - application/json 11 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_secret_foo_1d10ada45367f3c896e31dd45f758a0b7d077701fd11e39b2bc580ebdc5dbafa_headers: -------------------------------------------------------------------------------- 1 | null: 2 | - HTTP/1.1 200 OK 3 | Strict-Transport-Security: 4 | - max-age=31536000; includeSubDomains 5 | Cache-Control: 6 | - no-store 7 | Content-Length: 8 | - '181' 9 | Date: 10 | - Sun, 25 Dec 2022 19:53:12 GMT 11 | Content-Type: 12 | - application/json 13 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_secret_foo_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344_headers: -------------------------------------------------------------------------------- 1 | null: 2 | - HTTP/1.1 200 OK 3 | Strict-Transport-Security: 4 | - max-age=31536000; includeSubDomains 5 | Cache-Control: 6 | - no-store 7 | Content-Length: 8 | - '178' 9 | Date: 10 | - Sun, 25 Dec 2022 19:53:12 GMT 11 | Content-Type: 12 | - application/json 13 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_auth_approle_login_601c18e54d82759c3e921882c3d2b43cd04b0047496266993e23e0a9efd0595e_headers: -------------------------------------------------------------------------------- 1 | null: 2 | - HTTP/1.1 200 OK 3 | Strict-Transport-Security: 4 | - max-age=31536000; includeSubDomains 5 | Cache-Control: 6 | - no-store 7 | Content-Length: 8 | - '569' 9 | Date: 10 | - Thu, 29 Dec 2022 04:53:12 GMT 11 | Content-Type: 12 | - application/json 13 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_auth_approle_login_b2748060fd2945ff1d614b09959cb6acf51e0aeb526c7dd203e4c885967fb604_headers: -------------------------------------------------------------------------------- 1 | null: 2 | - HTTP/1.1 200 OK 3 | Strict-Transport-Security: 4 | - max-age=31536000; includeSubDomains 5 | Cache-Control: 6 | - no-store 7 | Content-Length: 8 | - '667' 9 | Date: 10 | - Thu, 29 Dec 2022 04:53:12 GMT 11 | Content-Type: 12 | - application/json 13 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_kv_data_foo_bar_5117fa1845635dee7c78b843ab8cf308d4f0634726c579450661dba28fe6f241_headers: -------------------------------------------------------------------------------- 1 | null: 2 | - HTTP/1.1 200 OK 3 | Strict-Transport-Security: 4 | - max-age=31536000; includeSubDomains 5 | Cache-Control: 6 | - no-store 7 | Content-Length: 8 | - '279' 9 | Date: 10 | - Sat, 24 Dec 2022 13:48:19 GMT 11 | Content-Type: 12 | - application/json 13 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_kv_data_v1_to_v2_c24d4da161d02cfde80788654206ec8b2620a2e986dacfe17e5b18d1e946bfd5_headers: -------------------------------------------------------------------------------- 1 | null: 2 | - HTTP/1.1 200 OK 3 | Strict-Transport-Security: 4 | - max-age=31536000; includeSubDomains 5 | Cache-Control: 6 | - no-store 7 | Content-Length: 8 | - '279' 9 | Date: 10 | - Sun, 25 Dec 2022 19:53:12 GMT 11 | Content-Type: 12 | - application/json 13 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_kv_data_v2_no_cas_91a27798d9b6ec991c4bea336e2b7b06fa35f76115652d0a346af6162c802ff5_headers: -------------------------------------------------------------------------------- 1 | null: 2 | - HTTP/1.1 200 OK 3 | Strict-Transport-Security: 4 | - max-age=31536000; includeSubDomains 5 | Cache-Control: 6 | - no-store 7 | Content-Length: 8 | - '279' 9 | Date: 10 | - Sun, 25 Dec 2022 19:53:12 GMT 11 | Content-Type: 12 | - application/json 13 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_kv_metadata_foo_1d10ada45367f3c896e31dd45f758a0b7d077701fd11e39b2bc580ebdc5dbafa_headers: -------------------------------------------------------------------------------- 1 | null: 2 | - HTTP/1.1 200 OK 3 | Strict-Transport-Security: 4 | - max-age=31536000; includeSubDomains 5 | Cache-Control: 6 | - no-store 7 | Content-Length: 8 | - '181' 9 | Date: 10 | - Sun, 25 Dec 2022 19:53:12 GMT 11 | Content-Type: 12 | - application/json 13 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_kv_metadata_foo_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344_headers: -------------------------------------------------------------------------------- 1 | null: 2 | - HTTP/1.1 200 OK 3 | Strict-Transport-Security: 4 | - max-age=31536000; includeSubDomains 5 | Cache-Control: 6 | - no-store 7 | Content-Length: 8 | - '578' 9 | Date: 10 | - Sun, 25 Dec 2022 19:53:12 GMT 11 | Content-Type: 12 | - application/json 13 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_secret2_withslash_1d10ada45367f3c896e31dd45f758a0b7d077701fd11e39b2bc580ebdc5dbafa_headers: -------------------------------------------------------------------------------- 1 | null: 2 | - HTTP/1.1 200 OK 3 | Strict-Transport-Security: 4 | - max-age=31536000; includeSubDomains 5 | Cache-Control: 6 | - no-store 7 | Content-Length: 8 | - '221' 9 | Date: 10 | - Sun, 25 Dec 2022 19:53:12 GMT 11 | Content-Type: 12 | - application/json 13 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_secret_foo2_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344_headers: -------------------------------------------------------------------------------- 1 | null: 2 | - HTTP/1.1 404 Not Found 3 | Strict-Transport-Security: 4 | - max-age=31536000; includeSubDomains 5 | Cache-Control: 6 | - no-store 7 | Content-Length: 8 | - '14' 9 | Date: 10 | - Sun, 25 Dec 2022 19:53:12 GMT 11 | Content-Type: 12 | - application/json 13 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_secret_foo_bar_1d10ada45367f3c896e31dd45f758a0b7d077701fd11e39b2bc580ebdc5dbafa_headers: -------------------------------------------------------------------------------- 1 | null: 2 | - HTTP/1.1 200 OK 3 | Strict-Transport-Security: 4 | - max-age=31536000; includeSubDomains 5 | Cache-Control: 6 | - no-store 7 | Content-Length: 8 | - '174' 9 | Date: 10 | - Sun, 25 Dec 2022 19:53:12 GMT 11 | Content-Type: 12 | - application/json 13 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_secret_foo_bar_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344_headers: -------------------------------------------------------------------------------- 1 | null: 2 | - HTTP/1.1 200 OK 3 | Strict-Transport-Security: 4 | - max-age=31536000; includeSubDomains 5 | Cache-Control: 6 | - no-store 7 | Content-Length: 8 | - '183' 9 | Date: 10 | - Sun, 25 Dec 2022 19:53:12 GMT 11 | Content-Type: 12 | - application/json 13 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_secret_foo_bar_baz_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344_headers: -------------------------------------------------------------------------------- 1 | null: 2 | - HTTP/1.1 200 OK 3 | Strict-Transport-Security: 4 | - max-age=31536000; includeSubDomains 5 | Cache-Control: 6 | - no-store 7 | Content-Length: 8 | - '181' 9 | Date: 10 | - Sun, 25 Dec 2022 19:53:12 GMT 11 | Content-Type: 12 | - application/json 13 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_sys_mounts_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344_headers: -------------------------------------------------------------------------------- 1 | Transfer-Encoding: 2 | - chunked 3 | null: 4 | - HTTP/1.1 200 OK 5 | Strict-Transport-Security: 6 | - max-age=31536000; includeSubDomains 7 | Cache-Control: 8 | - no-store 9 | Date: 10 | - Sun, 25 Dec 2022 19:53:12 GMT 11 | Content-Type: 12 | - application/json 13 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_auth_token_lookup-self_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344_headers: -------------------------------------------------------------------------------- 1 | null: 2 | - HTTP/1.1 200 OK 3 | Strict-Transport-Security: 4 | - max-age=31536000; includeSubDomains 5 | Cache-Control: 6 | - no-store 7 | Content-Length: 8 | - '698' 9 | Date: 10 | - Thu, 29 Dec 2022 04:53:12 GMT 11 | Content-Type: 12 | - application/json 13 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_auth_token_renew-self_ca97d3efe2b5d293d05dc344dd5159f0a9cd294abfb5f69170bbed6c49947da8_headers: -------------------------------------------------------------------------------- 1 | null: 2 | - HTTP/1.1 200 OK 3 | Strict-Transport-Security: 4 | - max-age=31536000; includeSubDomains 5 | Cache-Control: 6 | - no-store 7 | Content-Length: 8 | - '569' 9 | Date: 10 | - Thu, 29 Dec 2022 04:53:12 GMT 11 | Content-Type: 12 | - application/json 13 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_kv2_withslash_config_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344_headers: -------------------------------------------------------------------------------- 1 | null: 2 | - HTTP/1.1 200 OK 3 | Strict-Transport-Security: 4 | - max-age=31536000; includeSubDomains 5 | Cache-Control: 6 | - no-store 7 | Content-Length: 8 | - '225' 9 | Date: 10 | - Sun, 25 Dec 2022 19:53:12 GMT 11 | Content-Type: 12 | - application/json 13 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_kv2_withslash_metadata_1d10ada45367f3c896e31dd45f758a0b7d077701fd11e39b2bc580ebdc5dbafa_headers: -------------------------------------------------------------------------------- 1 | null: 2 | - HTTP/1.1 200 OK 3 | Strict-Transport-Security: 4 | - max-age=31536000; includeSubDomains 5 | Cache-Control: 6 | - no-store 7 | Content-Length: 8 | - '233' 9 | Date: 10 | - Sun, 25 Dec 2022 19:53:12 GMT 11 | Content-Type: 12 | - application/json 13 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_kv_data_foo_bar_baz_54d713ada8171adc5c0d5283595a23054b9f9581a354d867fb67028798058b24_headers: -------------------------------------------------------------------------------- 1 | null: 2 | - HTTP/1.1 200 OK 3 | Strict-Transport-Security: 4 | - max-age=31536000; includeSubDomains 5 | Cache-Control: 6 | - no-store 7 | Content-Length: 8 | - '278' 9 | Date: 10 | - Sat, 24 Dec 2022 13:48:19 GMT 11 | Content-Type: 12 | - application/json 13 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_kv_data_foo_version_0_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344_headers: -------------------------------------------------------------------------------- 1 | null: 2 | - HTTP/1.1 200 OK 3 | Strict-Transport-Security: 4 | - max-age=31536000; includeSubDomains 5 | Cache-Control: 6 | - no-store 7 | Content-Length: 8 | - '336' 9 | Date: 10 | - Sun, 25 Dec 2022 19:53:12 GMT 11 | Content-Type: 12 | - application/json 13 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_kv_data_foo_version_1_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344_headers: -------------------------------------------------------------------------------- 1 | null: 2 | - HTTP/1.1 200 OK 3 | Strict-Transport-Security: 4 | - max-age=31536000; includeSubDomains 5 | Cache-Control: 6 | - no-store 7 | Content-Length: 8 | - '317' 9 | Date: 10 | - Sun, 25 Dec 2022 19:53:12 GMT 11 | Content-Type: 12 | - application/json 13 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_kv_data_v2_force_cas_c24d4da161d02cfde80788654206ec8b2620a2e986dacfe17e5b18d1e946bfd5_headers: -------------------------------------------------------------------------------- 1 | null: 2 | - HTTP/1.1 200 OK 3 | Strict-Transport-Security: 4 | - max-age=31536000; includeSubDomains 5 | Cache-Control: 6 | - no-store 7 | Content-Length: 8 | - '279' 9 | Date: 10 | - Sun, 25 Dec 2022 19:53:12 GMT 11 | Content-Type: 12 | - application/json 13 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_kv_metadata_foo2_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344_headers: -------------------------------------------------------------------------------- 1 | null: 2 | - HTTP/1.1 404 Not Found 3 | Strict-Transport-Security: 4 | - max-age=31536000; includeSubDomains 5 | Cache-Control: 6 | - no-store 7 | Content-Length: 8 | - '14' 9 | Date: 10 | - Sun, 25 Dec 2022 19:53:12 GMT 11 | Content-Type: 12 | - application/json 13 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_kv_metadata_foo_bar_1d10ada45367f3c896e31dd45f758a0b7d077701fd11e39b2bc580ebdc5dbafa_headers: -------------------------------------------------------------------------------- 1 | null: 2 | - HTTP/1.1 200 OK 3 | Strict-Transport-Security: 4 | - max-age=31536000; includeSubDomains 5 | Cache-Control: 6 | - no-store 7 | Content-Length: 8 | - '174' 9 | Date: 10 | - Sun, 25 Dec 2022 19:53:12 GMT 11 | Content-Type: 12 | - application/json 13 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_kv_metadata_v2_to_v2_1d10ada45367f3c896e31dd45f758a0b7d077701fd11e39b2bc580ebdc5dbafa_headers: -------------------------------------------------------------------------------- 1 | null: 2 | - HTTP/1.1 200 OK 3 | Strict-Transport-Security: 4 | - max-age=31536000; includeSubDomains 5 | Cache-Control: 6 | - no-store 7 | Content-Length: 8 | - '179' 9 | Date: 10 | - Sun, 25 Dec 2022 19:53:12 GMT 11 | Content-Type: 12 | - application/json 13 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_secret2_withslash_1d10ada45367f3c896e31dd45f758a0b7d077701fd11e39b2bc580ebdc5dbafa: -------------------------------------------------------------------------------- 1 | request_id: 63a45d37-ad28-6458-8d82-d5d278614101 2 | lease_id: '' 3 | renewable: false 4 | lease_duration: 0 5 | data: 6 | keys: 7 | - rename 8 | - rename/ 9 | - somepath 10 | - somepath/ 11 | - subpath/ 12 | wrap_info: null 13 | warnings: null 14 | auth: null 15 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_kv2_withslash_data_deleteone_5208fb8232552e03fdeeb637f86b65228614b5eb85d803faba5530003691135a_headers: -------------------------------------------------------------------------------- 1 | null: 2 | - HTTP/1.1 200 OK 3 | Strict-Transport-Security: 4 | - max-age=31536000; includeSubDomains 5 | Cache-Control: 6 | - no-store 7 | Content-Length: 8 | - '278' 9 | Date: 10 | - Sun, 25 Dec 2022 19:53:12 GMT 11 | Content-Type: 12 | - application/json 13 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_kv2_withslash_data_deleteone_a6ec773563db6cc21aa6753453e7d33c19059fb3a63cfe8c52dd41122ec733a3_headers: -------------------------------------------------------------------------------- 1 | null: 2 | - HTTP/1.1 200 OK 3 | Strict-Transport-Security: 4 | - max-age=31536000; includeSubDomains 5 | Cache-Control: 6 | - no-store 7 | Content-Length: 8 | - '279' 9 | Date: 10 | - Sun, 25 Dec 2022 19:53:12 GMT 11 | Content-Type: 12 | - application/json 13 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_kv2_withslash_data_deleteone_b8ab2b39386be80e5503b9265ecd890ad40afed944a3238fbd585ecb77a06f3b_headers: -------------------------------------------------------------------------------- 1 | null: 2 | - HTTP/1.1 200 OK 3 | Strict-Transport-Security: 4 | - max-age=31536000; includeSubDomains 5 | Cache-Control: 6 | - no-store 7 | Content-Length: 8 | - '279' 9 | Date: 10 | - Sun, 25 Dec 2022 19:53:12 GMT 11 | Content-Type: 12 | - application/json 13 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_kv2_withslash_data_deleteone_c24d4da161d02cfde80788654206ec8b2620a2e986dacfe17e5b18d1e946bfd5_headers: -------------------------------------------------------------------------------- 1 | null: 2 | - HTTP/1.1 200 OK 3 | Strict-Transport-Security: 4 | - max-age=31536000; includeSubDomains 5 | Cache-Control: 6 | - no-store 7 | Content-Length: 8 | - '279' 9 | Date: 10 | - Sun, 25 Dec 2022 19:53:12 GMT 11 | Content-Type: 12 | - application/json 13 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_kv2_withslash_data_multitype_d0e51b1c9d787924056fe9d4cd41881cc4725ab2014cd7b2019c5e10036c71ff_headers: -------------------------------------------------------------------------------- 1 | null: 2 | - HTTP/1.1 200 OK 3 | Strict-Transport-Security: 4 | - max-age=31536000; includeSubDomains 5 | Cache-Control: 6 | - no-store 7 | Content-Length: 8 | - '279' 9 | Date: 10 | - Sun, 25 Dec 2022 19:13:56 GMT 11 | Content-Type: 12 | - application/json 13 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_kv2_withslash_data_multitype_fcee69e4526d4b81689bd92a90d525f18a763869125c3ac1271da84d7e05d674_headers: -------------------------------------------------------------------------------- 1 | null: 2 | - HTTP/1.1 200 OK 3 | Strict-Transport-Security: 4 | - max-age=31536000; includeSubDomains 5 | Cache-Control: 6 | - no-store 7 | Content-Length: 8 | - '279' 9 | Date: 10 | - Sun, 25 Dec 2022 19:53:12 GMT 11 | Content-Type: 12 | - application/json 13 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_kv2_withslash_data_rename_71d3940d9c908c667fb22e142cfa91443ee1d76342c70e3eec35f07dc7a264de_headers: -------------------------------------------------------------------------------- 1 | null: 2 | - HTTP/1.1 200 OK 3 | Strict-Transport-Security: 4 | - max-age=31536000; includeSubDomains 5 | Cache-Control: 6 | - no-store 7 | Content-Length: 8 | - '279' 9 | Date: 10 | - Sun, 25 Dec 2022 19:53:12 GMT 11 | Content-Type: 12 | - application/json 13 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_kv2_withslash_data_somepath_71d3940d9c908c667fb22e142cfa91443ee1d76342c70e3eec35f07dc7a264de_headers: -------------------------------------------------------------------------------- 1 | null: 2 | - HTTP/1.1 200 OK 3 | Strict-Transport-Security: 4 | - max-age=31536000; includeSubDomains 5 | Cache-Control: 6 | - no-store 7 | Content-Length: 8 | - '279' 9 | Date: 10 | - Sun, 25 Dec 2022 19:53:12 GMT 11 | Content-Type: 12 | - application/json 13 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_kv_cas_data_data_to_update_63ee32cd0f962f5b221d4f62df7376c953a4adb1baacdcc186c70448bf48fc09_headers: -------------------------------------------------------------------------------- 1 | null: 2 | - HTTP/1.1 200 OK 3 | Strict-Transport-Security: 4 | - max-age=31536000; includeSubDomains 5 | Cache-Control: 6 | - no-store 7 | Content-Length: 8 | - '278' 9 | Date: 10 | - Sun, 25 Dec 2022 19:53:12 GMT 11 | Content-Type: 12 | - application/json 13 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_kv_cas_data_data_to_update_d25179ca644943ea49d32f362eb9021b0fea788e8fc1f6f57294fbabc7d6d672_headers: -------------------------------------------------------------------------------- 1 | null: 2 | - HTTP/1.1 200 OK 3 | Strict-Transport-Security: 4 | - max-age=31536000; includeSubDomains 5 | Cache-Control: 6 | - no-store 7 | Content-Length: 8 | - '279' 9 | Date: 10 | - Sat, 24 Dec 2022 13:48:19 GMT 11 | Content-Type: 12 | - application/json 13 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_kv_cas_data_v2_detect_cas_71d3940d9c908c667fb22e142cfa91443ee1d76342c70e3eec35f07dc7a264de_headers: -------------------------------------------------------------------------------- 1 | null: 2 | - HTTP/1.1 200 OK 3 | Strict-Transport-Security: 4 | - max-age=31536000; includeSubDomains 5 | Cache-Control: 6 | - no-store 7 | Content-Length: 8 | - '279' 9 | Date: 10 | - Sun, 25 Dec 2022 19:53:12 GMT 11 | Content-Type: 12 | - application/json 13 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_kv_data_foo_bar_version_0_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344_headers: -------------------------------------------------------------------------------- 1 | null: 2 | - HTTP/1.1 200 OK 3 | Strict-Transport-Security: 4 | - max-age=31536000; includeSubDomains 5 | Cache-Control: 6 | - no-store 7 | Content-Length: 8 | - '318' 9 | Date: 10 | - Sun, 25 Dec 2022 19:53:12 GMT 11 | Content-Type: 12 | - application/json 13 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_kv_data_v2_force_cas_update_38b898c46cfb775e149e618a0502677824d6044a6911f9acf37313bb1b3f1bb5_headers: -------------------------------------------------------------------------------- 1 | null: 2 | - HTTP/1.1 200 OK 3 | Strict-Transport-Security: 4 | - max-age=31536000; includeSubDomains 5 | Cache-Control: 6 | - no-store 7 | Content-Length: 8 | - '279' 9 | Date: 10 | - Sun, 25 Dec 2022 19:53:12 GMT 11 | Content-Type: 12 | - application/json 13 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_kv_data_v2_force_cas_update_c24d4da161d02cfde80788654206ec8b2620a2e986dacfe17e5b18d1e946bfd5_headers: -------------------------------------------------------------------------------- 1 | null: 2 | - HTTP/1.1 200 OK 3 | Strict-Transport-Security: 4 | - max-age=31536000; includeSubDomains 5 | Cache-Control: 6 | - no-store 7 | Content-Length: 8 | - '279' 9 | Date: 10 | - Sat, 24 Dec 2022 13:48:19 GMT 11 | Content-Type: 12 | - application/json 13 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_kv_data_v2_to_v2_v2_to_v2_71d3940d9c908c667fb22e142cfa91443ee1d76342c70e3eec35f07dc7a264de_headers: -------------------------------------------------------------------------------- 1 | null: 2 | - HTTP/1.1 200 OK 3 | Strict-Transport-Security: 4 | - max-age=31536000; includeSubDomains 5 | Cache-Control: 6 | - no-store 7 | Content-Length: 8 | - '279' 9 | Date: 10 | - Sun, 25 Dec 2022 19:53:12 GMT 11 | Content-Type: 12 | - application/json 13 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_kv_data_v2_to_v2_version_1_71d3940d9c908c667fb22e142cfa91443ee1d76342c70e3eec35f07dc7a264de_headers: -------------------------------------------------------------------------------- 1 | null: 2 | - HTTP/1.1 200 OK 3 | Strict-Transport-Security: 4 | - max-age=31536000; includeSubDomains 5 | Cache-Control: 6 | - no-store 7 | Content-Length: 8 | - '279' 9 | Date: 10 | - Sun, 18 Dec 2022 19:42:17 GMT 11 | Content-Type: 12 | - application/json 13 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_kv_data_v2_to_v2_version_1_d25179ca644943ea49d32f362eb9021b0fea788e8fc1f6f57294fbabc7d6d672_headers: -------------------------------------------------------------------------------- 1 | null: 2 | - HTTP/1.1 200 OK 3 | Strict-Transport-Security: 4 | - max-age=31536000; includeSubDomains 5 | Cache-Control: 6 | - no-store 7 | Content-Length: 8 | - '279' 9 | Date: 10 | - Sun, 25 Dec 2022 19:53:12 GMT 11 | Content-Type: 12 | - application/json 13 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_kv_metadata_v1_to_v2_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344_headers: -------------------------------------------------------------------------------- 1 | null: 2 | - HTTP/1.1 404 Not Found 3 | Strict-Transport-Security: 4 | - max-age=31536000; includeSubDomains 5 | Cache-Control: 6 | - no-store 7 | Content-Length: 8 | - '14' 9 | Date: 10 | - Sun, 25 Dec 2022 19:53:12 GMT 11 | Content-Type: 12 | - application/json 13 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_secret2_withslash_multitype_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344_headers: -------------------------------------------------------------------------------- 1 | null: 2 | - HTTP/1.1 200 OK 3 | Strict-Transport-Security: 4 | - max-age=31536000; includeSubDomains 5 | Cache-Control: 6 | - no-store 7 | Content-Length: 8 | - '298' 9 | Date: 10 | - Sun, 25 Dec 2022 19:53:12 GMT 11 | Content-Type: 12 | - application/json 13 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_secret2_withslash_rename_1d10ada45367f3c896e31dd45f758a0b7d077701fd11e39b2bc580ebdc5dbafa_headers: -------------------------------------------------------------------------------- 1 | null: 2 | - HTTP/1.1 200 OK 3 | Strict-Transport-Security: 4 | - max-age=31536000; includeSubDomains 5 | Cache-Control: 6 | - no-store 7 | Content-Length: 8 | - '181' 9 | Date: 10 | - Sun, 25 Dec 2022 19:53:12 GMT 11 | Content-Type: 12 | - application/json 13 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_secret2_withslash_rename_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344_headers: -------------------------------------------------------------------------------- 1 | null: 2 | - HTTP/1.1 200 OK 3 | Strict-Transport-Security: 4 | - max-age=31536000; includeSubDomains 5 | Cache-Control: 6 | - no-store 7 | Content-Length: 8 | - '178' 9 | Date: 10 | - Sun, 25 Dec 2022 19:53:12 GMT 11 | Content-Type: 12 | - application/json 13 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_secret2_withslash_rename_bar_1d10ada45367f3c896e31dd45f758a0b7d077701fd11e39b2bc580ebdc5dbafa_headers: -------------------------------------------------------------------------------- 1 | null: 2 | - HTTP/1.1 200 OK 3 | Strict-Transport-Security: 4 | - max-age=31536000; includeSubDomains 5 | Cache-Control: 6 | - no-store 7 | Content-Length: 8 | - '174' 9 | Date: 10 | - Sun, 25 Dec 2022 19:53:12 GMT 11 | Content-Type: 12 | - application/json 13 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_secret2_withslash_rename_bar_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344_headers: -------------------------------------------------------------------------------- 1 | null: 2 | - HTTP/1.1 200 OK 3 | Strict-Transport-Security: 4 | - max-age=31536000; includeSubDomains 5 | Cache-Control: 6 | - no-store 7 | Content-Length: 8 | - '183' 9 | Date: 10 | - Sun, 25 Dec 2022 19:53:12 GMT 11 | Content-Type: 12 | - application/json 13 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_secret2_withslash_somepath_1d10ada45367f3c896e31dd45f758a0b7d077701fd11e39b2bc580ebdc5dbafa_headers: -------------------------------------------------------------------------------- 1 | null: 2 | - HTTP/1.1 200 OK 3 | Strict-Transport-Security: 4 | - max-age=31536000; includeSubDomains 5 | Cache-Control: 6 | - no-store 7 | Content-Length: 8 | - '181' 9 | Date: 10 | - Sun, 25 Dec 2022 19:53:12 GMT 11 | Content-Type: 12 | - application/json 13 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_kv2_withslash_data_destroyone_48a31cfb2350ea72dfd7c37cf6602a2e0de00ff54fce60b735b5565320e94115_headers: -------------------------------------------------------------------------------- 1 | null: 2 | - HTTP/1.1 200 OK 3 | Strict-Transport-Security: 4 | - max-age=31536000; includeSubDomains 5 | Cache-Control: 6 | - no-store 7 | Content-Length: 8 | - '279' 9 | Date: 10 | - Sun, 25 Dec 2022 19:53:12 GMT 11 | Content-Type: 12 | - application/json 13 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_kv2_withslash_data_destroyone_d25179ca644943ea49d32f362eb9021b0fea788e8fc1f6f57294fbabc7d6d672_headers: -------------------------------------------------------------------------------- 1 | null: 2 | - HTTP/1.1 200 OK 3 | Strict-Transport-Security: 4 | - max-age=31536000; includeSubDomains 5 | Cache-Control: 6 | - no-store 7 | Content-Length: 8 | - '278' 9 | Date: 10 | - Sun, 25 Dec 2022 19:53:12 GMT 11 | Content-Type: 12 | - application/json 13 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_kv2_withslash_data_emptysecret_4bf4be22d16ec0dc14963f5a0c0bc6897f1339bdb56e9ba4f00e526d961b0cbd_headers: -------------------------------------------------------------------------------- 1 | null: 2 | - HTTP/1.1 200 OK 3 | Strict-Transport-Security: 4 | - max-age=31536000; includeSubDomains 5 | Cache-Control: 6 | - no-store 7 | Content-Length: 8 | - '279' 9 | Date: 10 | - Sun, 25 Dec 2022 19:53:12 GMT 11 | Content-Type: 12 | - application/json 13 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_kv2_withslash_data_rename_bar_baz_7f4274e71e374ec0fc5ddb02074eb64c8b342da7ba5e98877960e1e28b33579c_headers: -------------------------------------------------------------------------------- 1 | null: 2 | - HTTP/1.1 200 OK 3 | Strict-Transport-Security: 4 | - max-age=31536000; includeSubDomains 5 | Cache-Control: 6 | - no-store 7 | Content-Length: 8 | - '279' 9 | Date: 10 | - Sun, 25 Dec 2022 19:53:12 GMT 11 | Content-Type: 12 | - application/json 13 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_kv2_withslash_data_rename_bar_f0852246de4656fabd817a6fbfa1ec935ffd7a55a0db0c408d8c202b4b91d4c5_headers: -------------------------------------------------------------------------------- 1 | null: 2 | - HTTP/1.1 200 OK 3 | Strict-Transport-Security: 4 | - max-age=31536000; includeSubDomains 5 | Cache-Control: 6 | - no-store 7 | Content-Length: 8 | - '279' 9 | Date: 10 | - Sun, 25 Dec 2022 19:53:12 GMT 11 | Content-Type: 12 | - application/json 13 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_kv2_withslash_data_somepath_bar_f0852246de4656fabd817a6fbfa1ec935ffd7a55a0db0c408d8c202b4b91d4c5_headers: -------------------------------------------------------------------------------- 1 | null: 2 | - HTTP/1.1 200 OK 3 | Strict-Transport-Security: 4 | - max-age=31536000; includeSubDomains 5 | Cache-Control: 6 | - no-store 7 | Content-Length: 8 | - '279' 9 | Date: 10 | - Sun, 25 Dec 2022 19:53:12 GMT 11 | Content-Type: 12 | - application/json 13 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_kv2_withslash_data_subpath_rename_c24d4da161d02cfde80788654206ec8b2620a2e986dacfe17e5b18d1e946bfd5_headers: -------------------------------------------------------------------------------- 1 | null: 2 | - HTTP/1.1 200 OK 3 | Strict-Transport-Security: 4 | - max-age=31536000; includeSubDomains 5 | Cache-Control: 6 | - no-store 7 | Content-Length: 8 | - '279' 9 | Date: 10 | - Sun, 25 Dec 2022 19:53:12 GMT 11 | Content-Type: 12 | - application/json 13 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_kv2_withslash_metadata_deleteone_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344_headers: -------------------------------------------------------------------------------- 1 | null: 2 | - HTTP/1.1 200 OK 3 | Strict-Transport-Security: 4 | - max-age=31536000; includeSubDomains 5 | Cache-Control: 6 | - no-store 7 | Content-Length: 8 | - '816' 9 | Date: 10 | - Sun, 25 Dec 2022 19:53:12 GMT 11 | Content-Type: 12 | - application/json 13 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_kv2_withslash_metadata_destroyone_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344_headers: -------------------------------------------------------------------------------- 1 | null: 2 | - HTTP/1.1 200 OK 3 | Strict-Transport-Security: 4 | - max-age=31536000; includeSubDomains 5 | Cache-Control: 6 | - no-store 7 | Content-Length: 8 | - '575' 9 | Date: 10 | - Sun, 25 Dec 2022 19:53:12 GMT 11 | Content-Type: 12 | - application/json 13 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_kv2_withslash_metadata_rename_1d10ada45367f3c896e31dd45f758a0b7d077701fd11e39b2bc580ebdc5dbafa_headers: -------------------------------------------------------------------------------- 1 | null: 2 | - HTTP/1.1 200 OK 3 | Strict-Transport-Security: 4 | - max-age=31536000; includeSubDomains 5 | Cache-Control: 6 | - no-store 7 | Content-Length: 8 | - '181' 9 | Date: 10 | - Sun, 25 Dec 2022 19:53:12 GMT 11 | Content-Type: 12 | - application/json 13 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_kv2_withslash_metadata_rename_bar_1d10ada45367f3c896e31dd45f758a0b7d077701fd11e39b2bc580ebdc5dbafa_headers: -------------------------------------------------------------------------------- 1 | null: 2 | - HTTP/1.1 200 OK 3 | Strict-Transport-Security: 4 | - max-age=31536000; includeSubDomains 5 | Cache-Control: 6 | - no-store 7 | Content-Length: 8 | - '174' 9 | Date: 10 | - Sun, 25 Dec 2022 19:53:12 GMT 11 | Content-Type: 12 | - application/json 13 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_kv2_withslash_metadata_somepath_1d10ada45367f3c896e31dd45f758a0b7d077701fd11e39b2bc580ebdc5dbafa_headers: -------------------------------------------------------------------------------- 1 | null: 2 | - HTTP/1.1 200 OK 3 | Strict-Transport-Security: 4 | - max-age=31536000; includeSubDomains 5 | Cache-Control: 6 | - no-store 7 | Content-Length: 8 | - '181' 9 | Date: 10 | - Sun, 25 Dec 2022 19:53:12 GMT 11 | Content-Type: 12 | - application/json 13 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_kv_cas_metadata_data_to_update_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344_headers: -------------------------------------------------------------------------------- 1 | null: 2 | - HTTP/1.1 200 OK 3 | Strict-Transport-Security: 4 | - max-age=31536000; includeSubDomains 5 | Cache-Control: 6 | - no-store 7 | Content-Length: 8 | - '487' 9 | Date: 10 | - Sun, 25 Dec 2022 19:53:12 GMT 11 | Content-Type: 12 | - application/json 13 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_kv_data_foo_bar_baz_version_0_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344_headers: -------------------------------------------------------------------------------- 1 | null: 2 | - HTTP/1.1 200 OK 3 | Strict-Transport-Security: 4 | - max-age=31536000; includeSubDomains 5 | Cache-Control: 6 | - no-store 7 | Content-Length: 8 | - '313' 9 | Date: 10 | - Sun, 25 Dec 2022 19:53:12 GMT 11 | Content-Type: 12 | - application/json 13 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_kv_metadata_v2_force_cas_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344_headers: -------------------------------------------------------------------------------- 1 | null: 2 | - HTTP/1.1 404 Not Found 3 | Strict-Transport-Security: 4 | - max-age=31536000; includeSubDomains 5 | Cache-Control: 6 | - no-store 7 | Content-Length: 8 | - '14' 9 | Date: 10 | - Sun, 25 Dec 2022 19:53:12 GMT 11 | Content-Type: 12 | - application/json 13 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_kv_metadata_v2_force_cas_update_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344_headers: -------------------------------------------------------------------------------- 1 | null: 2 | - HTTP/1.1 200 OK 3 | Strict-Transport-Security: 4 | - max-age=31536000; includeSubDomains 5 | Cache-Control: 6 | - no-store 7 | Content-Length: 8 | - '487' 9 | Date: 10 | - Sun, 25 Dec 2022 19:53:12 GMT 11 | Content-Type: 12 | - application/json 13 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_secret2_withslash_rename_bar_baz_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344_headers: -------------------------------------------------------------------------------- 1 | null: 2 | - HTTP/1.1 200 OK 3 | Strict-Transport-Security: 4 | - max-age=31536000; includeSubDomains 5 | Cache-Control: 6 | - no-store 7 | Content-Length: 8 | - '181' 9 | Date: 10 | - Sun, 25 Dec 2022 19:53:12 GMT 11 | Content-Type: 12 | - application/json 13 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_secret2_withslash_somepath_bar_1d10ada45367f3c896e31dd45f758a0b7d077701fd11e39b2bc580ebdc5dbafa_headers: -------------------------------------------------------------------------------- 1 | null: 2 | - HTTP/1.1 200 OK 3 | Strict-Transport-Security: 4 | - max-age=31536000; includeSubDomains 5 | Cache-Control: 6 | - no-store 7 | Content-Length: 8 | - '174' 9 | Date: 10 | - Sun, 25 Dec 2022 19:53:12 GMT 11 | Content-Type: 12 | - application/json 13 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_kv2_withslash_data_deleteone_version_2_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344_headers: -------------------------------------------------------------------------------- 1 | null: 2 | - HTTP/1.1 200 OK 3 | Strict-Transport-Security: 4 | - max-age=31536000; includeSubDomains 5 | Cache-Control: 6 | - no-store 7 | Content-Length: 8 | - '317' 9 | Date: 10 | - Sun, 25 Dec 2022 19:53:12 GMT 11 | Content-Type: 12 | - application/json 13 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_kv2_withslash_data_multitype_version_0_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344_headers: -------------------------------------------------------------------------------- 1 | null: 2 | - HTTP/1.1 200 OK 3 | Strict-Transport-Security: 4 | - max-age=31536000; includeSubDomains 5 | Cache-Control: 6 | - no-store 7 | Content-Length: 8 | - '435' 9 | Date: 10 | - Sun, 25 Dec 2022 19:53:12 GMT 11 | Content-Type: 12 | - application/json 13 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_kv2_withslash_data_rename_version_0_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344_headers: -------------------------------------------------------------------------------- 1 | null: 2 | - HTTP/1.1 200 OK 3 | Strict-Transport-Security: 4 | - max-age=31536000; includeSubDomains 5 | Cache-Control: 6 | - no-store 7 | Content-Length: 8 | - '336' 9 | Date: 10 | - Sun, 25 Dec 2022 19:53:12 GMT 11 | Content-Type: 12 | - application/json 13 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_kv2_withslash_data_somepath_bar_baz_7f4274e71e374ec0fc5ddb02074eb64c8b342da7ba5e98877960e1e28b33579c_headers: -------------------------------------------------------------------------------- 1 | null: 2 | - HTTP/1.1 200 OK 3 | Strict-Transport-Security: 4 | - max-age=31536000; includeSubDomains 5 | Cache-Control: 6 | - no-store 7 | Content-Length: 8 | - '279' 9 | Date: 10 | - Sun, 25 Dec 2022 19:53:12 GMT 11 | Content-Type: 12 | - application/json 13 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_kv2_withslash_data_subpath_rename_bar_94f561642173d204a46f64d14bd213cac09dfbef3e63b35175c47c9c8980bad4_headers: -------------------------------------------------------------------------------- 1 | null: 2 | - HTTP/1.1 200 OK 3 | Strict-Transport-Security: 4 | - max-age=31536000; includeSubDomains 5 | Cache-Control: 6 | - no-store 7 | Content-Length: 8 | - '279' 9 | Date: 10 | - Sun, 25 Dec 2022 19:53:12 GMT 11 | Content-Type: 12 | - application/json 13 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_kv2_withslash_metadata_rename_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344_headers: -------------------------------------------------------------------------------- 1 | null: 2 | - HTTP/1.1 404 Not Found 3 | Strict-Transport-Security: 4 | - max-age=31536000; includeSubDomains 5 | Cache-Control: 6 | - no-store 7 | Content-Length: 8 | - '14' 9 | Date: 10 | - Sun, 25 Dec 2022 19:53:12 GMT 11 | Content-Type: 12 | - application/json 13 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_kv2_withslash_metadata_somepath_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344_headers: -------------------------------------------------------------------------------- 1 | null: 2 | - HTTP/1.1 404 Not Found 3 | Strict-Transport-Security: 4 | - max-age=31536000; includeSubDomains 5 | Cache-Control: 6 | - no-store 7 | Content-Length: 8 | - '14' 9 | Date: 10 | - Sun, 25 Dec 2022 19:53:12 GMT 11 | Content-Type: 12 | - application/json 13 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_kv2_withslash_metadata_somepath_bar_1d10ada45367f3c896e31dd45f758a0b7d077701fd11e39b2bc580ebdc5dbafa_headers: -------------------------------------------------------------------------------- 1 | null: 2 | - HTTP/1.1 200 OK 3 | Strict-Transport-Security: 4 | - max-age=31536000; includeSubDomains 5 | Cache-Control: 6 | - no-store 7 | Content-Length: 8 | - '174' 9 | Date: 10 | - Sun, 25 Dec 2022 19:53:12 GMT 11 | Content-Type: 12 | - application/json 13 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_kv_cas_metadata_v2_detect_cas_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344_headers: -------------------------------------------------------------------------------- 1 | null: 2 | - HTTP/1.1 404 Not Found 3 | Strict-Transport-Security: 4 | - max-age=31536000; includeSubDomains 5 | Cache-Control: 6 | - no-store 7 | Content-Length: 8 | - '14' 9 | Date: 10 | - Sun, 25 Dec 2022 19:53:12 GMT 11 | Content-Type: 12 | - application/json 13 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_kv_metadata_v2_to_v2_v2_to_v2_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344_headers: -------------------------------------------------------------------------------- 1 | null: 2 | - HTTP/1.1 404 Not Found 3 | Strict-Transport-Security: 4 | - max-age=31536000; includeSubDomains 5 | Cache-Control: 6 | - no-store 7 | Content-Length: 8 | - '14' 9 | Date: 10 | - Sun, 25 Dec 2022 19:53:12 GMT 11 | Content-Type: 12 | - application/json 13 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_kv_metadata_v2_to_v2_version_1_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344_headers: -------------------------------------------------------------------------------- 1 | null: 2 | - HTTP/1.1 404 Not Found 3 | Strict-Transport-Security: 4 | - max-age=31536000; includeSubDomains 5 | Cache-Control: 6 | - no-store 7 | Content-Length: 8 | - '14' 9 | Date: 10 | - Sun, 25 Dec 2022 19:53:12 GMT 11 | Content-Type: 12 | - application/json 13 | -------------------------------------------------------------------------------- /sonarqube/docker-compose.yml: -------------------------------------------------------------------------------- 1 | version: '2.2' 2 | volumes: 3 | conf: 4 | extensions: 5 | data: 6 | services: 7 | sonarqube: 8 | init: true 9 | # https://hub.docker.com/_/sonarqube/ 10 | image: sonarqube:8.9.10-community 11 | volumes: 12 | - conf:/opt/sonarqube/conf 13 | - extensions:/opt/sonarqube/extensions 14 | - data:/opt/sonarqube/data 15 | ports: 16 | - 9000:9000 17 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_kv2_withslash_data_emptysecret_version_0_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344_headers: -------------------------------------------------------------------------------- 1 | null: 2 | - HTTP/1.1 200 OK 3 | Strict-Transport-Security: 4 | - max-age=31536000; includeSubDomains 5 | Cache-Control: 6 | - no-store 7 | Content-Length: 8 | - '302' 9 | Date: 10 | - Sun, 25 Dec 2022 19:53:12 GMT 11 | Content-Type: 12 | - application/json 13 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_kv2_withslash_data_rename_bar_baz_version_0_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344_headers: -------------------------------------------------------------------------------- 1 | null: 2 | - HTTP/1.1 200 OK 3 | Strict-Transport-Security: 4 | - max-age=31536000; includeSubDomains 5 | Cache-Control: 6 | - no-store 7 | Content-Length: 8 | - '313' 9 | Date: 10 | - Sun, 25 Dec 2022 19:53:12 GMT 11 | Content-Type: 12 | - application/json 13 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_kv2_withslash_data_rename_bar_version_0_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344_headers: -------------------------------------------------------------------------------- 1 | null: 2 | - HTTP/1.1 200 OK 3 | Strict-Transport-Security: 4 | - max-age=31536000; includeSubDomains 5 | Cache-Control: 6 | - no-store 7 | Content-Length: 8 | - '318' 9 | Date: 10 | - Sun, 25 Dec 2022 19:53:12 GMT 11 | Content-Type: 12 | - application/json 13 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_kv2_withslash_data_subpath_rename_bar_baz_aa7686bd9426935ff1f02301c3f883b7a0253b8cab2f63479b5b19c74eff5a5e_headers: -------------------------------------------------------------------------------- 1 | null: 2 | - HTTP/1.1 200 OK 3 | Strict-Transport-Security: 4 | - max-age=31536000; includeSubDomains 5 | Cache-Control: 6 | - no-store 7 | Content-Length: 8 | - '279' 9 | Date: 10 | - Sun, 25 Dec 2022 19:53:12 GMT 11 | Content-Type: 12 | - application/json 13 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_kv2_withslash_metadata_rename_bar_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344_headers: -------------------------------------------------------------------------------- 1 | null: 2 | - HTTP/1.1 404 Not Found 3 | Strict-Transport-Security: 4 | - max-age=31536000; includeSubDomains 5 | Cache-Control: 6 | - no-store 7 | Content-Length: 8 | - '14' 9 | Date: 10 | - Sun, 25 Dec 2022 19:53:12 GMT 11 | Content-Type: 12 | - application/json 13 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_kv2_withslash_metadata_rename_bar_baz_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344_headers: -------------------------------------------------------------------------------- 1 | null: 2 | - HTTP/1.1 404 Not Found 3 | Strict-Transport-Security: 4 | - max-age=31536000; includeSubDomains 5 | Cache-Control: 6 | - no-store 7 | Content-Length: 8 | - '14' 9 | Date: 10 | - Sun, 25 Dec 2022 19:53:12 GMT 11 | Content-Type: 12 | - application/json 13 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_kv2_withslash_metadata_somepath_bar_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344_headers: -------------------------------------------------------------------------------- 1 | null: 2 | - HTTP/1.1 404 Not Found 3 | Strict-Transport-Security: 4 | - max-age=31536000; includeSubDomains 5 | Cache-Control: 6 | - no-store 7 | Content-Length: 8 | - '14' 9 | Date: 10 | - Sun, 25 Dec 2022 19:53:12 GMT 11 | Content-Type: 12 | - application/json 13 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_kv2_withslash_metadata_subpath_rename_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344_headers: -------------------------------------------------------------------------------- 1 | null: 2 | - HTTP/1.1 404 Not Found 3 | Strict-Transport-Security: 4 | - max-age=31536000; includeSubDomains 5 | Cache-Control: 6 | - no-store 7 | Content-Length: 8 | - '14' 9 | Date: 10 | - Sun, 25 Dec 2022 19:53:12 GMT 11 | Content-Type: 12 | - application/json 13 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_secret_1d10ada45367f3c896e31dd45f758a0b7d077701fd11e39b2bc580ebdc5dbafa: -------------------------------------------------------------------------------- 1 | request_id: 2358d498-5e84-6db1-9d15-a3bc3c4676b7 2 | lease_id: '' 3 | renewable: false 4 | lease_duration: 0 5 | data: 6 | keys: 7 | - foo 8 | - foo/ 9 | - v1_set 10 | - v1_set_force_cas 11 | - v2_to_v1 12 | - v2_to_v1_version_1 13 | wrap_info: null 14 | warnings: null 15 | auth: null 16 | -------------------------------------------------------------------------------- /src/test/resources/mocks/api.github.com_app_installations_38741780_access_tokens_c140a1ff77d966128656d77ba4df790819ed7cf4ddc0351b462b73a17054c6b7: -------------------------------------------------------------------------------- 1 | token: some-token 2 | expires_at: '2523-02-18T22:51:47.533293Z' 3 | permissions: 4 | administration: read 5 | contents: read 6 | deployments: read 7 | metadata: read 8 | pull_requests: read 9 | repository_hooks: write 10 | statuses: write 11 | repository_selection: all 12 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_kv2_withslash_metadata_somepath_bar_baz_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344_headers: -------------------------------------------------------------------------------- 1 | null: 2 | - HTTP/1.1 404 Not Found 3 | Strict-Transport-Security: 4 | - max-age=31536000; includeSubDomains 5 | Cache-Control: 6 | - no-store 7 | Content-Length: 8 | - '14' 9 | Date: 10 | - Sun, 25 Dec 2022 19:53:12 GMT 11 | Content-Type: 12 | - application/json 13 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_kv2_withslash_metadata_subpath_rename_bar_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344_headers: -------------------------------------------------------------------------------- 1 | null: 2 | - HTTP/1.1 404 Not Found 3 | Strict-Transport-Security: 4 | - max-age=31536000; includeSubDomains 5 | Cache-Control: 6 | - no-store 7 | Content-Length: 8 | - '14' 9 | Date: 10 | - Sun, 25 Dec 2022 19:53:12 GMT 11 | Content-Type: 12 | - application/json 13 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_kv2_withslash_metadata_1d10ada45367f3c896e31dd45f758a0b7d077701fd11e39b2bc580ebdc5dbafa: -------------------------------------------------------------------------------- 1 | request_id: cf6265fb-0a65-fb51-29df-66a5fabbfb9e 2 | lease_id: '' 3 | renewable: false 4 | lease_duration: 0 5 | data: 6 | keys: 7 | - deleteone 8 | - rename 9 | - rename/ 10 | - somepath 11 | - somepath/ 12 | - subpath/ 13 | wrap_info: null 14 | warnings: null 15 | auth: null 16 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_kv2_withslash_metadata_subpath_rename_bar_baz_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344_headers: -------------------------------------------------------------------------------- 1 | null: 2 | - HTTP/1.1 404 Not Found 3 | Strict-Transport-Security: 4 | - max-age=31536000; includeSubDomains 5 | Cache-Control: 6 | - no-store 7 | Content-Length: 8 | - '14' 9 | Date: 10 | - Sun, 25 Dec 2022 19:53:12 GMT 11 | Content-Type: 12 | - application/json 13 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_kv_data_foo_181aa9b10c786c793c578a736a9b4d64af05aff6942770c9c9b593e8859ee50d: -------------------------------------------------------------------------------- 1 | request_id: a3b43e08-c80a-d565-ea50-79ee29b3ec95 2 | lease_id: '' 3 | renewable: false 4 | lease_duration: 0 5 | data: 6 | created_time: '2022-12-24T13:48:19.324023766Z' 7 | custom_metadata: null 8 | deletion_time: '' 9 | destroyed: false 10 | version: 1 11 | wrap_info: null 12 | warnings: null 13 | auth: null 14 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_kv_data_foo_2e0942f051b7fa555a6e88e9470d3f852718ad1f12b40b31d3ff02825311baf2: -------------------------------------------------------------------------------- 1 | request_id: 57c87305-91a3-ce85-71e0-74a59711b8ea 2 | lease_id: '' 3 | renewable: false 4 | lease_duration: 0 5 | data: 6 | created_time: '2022-12-24T13:48:19.327038693Z' 7 | custom_metadata: null 8 | deletion_time: '' 9 | destroyed: false 10 | version: 2 11 | wrap_info: null 12 | warnings: null 13 | auth: null 14 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_kv_data_foo_bar_5117fa1845635dee7c78b843ab8cf308d4f0634726c579450661dba28fe6f241: -------------------------------------------------------------------------------- 1 | request_id: f115cda0-8213-4d4b-e669-7111def63605 2 | lease_id: '' 3 | renewable: false 4 | lease_duration: 0 5 | data: 6 | created_time: '2022-12-24T13:48:19.330278858Z' 7 | custom_metadata: null 8 | deletion_time: '' 9 | destroyed: false 10 | version: 1 11 | wrap_info: null 12 | warnings: null 13 | auth: null 14 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_kv_data_foo_bar_baz_54d713ada8171adc5c0d5283595a23054b9f9581a354d867fb67028798058b24: -------------------------------------------------------------------------------- 1 | request_id: 4f047176-6e7b-717c-ec97-20d350c2fa72 2 | lease_id: '' 3 | renewable: false 4 | lease_duration: 0 5 | data: 6 | created_time: '2022-12-24T13:48:19.33353133Z' 7 | custom_metadata: null 8 | deletion_time: '' 9 | destroyed: false 10 | version: 1 11 | wrap_info: null 12 | warnings: null 13 | auth: null 14 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_kv_data_v1_to_v2_c24d4da161d02cfde80788654206ec8b2620a2e986dacfe17e5b18d1e946bfd5: -------------------------------------------------------------------------------- 1 | request_id: 7b742fcc-da9e-a7e3-e984-ab5601792210 2 | lease_id: '' 3 | renewable: false 4 | lease_duration: 0 5 | data: 6 | created_time: '2022-12-25T19:53:12.065660962Z' 7 | custom_metadata: null 8 | deletion_time: '' 9 | destroyed: false 10 | version: 1 11 | wrap_info: null 12 | warnings: null 13 | auth: null 14 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_kv_data_v2_no_cas_91a27798d9b6ec991c4bea336e2b7b06fa35f76115652d0a346af6162c802ff5: -------------------------------------------------------------------------------- 1 | request_id: 9557d1d8-af47-4eca-ce5f-2d31eb6d13dd 2 | lease_id: '' 3 | renewable: false 4 | lease_duration: 0 5 | data: 6 | created_time: '2022-12-25T19:53:12.123429644Z' 7 | custom_metadata: null 8 | deletion_time: '' 9 | destroyed: false 10 | version: 1 11 | wrap_info: null 12 | warnings: null 13 | auth: null 14 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_kv_data_v2_force_cas_c24d4da161d02cfde80788654206ec8b2620a2e986dacfe17e5b18d1e946bfd5: -------------------------------------------------------------------------------- 1 | request_id: f6d26e11-2d74-f897-4487-1d2992eb4c26 2 | lease_id: '' 3 | renewable: false 4 | lease_duration: 0 5 | data: 6 | created_time: '2022-12-25T19:53:12.131394693Z' 7 | custom_metadata: null 8 | deletion_time: '' 9 | destroyed: false 10 | version: 1 11 | wrap_info: null 12 | warnings: null 13 | auth: null 14 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_kv2_withslash_data_deleteone_5208fb8232552e03fdeeb637f86b65228614b5eb85d803faba5530003691135a: -------------------------------------------------------------------------------- 1 | request_id: 0a97b844-c937-7f7d-5d3c-24fdb6915bb8 2 | lease_id: '' 3 | renewable: false 4 | lease_duration: 0 5 | data: 6 | created_time: '2022-12-25T19:53:12.39878017Z' 7 | custom_metadata: null 8 | deletion_time: '' 9 | destroyed: false 10 | version: 4 11 | wrap_info: null 12 | warnings: null 13 | auth: null 14 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_kv2_withslash_data_deleteone_a6ec773563db6cc21aa6753453e7d33c19059fb3a63cfe8c52dd41122ec733a3: -------------------------------------------------------------------------------- 1 | request_id: f53a2f6c-0bdd-f73e-c6b3-7bc2bc72340a 2 | lease_id: '' 3 | renewable: false 4 | lease_duration: 0 5 | data: 6 | created_time: '2022-12-25T19:53:12.384077146Z' 7 | custom_metadata: null 8 | deletion_time: '' 9 | destroyed: false 10 | version: 3 11 | wrap_info: null 12 | warnings: null 13 | auth: null 14 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_kv2_withslash_data_deleteone_b8ab2b39386be80e5503b9265ecd890ad40afed944a3238fbd585ecb77a06f3b: -------------------------------------------------------------------------------- 1 | request_id: 5a56d620-6435-2e04-ca62-b97b56cb1462 2 | lease_id: '' 3 | renewable: false 4 | lease_duration: 0 5 | data: 6 | created_time: '2022-12-25T19:53:12.367636685Z' 7 | custom_metadata: null 8 | deletion_time: '' 9 | destroyed: false 10 | version: 2 11 | wrap_info: null 12 | warnings: null 13 | auth: null 14 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_kv2_withslash_data_deleteone_c24d4da161d02cfde80788654206ec8b2620a2e986dacfe17e5b18d1e946bfd5: -------------------------------------------------------------------------------- 1 | request_id: f842af60-f90f-b7f8-a500-3dd886714d97 2 | lease_id: '' 3 | renewable: false 4 | lease_duration: 0 5 | data: 6 | created_time: '2022-12-25T19:53:12.353169088Z' 7 | custom_metadata: null 8 | deletion_time: '' 9 | destroyed: false 10 | version: 1 11 | wrap_info: null 12 | warnings: null 13 | auth: null 14 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_kv2_withslash_data_destroyone_d25179ca644943ea49d32f362eb9021b0fea788e8fc1f6f57294fbabc7d6d672: -------------------------------------------------------------------------------- 1 | request_id: 33f5a320-c230-8a96-9f86-b4ba334e5edb 2 | lease_id: '' 3 | renewable: false 4 | lease_duration: 0 5 | data: 6 | created_time: '2022-12-25T19:53:12.58900936Z' 7 | custom_metadata: null 8 | deletion_time: '' 9 | destroyed: false 10 | version: 1 11 | wrap_info: null 12 | warnings: null 13 | auth: null 14 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_kv2_withslash_data_multitype_d0e51b1c9d787924056fe9d4cd41881cc4725ab2014cd7b2019c5e10036c71ff: -------------------------------------------------------------------------------- 1 | request_id: 01cfe763-c8fe-345a-d75f-fff015ff17c5 2 | lease_id: '' 3 | renewable: false 4 | lease_duration: 0 5 | data: 6 | created_time: '2022-12-25T19:13:56.332783592Z' 7 | custom_metadata: null 8 | deletion_time: '' 9 | destroyed: false 10 | version: 1 11 | wrap_info: null 12 | warnings: null 13 | auth: null 14 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_kv2_withslash_data_multitype_fcee69e4526d4b81689bd92a90d525f18a763869125c3ac1271da84d7e05d674: -------------------------------------------------------------------------------- 1 | request_id: 8636422e-7946-aa3d-7f4f-adcd821ddf1f 2 | lease_id: '' 3 | renewable: false 4 | lease_duration: 0 5 | data: 6 | created_time: '2022-12-25T19:53:12.614532036Z' 7 | custom_metadata: null 8 | deletion_time: '' 9 | destroyed: false 10 | version: 1 11 | wrap_info: null 12 | warnings: null 13 | auth: null 14 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_kv2_withslash_data_rename_71d3940d9c908c667fb22e142cfa91443ee1d76342c70e3eec35f07dc7a264de: -------------------------------------------------------------------------------- 1 | request_id: 3a0bd093-d12c-07a7-fe35-b79cd738707c 2 | lease_id: '' 3 | renewable: false 4 | lease_duration: 0 5 | data: 6 | created_time: '2022-12-25T19:53:12.184959581Z' 7 | custom_metadata: null 8 | deletion_time: '' 9 | destroyed: false 10 | version: 1 11 | wrap_info: null 12 | warnings: null 13 | auth: null 14 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_kv2_withslash_data_somepath_71d3940d9c908c667fb22e142cfa91443ee1d76342c70e3eec35f07dc7a264de: -------------------------------------------------------------------------------- 1 | request_id: 5f8ab988-255c-3262-5b0a-c359c73401a0 2 | lease_id: '' 3 | renewable: false 4 | lease_duration: 0 5 | data: 6 | created_time: '2022-12-25T19:53:12.464775306Z' 7 | custom_metadata: null 8 | deletion_time: '' 9 | destroyed: false 10 | version: 1 11 | wrap_info: null 12 | warnings: null 13 | auth: null 14 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_kv_cas_data_data_to_update_63ee32cd0f962f5b221d4f62df7376c953a4adb1baacdcc186c70448bf48fc09: -------------------------------------------------------------------------------- 1 | request_id: bc674132-091d-c4be-6280-78622ed0a360 2 | lease_id: '' 3 | renewable: false 4 | lease_duration: 0 5 | data: 6 | created_time: '2022-12-25T19:53:12.15745423Z' 7 | custom_metadata: null 8 | deletion_time: '' 9 | destroyed: false 10 | version: 2 11 | wrap_info: null 12 | warnings: null 13 | auth: null 14 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_kv_cas_data_data_to_update_d25179ca644943ea49d32f362eb9021b0fea788e8fc1f6f57294fbabc7d6d672: -------------------------------------------------------------------------------- 1 | request_id: 19f0b859-6a1a-a522-fb9d-750b12d94d15 2 | lease_id: '' 3 | renewable: false 4 | lease_duration: 0 5 | data: 6 | created_time: '2022-12-24T13:48:19.339021557Z' 7 | custom_metadata: null 8 | deletion_time: '' 9 | destroyed: false 10 | version: 1 11 | wrap_info: null 12 | warnings: null 13 | auth: null 14 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_kv_cas_data_v2_detect_cas_71d3940d9c908c667fb22e142cfa91443ee1d76342c70e3eec35f07dc7a264de: -------------------------------------------------------------------------------- 1 | request_id: 7050c759-5345-d894-d461-88e8a23ff745 2 | lease_id: '' 3 | renewable: false 4 | lease_duration: 0 5 | data: 6 | created_time: '2022-12-25T19:53:12.149209718Z' 7 | custom_metadata: null 8 | deletion_time: '' 9 | destroyed: false 10 | version: 1 11 | wrap_info: null 12 | warnings: null 13 | auth: null 14 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_kv_data_v2_force_cas_update_38b898c46cfb775e149e618a0502677824d6044a6911f9acf37313bb1b3f1bb5: -------------------------------------------------------------------------------- 1 | request_id: 062f3dbe-e824-0e4b-0c03-662046019373 2 | lease_id: '' 3 | renewable: false 4 | lease_duration: 0 5 | data: 6 | created_time: '2022-12-25T19:53:12.141869705Z' 7 | custom_metadata: null 8 | deletion_time: '' 9 | destroyed: false 10 | version: 2 11 | wrap_info: null 12 | warnings: null 13 | auth: null 14 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_kv_data_v2_force_cas_update_c24d4da161d02cfde80788654206ec8b2620a2e986dacfe17e5b18d1e946bfd5: -------------------------------------------------------------------------------- 1 | request_id: f1eea1b0-8515-70d9-72b8-230a422b136a 2 | lease_id: '' 3 | renewable: false 4 | lease_duration: 0 5 | data: 6 | created_time: '2022-12-24T13:48:19.321106891Z' 7 | custom_metadata: null 8 | deletion_time: '' 9 | destroyed: false 10 | version: 1 11 | wrap_info: null 12 | warnings: null 13 | auth: null 14 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_kv_data_v2_to_v2_v2_to_v2_71d3940d9c908c667fb22e142cfa91443ee1d76342c70e3eec35f07dc7a264de: -------------------------------------------------------------------------------- 1 | request_id: 8a3fa797-dbaa-f58e-99ca-9f1f7121a654 2 | lease_id: '' 3 | renewable: false 4 | lease_duration: 0 5 | data: 6 | created_time: '2022-12-25T19:53:12.096880161Z' 7 | custom_metadata: null 8 | deletion_time: '' 9 | destroyed: false 10 | version: 1 11 | wrap_info: null 12 | warnings: null 13 | auth: null 14 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_kv_data_v2_to_v2_version_1_71d3940d9c908c667fb22e142cfa91443ee1d76342c70e3eec35f07dc7a264de: -------------------------------------------------------------------------------- 1 | request_id: 1ecda23e-f231-c675-1b08-1c5de6f6aced 2 | lease_id: '' 3 | renewable: false 4 | lease_duration: 0 5 | data: 6 | created_time: '2022-12-18T19:42:17.744599792Z' 7 | custom_metadata: null 8 | deletion_time: '' 9 | destroyed: false 10 | version: 1 11 | wrap_info: null 12 | warnings: null 13 | auth: null 14 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_kv_data_v2_to_v2_version_1_d25179ca644943ea49d32f362eb9021b0fea788e8fc1f6f57294fbabc7d6d672: -------------------------------------------------------------------------------- 1 | request_id: e3924668-c366-0aeb-af73-0925670f022a 2 | lease_id: '' 3 | renewable: false 4 | lease_duration: 0 5 | data: 6 | created_time: '2022-12-25T19:53:12.112072617Z' 7 | custom_metadata: null 8 | deletion_time: '' 9 | destroyed: false 10 | version: 1 11 | wrap_info: null 12 | warnings: null 13 | auth: null 14 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | /.gradle 2 | /build 3 | 4 | # Ignore Gradle GUI config 5 | gradle-app.setting 6 | 7 | #ignore encryption keys 8 | id_rsa* 9 | 10 | #ignore groovyConsole logs when testing Jervis functions 11 | /src/main/*.log 12 | 13 | #ignore automatically copied libs 14 | /lib 15 | /bin/ 16 | 17 | /.vscode/settings.json 18 | 19 | /.vagrant 20 | 21 | *.swp 22 | *.hprof 23 | 24 | #ignore test scripts 25 | /*.groovy 26 | 27 | *.pem 28 | /.credentials 29 | -------------------------------------------------------------------------------- /src/test/resources/good_platforms_optional.json: -------------------------------------------------------------------------------- 1 | { 2 | "defaults": { 3 | "platform": "docker", 4 | "os": "ubuntu1404", 5 | "stability": "stable", 6 | "sudo": "sudo" 7 | }, 8 | "supported_platforms": { 9 | "docker": { 10 | "ubuntu1404": { 11 | "language": [], 12 | "toolchain": [] 13 | } 14 | } 15 | }, 16 | "restrictions": {} 17 | } 18 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_kv2_withslash_data_destroyone_48a31cfb2350ea72dfd7c37cf6602a2e0de00ff54fce60b735b5565320e94115: -------------------------------------------------------------------------------- 1 | request_id: a2288bc1-c36c-106b-b3b1-b73cc07fc1d8 2 | lease_id: '' 3 | renewable: false 4 | lease_duration: 0 5 | data: 6 | created_time: '2022-12-25T19:53:12.598861966Z' 7 | custom_metadata: null 8 | deletion_time: '' 9 | destroyed: false 10 | version: 2 11 | wrap_info: null 12 | warnings: null 13 | auth: null 14 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_kv2_withslash_data_emptysecret_4bf4be22d16ec0dc14963f5a0c0bc6897f1339bdb56e9ba4f00e526d961b0cbd: -------------------------------------------------------------------------------- 1 | request_id: 2718111c-90ce-514b-71b0-a9aae01601f4 2 | lease_id: '' 3 | renewable: false 4 | lease_duration: 0 5 | data: 6 | created_time: '2022-12-25T19:53:12.621394203Z' 7 | custom_metadata: null 8 | deletion_time: '' 9 | destroyed: false 10 | version: 1 11 | wrap_info: null 12 | warnings: null 13 | auth: null 14 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_kv2_withslash_data_rename_bar_baz_7f4274e71e374ec0fc5ddb02074eb64c8b342da7ba5e98877960e1e28b33579c: -------------------------------------------------------------------------------- 1 | request_id: ebc634ef-9fe3-0b04-589c-0c6009626a71 2 | lease_id: '' 3 | renewable: false 4 | lease_duration: 0 5 | data: 6 | created_time: '2022-12-25T19:53:12.208512416Z' 7 | custom_metadata: null 8 | deletion_time: '' 9 | destroyed: false 10 | version: 1 11 | wrap_info: null 12 | warnings: null 13 | auth: null 14 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_kv2_withslash_data_rename_bar_f0852246de4656fabd817a6fbfa1ec935ffd7a55a0db0c408d8c202b4b91d4c5: -------------------------------------------------------------------------------- 1 | request_id: e52e69f1-2f94-52b1-c7ea-e19c02adf200 2 | lease_id: '' 3 | renewable: false 4 | lease_duration: 0 5 | data: 6 | created_time: '2022-12-25T19:53:12.196055211Z' 7 | custom_metadata: null 8 | deletion_time: '' 9 | destroyed: false 10 | version: 1 11 | wrap_info: null 12 | warnings: null 13 | auth: null 14 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_kv2_withslash_data_somepath_bar_f0852246de4656fabd817a6fbfa1ec935ffd7a55a0db0c408d8c202b4b91d4c5: -------------------------------------------------------------------------------- 1 | request_id: 6997e9dc-9124-1e82-f515-fc737cba7a99 2 | lease_id: '' 3 | renewable: false 4 | lease_duration: 0 5 | data: 6 | created_time: '2022-12-25T19:53:12.474075734Z' 7 | custom_metadata: null 8 | deletion_time: '' 9 | destroyed: false 10 | version: 1 11 | wrap_info: null 12 | warnings: null 13 | auth: null 14 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_kv2_withslash_data_subpath_rename_c24d4da161d02cfde80788654206ec8b2620a2e986dacfe17e5b18d1e946bfd5: -------------------------------------------------------------------------------- 1 | request_id: b20f9d21-363a-6e6f-fe7a-3682eda2473d 2 | lease_id: '' 3 | renewable: false 4 | lease_duration: 0 5 | data: 6 | created_time: '2022-12-25T19:53:12.298012938Z' 7 | custom_metadata: null 8 | deletion_time: '' 9 | destroyed: false 10 | version: 1 11 | wrap_info: null 12 | warnings: null 13 | auth: null 14 | -------------------------------------------------------------------------------- /src/test/resources/mocks/api.github.com_app_installations_32854008_access_tokens_c140a1ff77d966128656d77ba4df790819ed7cf4ddc0351b462b73a17054c6b7: -------------------------------------------------------------------------------- 1 | token: some-token 2 | expires_at: '2523-02-18T22:51:47.529318Z' 3 | permissions: 4 | organization_hooks: write 5 | administration: read 6 | contents: read 7 | deployments: read 8 | metadata: read 9 | pull_requests: read 10 | repository_hooks: write 11 | statuses: write 12 | repository_selection: all 13 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_kv2_withslash_data_somepath_bar_baz_7f4274e71e374ec0fc5ddb02074eb64c8b342da7ba5e98877960e1e28b33579c: -------------------------------------------------------------------------------- 1 | request_id: 04eb236f-be16-5306-ae20-04f2455e0076 2 | lease_id: '' 3 | renewable: false 4 | lease_duration: 0 5 | data: 6 | created_time: '2022-12-25T19:53:12.483985657Z' 7 | custom_metadata: null 8 | deletion_time: '' 9 | destroyed: false 10 | version: 1 11 | wrap_info: null 12 | warnings: null 13 | auth: null 14 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_kv2_withslash_data_subpath_rename_bar_94f561642173d204a46f64d14bd213cac09dfbef3e63b35175c47c9c8980bad4: -------------------------------------------------------------------------------- 1 | request_id: 055354a7-f978-31b1-d845-f11f57a7c23d 2 | lease_id: '' 3 | renewable: false 4 | lease_duration: 0 5 | data: 6 | created_time: '2022-12-25T19:53:12.313292494Z' 7 | custom_metadata: null 8 | deletion_time: '' 9 | destroyed: false 10 | version: 1 11 | wrap_info: null 12 | warnings: null 13 | auth: null 14 | -------------------------------------------------------------------------------- /src/test/resources/bad_platforms_value_supported_platforms.json: -------------------------------------------------------------------------------- 1 | { 2 | "defaults": { 3 | "platform": "docker", 4 | "os": "ubuntu1404", 5 | "stability": "stable", 6 | "sudo": "sudo" 7 | }, 8 | "supported_platforms": "bad value", 9 | "restrictions": { 10 | "docker": { 11 | "only_organizations": ["samrocketman"], 12 | "only_projects": ["samrocketman/jervis"] 13 | } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_kv2_withslash_data_subpath_rename_bar_baz_aa7686bd9426935ff1f02301c3f883b7a0253b8cab2f63479b5b19c74eff5a5e: -------------------------------------------------------------------------------- 1 | request_id: d65d20ca-3064-8719-c57b-328474eb5328 2 | lease_id: '' 3 | renewable: false 4 | lease_duration: 0 5 | data: 6 | created_time: '2022-12-25T19:53:12.324835961Z' 7 | custom_metadata: null 8 | deletion_time: '' 9 | destroyed: false 10 | version: 1 11 | wrap_info: null 12 | warnings: null 13 | auth: null 14 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_kv_metadata_1d10ada45367f3c896e31dd45f758a0b7d077701fd11e39b2bc580ebdc5dbafa: -------------------------------------------------------------------------------- 1 | request_id: 3f22b058-e196-0663-69ce-d65b82ce808f 2 | lease_id: '' 3 | renewable: false 4 | lease_duration: 0 5 | data: 6 | keys: 7 | - foo 8 | - foo/ 9 | - v1_to_v2 10 | - v2_force_cas 11 | - v2_force_cas_update 12 | - v2_no_cas 13 | - v2_to_v2/ 14 | - v2_to_v2_version_1 15 | wrap_info: null 16 | warnings: null 17 | auth: null 18 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_kv_data_foo_version_1_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344: -------------------------------------------------------------------------------- 1 | request_id: 7a6b9586-9bb0-651b-e4a8-58fa86f55374 2 | lease_id: '' 3 | renewable: false 4 | lease_duration: 0 5 | data: 6 | data: 7 | hello: world 8 | metadata: 9 | created_time: '2022-12-25T19:53:11.574965802Z' 10 | custom_metadata: null 11 | deletion_time: '' 12 | destroyed: false 13 | version: 1 14 | wrap_info: null 15 | warnings: null 16 | auth: null 17 | -------------------------------------------------------------------------------- /src/test/resources/bad_platforms_supported_platforms_empty.json: -------------------------------------------------------------------------------- 1 | { 2 | "defaults": { 3 | "platform": "docker", 4 | "os": "ubuntu1404", 5 | "stability": "stable", 6 | "sudo": "sudo" 7 | }, 8 | "supported_platforms": { 9 | "docker": { 10 | } 11 | }, 12 | "restrictions": { 13 | "docker": { 14 | "only_organizations": ["samrocketman"], 15 | "only_projects": ["samrocketman/jervis"] 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_kv_data_foo_bar_baz_version_0_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344: -------------------------------------------------------------------------------- 1 | request_id: e378a34f-c445-2da4-2782-20bc5c120869 2 | lease_id: '' 3 | renewable: false 4 | lease_duration: 0 5 | data: 6 | data: 7 | foo: bar 8 | metadata: 9 | created_time: '2022-12-25T19:53:11.588075621Z' 10 | custom_metadata: null 11 | deletion_time: '' 12 | destroyed: false 13 | version: 1 14 | wrap_info: null 15 | warnings: null 16 | auth: null 17 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_kv_data_foo_bar_version_0_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344: -------------------------------------------------------------------------------- 1 | request_id: 75265207-fda1-7482-4a9f-522c9b5ff153 2 | lease_id: '' 3 | renewable: false 4 | lease_duration: 0 5 | data: 6 | data: 7 | hello: friend 8 | metadata: 9 | created_time: '2022-12-25T19:53:11.584228958Z' 10 | custom_metadata: null 11 | deletion_time: '' 12 | destroyed: false 13 | version: 1 14 | wrap_info: null 15 | warnings: null 16 | auth: null 17 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_kv2_withslash_data_emptysecret_version_0_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344: -------------------------------------------------------------------------------- 1 | request_id: 97612bba-7559-8e99-ed1b-dbbc671b6a6a 2 | lease_id: '' 3 | renewable: false 4 | lease_duration: 0 5 | data: 6 | data: { 7 | } 8 | metadata: 9 | created_time: '2022-12-25T19:53:12.621394203Z' 10 | custom_metadata: null 11 | deletion_time: '' 12 | destroyed: false 13 | version: 1 14 | wrap_info: null 15 | warnings: null 16 | auth: null 17 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_secret2_withslash_multitype_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344: -------------------------------------------------------------------------------- 1 | request_id: 4db1398c-d58f-e8f0-6656-00891b7cc74d 2 | lease_id: '' 3 | renewable: false 4 | lease_duration: 604800 5 | data: 6 | '%user': special symbol 7 | bool: true 8 | listkey: 9 | - 1 10 | - 2 11 | - 3 12 | mapkey: 13 | simple: submap 14 | nullkey: null 15 | number: 23 16 | validvar: somevalue 17 | wrap_info: null 18 | warnings: null 19 | auth: null 20 | -------------------------------------------------------------------------------- /SECURITY.md: -------------------------------------------------------------------------------- 1 | # Security Policy 2 | 3 | ## Supported Versions 4 | 5 | Versions currently supported with security updates. 6 | 7 | | Version | Supported | 8 | | ------- | ------------------ | 9 | | 2.1.x | :white_check_mark: | 10 | | 2.0.x | :white_check_mark: | 11 | | 1.0.x | :x: | 12 | | 0.1.x | :x: | 13 | 14 | ## Reporting a Vulnerability 15 | 16 | Report through [GitHub security tab][security]. 17 | 18 | [security]: https://github.com/samrocketman/jervis/security 19 | -------------------------------------------------------------------------------- /src/test/resources/bad_platforms_type_supported_platforms_defaults_platform.json: -------------------------------------------------------------------------------- 1 | { 2 | "defaults": { 3 | "platform": "docker", 4 | "os": "ubuntu1404", 5 | "stability": "stable", 6 | "sudo": "sudo" 7 | }, 8 | "supported_platforms": { 9 | "docker": "invalid" 10 | }, 11 | "restrictions": { 12 | "docker": { 13 | "only_organizations": ["samrocketman"], 14 | "only_projects": ["samrocketman/jervis"] 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_kv2_withslash_data_deleteone_version_2_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344: -------------------------------------------------------------------------------- 1 | request_id: 0971bef4-6368-51f6-c0b6-28f137714848 2 | lease_id: '' 3 | renewable: false 4 | lease_duration: 0 5 | data: 6 | data: 7 | hello: world 8 | metadata: 9 | created_time: '2022-12-25T19:53:12.367636685Z' 10 | custom_metadata: null 11 | deletion_time: '' 12 | destroyed: false 13 | version: 2 14 | wrap_info: null 15 | warnings: null 16 | auth: null 17 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_kv2_withslash_data_rename_bar_baz_version_0_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344: -------------------------------------------------------------------------------- 1 | request_id: 72e4b75c-2289-e671-9582-14d1ce3bf0ac 2 | lease_id: '' 3 | renewable: false 4 | lease_duration: 0 5 | data: 6 | data: 7 | foo: bar 8 | metadata: 9 | created_time: '2022-12-25T19:53:12.208512416Z' 10 | custom_metadata: null 11 | deletion_time: '' 12 | destroyed: false 13 | version: 1 14 | wrap_info: null 15 | warnings: null 16 | auth: null 17 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_kv2_withslash_data_rename_bar_version_0_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344: -------------------------------------------------------------------------------- 1 | request_id: aa4b97b4-ba73-3be2-d34c-7c9309ae408c 2 | lease_id: '' 3 | renewable: false 4 | lease_duration: 0 5 | data: 6 | data: 7 | hello: friend 8 | metadata: 9 | created_time: '2022-12-25T19:53:12.196055211Z' 10 | custom_metadata: null 11 | deletion_time: '' 12 | destroyed: false 13 | version: 1 14 | wrap_info: null 15 | warnings: null 16 | auth: null 17 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_kv_data_foo_version_0_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344: -------------------------------------------------------------------------------- 1 | request_id: d37b8e4c-8930-c07e-f13c-1378c01f408e 2 | lease_id: '' 3 | renewable: false 4 | lease_duration: 0 5 | data: 6 | data: 7 | another: secret 8 | hello: world 9 | metadata: 10 | created_time: '2022-12-25T19:53:11.579256652Z' 11 | custom_metadata: null 12 | deletion_time: '' 13 | destroyed: false 14 | version: 2 15 | wrap_info: null 16 | warnings: null 17 | auth: null 18 | -------------------------------------------------------------------------------- /src/test/resources/mocks/localhost_8081_repository_hosted-raw-repo_file.gz_802448649c5c3b5e84d8789cc565351a7e44add5d9ed7cf9d252e7273eb0b6d0_headers: -------------------------------------------------------------------------------- 1 | null: 2 | - HTTP/1.1 201 Created 3 | Server: 4 | - Nexus/3.60.0-02 (OSS) 5 | X-Content-Type-Options: 6 | - nosniff 7 | Content-Security-Policy: 8 | - sandbox allow-forms allow-modals allow-popups allow-presentation allow-scripts 9 | allow-top-navigation 10 | Content-Length: 11 | - '0' 12 | X-XSS-Protection: 13 | - 1; mode=block 14 | Date: 15 | - Tue, 03 Oct 2023 04:25:45 GMT 16 | -------------------------------------------------------------------------------- /src/test/resources/mocks/localhost_8081_repository_hosted-raw-repo_plain.txt_802448649c5c3b5e84d8789cc565351a7e44add5d9ed7cf9d252e7273eb0b6d0_headers: -------------------------------------------------------------------------------- 1 | null: 2 | - HTTP/1.1 201 Created 3 | Server: 4 | - Nexus/3.60.0-02 (OSS) 5 | X-Content-Type-Options: 6 | - nosniff 7 | Content-Security-Policy: 8 | - sandbox allow-forms allow-modals allow-popups allow-presentation allow-scripts 9 | allow-top-navigation 10 | Content-Length: 11 | - '0' 12 | X-XSS-Protection: 13 | - 1; mode=block 14 | Date: 15 | - Tue, 03 Oct 2023 05:23:08 GMT 16 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_kv2_withslash_data_rename_version_0_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344: -------------------------------------------------------------------------------- 1 | request_id: b52f57ba-d030-d873-ebf9-964898fb6d4a 2 | lease_id: '' 3 | renewable: false 4 | lease_duration: 0 5 | data: 6 | data: 7 | another: secret 8 | hello: world 9 | metadata: 10 | created_time: '2022-12-25T19:53:12.184959581Z' 11 | custom_metadata: null 12 | deletion_time: '' 13 | destroyed: false 14 | version: 1 15 | wrap_info: null 16 | warnings: null 17 | auth: null 18 | -------------------------------------------------------------------------------- /src/test/resources/mocks/www.example.com_doesnotexist_headers: -------------------------------------------------------------------------------- 1 | null: 2 | - HTTP/1.1 200 Ok 3 | Server: 4 | - ECS (oxr/830D) 5 | Last-Modified: 6 | - Fri, 16 Dec 2022 17:43:08 GMT 7 | Date: 8 | - Sat, 17 Dec 2022 02:54:17 GMT 9 | Accept-Ranges: 10 | - bytes 11 | Cache-Control: 12 | - max-age=604800 13 | Content-Encoding: 14 | - gzip 15 | Vary: 16 | - Accept-Encoding 17 | Expires: 18 | - Sat, 24 Dec 2022 02:54:17 GMT 19 | Content-Length: 20 | - '1256' 21 | Age: 22 | - '33069' 23 | Content-Type: 24 | - text/html; charset=UTF-8 25 | -------------------------------------------------------------------------------- /dependencytrack/dtrack.gradle: -------------------------------------------------------------------------------- 1 | //https://discuss.gradle.org/t/invoking-tasks-provided-by-a-plugin-without-altering-the-build-file/27235 2 | //https://github.com/gradle/gradle/issues/1322 3 | initscript { 4 | repositories { 5 | mavenCentral() 6 | maven { url 'https://jitpack.io' } 7 | } 8 | dependencies { 9 | classpath 'org.cyclonedx:cyclonedx-gradle-plugin:1.2.1' 10 | } 11 | } 12 | 13 | rootProject { 14 | apply plugin: 'java' 15 | apply plugin: 'maven-publish' 16 | apply plugin: org.cyclonedx.gradle.CycloneDxPlugin 17 | } 18 | -------------------------------------------------------------------------------- /src/test/resources/mocks/api.github.com_graphql_0f186475e5335fe3ff3cd4c7566ff0e66629ee234cf618c6cfec504f444d9f83: -------------------------------------------------------------------------------- 1 | { 2 | "data": { 3 | "gitRef0": { 4 | "jervisYaml0": null, 5 | "jervisYaml1": { 6 | "text": "mock response data" 7 | }, 8 | "rootFolder": { 9 | "file": [ 10 | { 11 | "name": ".travis.yml", 12 | "type": "blob" 13 | }, 14 | { 15 | "name": "README.md", 16 | "type": "blob" 17 | } 18 | ] 19 | } 20 | } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /src/test/resources/bad_toolchains_missing_toolchain.json: -------------------------------------------------------------------------------- 1 | { 2 | "toolchains": { 3 | "ruby": ["gemfile", "env", "rvm", "jdk"] 4 | }, 5 | "env": { 6 | "matrix": "advanced", 7 | "*": [ 8 | "export ${jervis_toolchain_ivalue}" 9 | ] 10 | }, 11 | "jdk": { 12 | "default_ivalue": "openjdk7", 13 | "openjdk7": [ 14 | "some commands" 15 | ] 16 | }, 17 | "rvm": { 18 | "default_ivalue": "1.9.3", 19 | "*": [ 20 | "some commands" 21 | ] 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/test/resources/mocks/www.example.com_doesnotexist2_headers: -------------------------------------------------------------------------------- 1 | null: 2 | - HTTP/1.1 404 Not Found 3 | X-Cache: 4 | - 404-HIT 5 | Server: 6 | - ECS (oxr/830D) 7 | Last-Modified: 8 | - Fri, 16 Dec 2022 17:43:08 GMT 9 | Date: 10 | - Sat, 17 Dec 2022 02:54:17 GMT 11 | Accept-Ranges: 12 | - bytes 13 | Cache-Control: 14 | - max-age=604800 15 | Content-Encoding: 16 | - gzip 17 | Vary: 18 | - Accept-Encoding 19 | Expires: 20 | - Sat, 24 Dec 2022 02:54:17 GMT 21 | Content-Length: 22 | - '1256' 23 | Age: 24 | - '33069' 25 | Content-Type: 26 | - text/html; charset=UTF-8 27 | -------------------------------------------------------------------------------- /src/test/resources/mocks/api.github.com_repos_samrocketman_jervis_branches_page_1: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "name": "gh-pages", 4 | "commit": { 5 | "sha": "1c41b81443a94438ad03c79729df7bbdecc04b7d", 6 | "url": "https://api.github.com/repos/samrocketman/jervis/commits/1c41b81443a94438ad03c79729df7bbdecc04b7d" 7 | } 8 | }, 9 | { 10 | "name": "main", 11 | "commit": { 12 | "sha": "c14e6f80e61b6bcb5ff8c7c1137f28d6e3391db7", 13 | "url": "https://api.github.com/repos/samrocketman/jervis/commits/c14e6f80e61b6bcb5ff8c7c1137f28d6e3391db7" 14 | } 15 | } 16 | ] 17 | -------------------------------------------------------------------------------- /gradle/jervis.gradle: -------------------------------------------------------------------------------- 1 | //Add due to deprecated Grab support 2 | //https://github.com/samrocketman/jervis/issues/60 3 | configurations { 4 | libs 5 | } 6 | dependencies { 7 | libs "org.yaml:snakeyaml:${snakeYamlVersion}" 8 | } 9 | 10 | task libs(type: Copy) { 11 | into 'lib' 12 | from configurations.libs 13 | } 14 | 15 | task cleanLibs(type: Delete) { 16 | delete 'lib' 17 | } 18 | clean.dependsOn cleanLibs 19 | 20 | //include the resources directory at the root of this repository 21 | sourceSets { 22 | test { 23 | resources { 24 | srcDir 'resources' 25 | } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /src/test/resources/bad_platforms_missing_root_defaults.json: -------------------------------------------------------------------------------- 1 | { 2 | "supported_platforms": { 3 | "docker": { 4 | "ubuntu1404": { 5 | "language": [ 6 | "groovy", 7 | "java", 8 | "python", 9 | "ruby" 10 | ], 11 | "toolchain": [ 12 | "env", 13 | "gemset", 14 | "rvm", 15 | "python", 16 | "jdk" 17 | ] 18 | } 19 | } 20 | }, 21 | "restrictions": {} 22 | } 23 | -------------------------------------------------------------------------------- /src/test/resources/good_lifecycles_partial_unstable.yaml: -------------------------------------------------------------------------------- 1 | java: 2 | friendlyName: Java 3 | defaultKey: gradlew 4 | gradlew: 5 | fileExistsCondition: gradlew 6 | fallbackKey: gradle 7 | install: ./gradlew assemble 8 | script: ./gradlew check 9 | gradle: 10 | fileExistsCondition: build.gradle 11 | fallbackKey: maven 12 | install: gradle assemble 13 | script: gradle check 14 | maven: 15 | fileExistsCondition: pom.xml 16 | fallbackKey: ant 17 | install: 'mvn install -DskipTests=true' 18 | script: mvn test 19 | ant: 20 | fileExistsCondition: build.xml 21 | script: ant test 22 | -------------------------------------------------------------------------------- /src/test/resources/bad_lifecycles_missing_fileExistsCondition.json: -------------------------------------------------------------------------------- 1 | { 2 | "ruby": { 3 | "friendlyName": "Ruby", 4 | "defaultKey": "rake1", 5 | "rake1": { 6 | "fallbackKey": "rake2", 7 | "env": "export BUNDLE_GEMFILE=$PWD/Gemfile", 8 | "install": "bundle install --jobs=3 --retry=3 --deployment", 9 | "script": "bundle exec rake" 10 | }, 11 | "rake2": { 12 | "env": "export BUNDLE_GEMFILE=$PWD/Gemfile", 13 | "install": "bundle install --jobs=3 --retry=3", 14 | "script": "bundle exec rake" 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/test/resources/mocks/api.github.com_graphql_37be24e4888e054916321189967ef4e5f42fe14569f5ee45229a27661e692618: -------------------------------------------------------------------------------- 1 | {"data":{"repository":{"jervisYaml":null,"travisYaml":{"text":"language: groovy"},"rootFolder":{"file":[{"name":".gitignore"},{"name":".travis.yml"},{"name":"CHANGELOG.md"},{"name":"CONTRIBUTING.md"},{"name":"LICENSE"},{"name":"NOTICE"},{"name":"README.md"},{"name":"RELEASE.md"},{"name":"STYLE_GUIDE.md"},{"name":"assemble.sh"},{"name":"assets"},{"name":"build.gradle"},{"name":"coveralls.sh"},{"name":"gradle.properties"},{"name":"gradle"},{"name":"gradlew"},{"name":"gradlew.bat"},{"name":"jobs"},{"name":"resources"},{"name":"src"},{"name":"vars"}]}}}} 2 | -------------------------------------------------------------------------------- /src/test/resources/mocks/api.github.com_graphql_4dd006f5da3f86694db573aa66cece0650601e750299f969034e9b07cd2d7512: -------------------------------------------------------------------------------- 1 | {"data":{"repository":{"jervisYaml":null,"travisYaml":{"text":"language: groovy"},"rootFolder":{"file":[{"name":".gitignore"},{"name":".travis.yml"},{"name":"CHANGELOG.md"},{"name":"CONTRIBUTING.md"},{"name":"LICENSE"},{"name":"NOTICE"},{"name":"README.md"},{"name":"RELEASE.md"},{"name":"STYLE_GUIDE.md"},{"name":"assemble.sh"},{"name":"assets"},{"name":"build.gradle"},{"name":"coveralls.sh"},{"name":"gradle.properties"},{"name":"gradle"},{"name":"gradlew"},{"name":"gradlew.bat"},{"name":"jobs"},{"name":"resources"},{"name":"src"},{"name":"vars"}]}}}} 2 | -------------------------------------------------------------------------------- /src/test/resources/mocks/api.github.com_graphql_5db4b7ded35bc094af976fe856040c6699c116195fb65725843849de95f2ecec: -------------------------------------------------------------------------------- 1 | {"data":{"repository":{"jervisYaml":null,"travisYaml":{"text":"language: groovy"},"rootFolder":{"file":[{"name":".gitignore"},{"name":".travis.yml"},{"name":"CHANGELOG.md"},{"name":"CONTRIBUTING.md"},{"name":"LICENSE"},{"name":"NOTICE"},{"name":"README.md"},{"name":"RELEASE.md"},{"name":"STYLE_GUIDE.md"},{"name":"assemble.sh"},{"name":"assets"},{"name":"build.gradle"},{"name":"coveralls.sh"},{"name":"gradle.properties"},{"name":"gradle"},{"name":"gradlew"},{"name":"gradlew.bat"},{"name":"jobs"},{"name":"resources"},{"name":"src"},{"name":"vars"}]}}}} 2 | -------------------------------------------------------------------------------- /src/test/resources/mocks/api.github.com_graphql_62903ca59bbd9758c8226d190b8b4e98960a39b20a3e93a511f9633aa4712f3e: -------------------------------------------------------------------------------- 1 | {"data":{"repository":{"jervisYaml":null,"travisYaml":{"text":"language: groovy"},"rootFolder":{"file":[{"name":".gitignore"},{"name":".travis.yml"},{"name":"CHANGELOG.md"},{"name":"CONTRIBUTING.md"},{"name":"LICENSE"},{"name":"NOTICE"},{"name":"README.md"},{"name":"RELEASE.md"},{"name":"STYLE_GUIDE.md"},{"name":"assemble.sh"},{"name":"assets"},{"name":"build.gradle"},{"name":"coveralls.sh"},{"name":"gradle.properties"},{"name":"gradle"},{"name":"gradlew"},{"name":"gradlew.bat"},{"name":"jobs"},{"name":"resources"},{"name":"src"},{"name":"vars"}]}}}} 2 | -------------------------------------------------------------------------------- /src/test/resources/mocks/api.github.com_graphql_8d979296f2b89c1ca8394223195177dbb0e7fdf63d4b06a02a0a61ffedbb6552: -------------------------------------------------------------------------------- 1 | {"data":{"repository":{"jervisYaml":null,"travisYaml":{"text":"language: groovy"},"rootFolder":{"file":[{"name":".gitignore"},{"name":".travis.yml"},{"name":"CHANGELOG.md"},{"name":"CONTRIBUTING.md"},{"name":"LICENSE"},{"name":"NOTICE"},{"name":"README.md"},{"name":"RELEASE.md"},{"name":"STYLE_GUIDE.md"},{"name":"assemble.sh"},{"name":"assets"},{"name":"build.gradle"},{"name":"coveralls.sh"},{"name":"gradle.properties"},{"name":"gradle"},{"name":"gradlew"},{"name":"gradlew.bat"},{"name":"jobs"},{"name":"resources"},{"name":"src"},{"name":"vars"}]}}}} 2 | -------------------------------------------------------------------------------- /src/test/resources/mocks/api.github.com_graphql_f5adbe19c74682353244cd4d03bfa5ad5fdc2d98d385f45ef881dd9c544124f6: -------------------------------------------------------------------------------- 1 | {"data":{"repository":{"jervisYaml":null,"travisYaml":{"text":"language: groovy"},"rootFolder":{"file":[{"name":".gitignore"},{"name":".travis.yml"},{"name":"CHANGELOG.md"},{"name":"CONTRIBUTING.md"},{"name":"LICENSE"},{"name":"NOTICE"},{"name":"README.md"},{"name":"RELEASE.md"},{"name":"STYLE_GUIDE.md"},{"name":"assemble.sh"},{"name":"assets"},{"name":"build.gradle"},{"name":"coveralls.sh"},{"name":"gradle.properties"},{"name":"gradle"},{"name":"gradlew"},{"name":"gradlew.bat"},{"name":"jobs"},{"name":"resources"},{"name":"src"},{"name":"vars"}]}}}} 2 | -------------------------------------------------------------------------------- /src/test/resources/bad_lifecycles_missing_friendlyName.json: -------------------------------------------------------------------------------- 1 | { 2 | "ruby": { 3 | "defaultKey": "rake1", 4 | "rake1": { 5 | "fileExistsCondition": "Gemfile.lock", 6 | "fallbackKey": "rake2", 7 | "env": "export BUNDLE_GEMFILE=$PWD/Gemfile", 8 | "install": "bundle install --jobs=3 --retry=3 --deployment", 9 | "script": "bundle exec rake" 10 | }, 11 | "rake2": { 12 | "env": "export BUNDLE_GEMFILE=$PWD/Gemfile", 13 | "install": "bundle install --jobs=3 --retry=3", 14 | "script": "bundle exec rake" 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/groovydoc/resources/highlightjs/README.md: -------------------------------------------------------------------------------- 1 | # Highlight JS 2 | 3 | This contains source generated from highlightjs intended for groovydoc. 4 | 5 | # Version 6 | 7 | highlightjs 11.7.0 8 | 9 | # Generated from 10 | 11 | https://highlightjs.org/download/ 12 | 13 | Languages: 14 | 15 | .properties 16 | Bash 17 | Groovy 18 | JSON 19 | Yaml 20 | 21 | Extraction: 22 | 23 | unzip ~/Downloads/highlight.zip highlight.min.js 24 | unzip ~/Downloads/highlight.zip styles/base16/harmonic16-dark.min.css 25 | 26 | 27 | # License 28 | 29 | [BSD Licensed][bsd] 30 | 31 | [bsd]: https://github.com/highlightjs/highlight.js/blob/main/LICENSE 32 | -------------------------------------------------------------------------------- /src/test/resources/bad_platforms_rootkey_defaults.json: -------------------------------------------------------------------------------- 1 | { 2 | "defaults": "badstring", 3 | "supported_platforms": { 4 | "docker": { 5 | "ubuntu1404": { 6 | "language": [ 7 | "groovy", 8 | "java", 9 | "python", 10 | "ruby" 11 | ], 12 | "toolchain": [ 13 | "env", 14 | "gemset", 15 | "rvm", 16 | "python", 17 | "jdk" 18 | ] 19 | } 20 | } 21 | }, 22 | "restrictions": {} 23 | } 24 | -------------------------------------------------------------------------------- /src/test/resources/bad_toolchains_missing_toolchains.json: -------------------------------------------------------------------------------- 1 | { 2 | "env": { 3 | "matrix": "advanced", 4 | "*": [ 5 | "export ${jervis_toolchain_ivalue}" 6 | ] 7 | }, 8 | "gemfile": { 9 | "default_ivalue": "${PWD}/Gemfile", 10 | "*": [ 11 | "export BUNDLE_GEMFILE=\"${jervis_toolchain_ivalue}\"" 12 | ] 13 | }, 14 | "jdk": { 15 | "default_ivalue": "openjdk7", 16 | "openjdk7": [ 17 | "some commands" 18 | ] 19 | }, 20 | "rvm": { 21 | "default_ivalue": "1.9.3", 22 | "*": [ 23 | "some commands" 24 | ] 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /src/test/resources/good_toolchains_matrix_added_toolchain.json: -------------------------------------------------------------------------------- 1 | { 2 | "toolchains": { 3 | "python": ["env", "python"] 4 | }, 5 | "env": { 6 | "matrix": "advanced", 7 | "*": [ 8 | "export ${jervis_toolchain_ivalue}" 9 | ] 10 | }, 11 | "jdk": { 12 | "default_ivalue": "openjdk11", 13 | "openjdk8": [ 14 | "foo" 15 | ], 16 | "openjdk11": [ 17 | "bar" 18 | ] 19 | }, 20 | "python": { 21 | "default_ivalue": "3.6", 22 | "2.7": [ 23 | "foo" 24 | ], 25 | "3.6": [ 26 | "bar" 27 | ] 28 | } 29 | } -------------------------------------------------------------------------------- /src/test/resources/mocks/localhost_8081_repository_hosted-raw-repo_plain.txt_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344_headers: -------------------------------------------------------------------------------- 1 | null: 2 | - HTTP/1.1 200 OK 3 | Server: 4 | - Nexus/3.60.0-02 (OSS) 5 | X-Content-Type-Options: 6 | - nosniff 7 | Content-Disposition: 8 | - attachment 9 | Content-Security-Policy: 10 | - sandbox allow-forms allow-modals allow-popups allow-presentation allow-scripts 11 | allow-top-navigation 12 | Last-Modified: 13 | - Tue, 03 Oct 2023 05:23:08 GMT 14 | Content-Length: 15 | - '21' 16 | X-XSS-Protection: 17 | - 1; mode=block 18 | Date: 19 | - Tue, 03 Oct 2023 05:29:04 GMT 20 | Content-Type: 21 | - text/plain 22 | -------------------------------------------------------------------------------- /src/test/resources/mocks/localhost_8081_repository_hosted-raw-repo_file.gz_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344_headers: -------------------------------------------------------------------------------- 1 | null: 2 | - HTTP/1.1 200 OK 3 | Server: 4 | - Nexus/3.60.0-02 (OSS) 5 | X-Content-Type-Options: 6 | - nosniff 7 | Content-Disposition: 8 | - attachment 9 | Content-Security-Policy: 10 | - sandbox allow-forms allow-modals allow-popups allow-presentation allow-scripts 11 | allow-top-navigation 12 | Last-Modified: 13 | - Tue, 03 Oct 2023 04:25:45 GMT 14 | Content-Length: 15 | - '43' 16 | X-XSS-Protection: 17 | - 1; mode=block 18 | Date: 19 | - Tue, 03 Oct 2023 05:06:19 GMT 20 | Content-Type: 21 | - application/x-gzip 22 | -------------------------------------------------------------------------------- /src/test/resources/bad_lifecycles_missing_defaultKey.json: -------------------------------------------------------------------------------- 1 | { 2 | "ruby": { 3 | "friendlyName": "Ruby", 4 | "defaultKey1": "rake1", 5 | "rake1": { 6 | "fileExistsCondition": "Gemfile.lock", 7 | "fallbackKey": "rake2", 8 | "env": "export BUNDLE_GEMFILE=$PWD/Gemfile", 9 | "install": "bundle install --jobs=3 --retry=3 --deployment", 10 | "script": "bundle exec rake" 11 | }, 12 | "rake2": { 13 | "env": "export BUNDLE_GEMFILE=$PWD/Gemfile", 14 | "install": "bundle install --jobs=3 --retry=3", 15 | "script": "bundle exec rake" 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/test/resources/bad_lifecycles_resolve_defaultKey.json: -------------------------------------------------------------------------------- 1 | { 2 | "ruby": { 3 | "friendlyName": "Ruby", 4 | "defaultKey": "rake3", 5 | "rake1": { 6 | "fileExistsCondition": "Gemfile.lock", 7 | "fallbackKey": "rake2", 8 | "env": "export BUNDLE_GEMFILE=$PWD/Gemfile", 9 | "install": "bundle install --jobs=3 --retry=3 --deployment", 10 | "script": "bundle exec rake" 11 | }, 12 | "rake2": { 13 | "env": "export BUNDLE_GEMFILE=$PWD/Gemfile", 14 | "install": "bundle install --jobs=3 --retry=3", 15 | "script": "bundle exec rake" 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/test/resources/bad_lifecycles_resolve_fallbackKey.json: -------------------------------------------------------------------------------- 1 | { 2 | "ruby": { 3 | "friendlyName": "Ruby", 4 | "defaultKey": "rake1", 5 | "rake1": { 6 | "fileExistsCondition": "Gemfile.lock", 7 | "fallbackKey": "rake3", 8 | "env": "export BUNDLE_GEMFILE=$PWD/Gemfile", 9 | "install": "bundle install --jobs=3 --retry=3 --deployment", 10 | "script": "bundle exec rake" 11 | }, 12 | "rake2": { 13 | "env": "export BUNDLE_GEMFILE=$PWD/Gemfile", 14 | "install": "bundle install --jobs=3 --retry=3", 15 | "script": "bundle exec rake" 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /src/test/resources/bad_toolchains_missing_default_ivalue.json: -------------------------------------------------------------------------------- 1 | { 2 | "toolchains": { 3 | "ruby": ["gemfile", "env", "rvm", "jdk"] 4 | }, 5 | "env": { 6 | "matrix": "advanced", 7 | "*": [ 8 | "export ${jervis_toolchain_ivalue}" 9 | ] 10 | }, 11 | "gemfile": { 12 | "default_ivalue": "${PWD}/Gemfile", 13 | "*": [ 14 | "export BUNDLE_GEMFILE=\"${jervis_toolchain_ivalue}\"" 15 | ] 16 | }, 17 | "jdk": { 18 | "default_ivalue": "openjdk7", 19 | "openjdk7": [ 20 | "some commands" 21 | ] 22 | }, 23 | "rvm": { 24 | "default_ivalue": "1.9.3" 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /src/test/resources/rsa_keys/rsa_secure_properties_map_test.yml: -------------------------------------------------------------------------------- 1 | language: java 2 | install: true 3 | script: 4 | - 'JERVIS_SECRETS_TEST="${JERVIS_SECRETS_TEST:-if you see this then the test failed}"' 5 | - 'echo "Secret hidden on console: ${JERVIS_SECRETS_TEST}"' 6 | jenkins: 7 | secrets_id: "jervis-secrets-test" 8 | secrets: 9 | JERVIS_SECRETS_TEST: 'g+hH/MqCUiwCC24Y/odA6GvIWKZ1sjIQi6V+ChGE1llRgmEQrIw5HFrzBf1W+4OAVPDvGayK3c+NmO0kEuLK/NAk5omDS+lInEJR8NvZaoze/4SWL/Jng39uZD0vPP4znzirYewY7qkIq8YNP3ccki8hmrBGdCAofTzw3eh5h78ZEFSL9gcGs9OIwqM0nWeOms9zZQmohSnOBLzhPLoWkqqBJtUp8W7EqR9ZdfzH042dS0eUIpdSnF+o1qqtfUdhpxSaBOjP9QXWpja0kihrhsu6LmxZHNKPCFNXDo2LU3AVsLREV/md0FmM7OxVR8pacwqpZ458dtUA2/pmki+EtQ==' 10 | -------------------------------------------------------------------------------- /resources/platforms.yaml: -------------------------------------------------------------------------------- 1 | defaults: 2 | platform: default 3 | os: ubuntu2204 4 | stability: stable 5 | sudo: sudo 6 | supported_platforms: 7 | default: &default-platform 8 | alpine3: 9 | friendlyName: Alpine 3.x 10 | language: 11 | - java 12 | - python 13 | - shell 14 | toolchain: 15 | - env 16 | - jdk 17 | - python 18 | ubuntu2204: 19 | friendlyName: Ubuntu 22.04 20 | language: 21 | - java 22 | - python 23 | - shell 24 | toolchain: 25 | - env 26 | - jdk 27 | - python 28 | amd64: *default-platform 29 | arm64: *default-platform 30 | restrictions: { 31 | } 32 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_kv_cas_metadata_data_to_update_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344: -------------------------------------------------------------------------------- 1 | request_id: 977e8289-a59a-228d-0a96-be45cb6634cc 2 | lease_id: '' 3 | renewable: false 4 | lease_duration: 0 5 | data: 6 | cas_required: false 7 | created_time: '2022-12-25T19:53:11.594104595Z' 8 | current_version: 1 9 | custom_metadata: null 10 | delete_version_after: 0s 11 | max_versions: 0 12 | oldest_version: 0 13 | updated_time: '2022-12-25T19:53:11.594104595Z' 14 | versions: 15 | '1': 16 | created_time: '2022-12-25T19:53:11.594104595Z' 17 | deletion_time: '' 18 | destroyed: false 19 | wrap_info: null 20 | warnings: null 21 | auth: null 22 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_kv_metadata_v2_force_cas_update_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344: -------------------------------------------------------------------------------- 1 | request_id: 904310e2-c317-0ffc-5b15-5305683b4546 2 | lease_id: '' 3 | renewable: false 4 | lease_duration: 0 5 | data: 6 | cas_required: false 7 | created_time: '2022-12-25T19:53:11.570073751Z' 8 | current_version: 1 9 | custom_metadata: null 10 | delete_version_after: 0s 11 | max_versions: 0 12 | oldest_version: 0 13 | updated_time: '2022-12-25T19:53:11.570073751Z' 14 | versions: 15 | '1': 16 | created_time: '2022-12-25T19:53:11.570073751Z' 17 | deletion_time: '' 18 | destroyed: false 19 | wrap_info: null 20 | warnings: null 21 | auth: null 22 | -------------------------------------------------------------------------------- /src/test/resources/rsa_keys/rsa_secure_properties_test.yml: -------------------------------------------------------------------------------- 1 | language: java 2 | install: true 3 | script: 4 | - 'JERVIS_SECRETS_TEST="${JERVIS_SECRETS_TEST:-if you see this then the test failed}"' 5 | - 'echo "Secret hidden on console: ${JERVIS_SECRETS_TEST}"' 6 | jenkins: 7 | secrets_id: "jervis-secrets-test" 8 | secrets: 9 | - key: "JERVIS_SECRETS_TEST" 10 | secret: 'lDjC1t95sDp05qM1MTL6hFRLFqIkr5aw5RUtuNu5VlIawg1edKPsv/B9p96QYSUeOI3cXpPpFHmSSArgMxp1x/hKHuYx0nqia7pwMGhEpJp5Qy1IKkV3d16LcGHUSuhlMn7ujSeCe18VNLPoECIUkCk+HAVEokyOQO8LgYOIPo/JdHpJQ4fqV4al6vYaozVPv4CEfh3+Bzr4NraxOG8yVIRGdz0VHnUBRXbezF6xZQE4hOq+DmqlFCmLSqRSlZDWE81z7L4tVZQCD6gex9TCLMKHZ5uOD2PeYkDBZpV0UpIkp34m6nTI1ZvwGR4JCGR3gNE936D9WP+LohFcz8ungw==' 11 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_kv2_withslash_data_multitype_version_0_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344: -------------------------------------------------------------------------------- 1 | request_id: 7c4863b2-bd3d-a3ca-bc16-52dc6e5b3a66 2 | lease_id: '' 3 | renewable: false 4 | lease_duration: 0 5 | data: 6 | data: 7 | '%user': special symbol 8 | bool: true 9 | listkey: 10 | - 1 11 | - 2 12 | - 3 13 | mapkey: 14 | simple: submap 15 | nullkey: null 16 | number: 23 17 | validvar: somevalue 18 | metadata: 19 | created_time: '2022-12-25T19:53:12.614532036Z' 20 | custom_metadata: null 21 | deletion_time: '' 22 | destroyed: false 23 | version: 1 24 | wrap_info: null 25 | warnings: null 26 | auth: null 27 | -------------------------------------------------------------------------------- /gradle/groovyTestCompilerConfig.groovy: -------------------------------------------------------------------------------- 1 | /** 2 | * I got some hints for how to do this at the following website. 3 | * https://dzone.com/articles/groovy-goodness-customizing-the-groovy-compiler 4 | */ 5 | import org.codehaus.groovy.control.customizers.ImportCustomizer 6 | 7 | if(Integer.parseInt(GroovySystem.version.tokenize('.').first()) >= 4) { 8 | // Groovy 4.0 and higher add missing imports for test compilation. 9 | def imports = new ImportCustomizer() 10 | imports.addImport('AntBuilder', 'groovy.ant.AntBuilder') 11 | imports.addImport('GroovyAssert', 'groovy.test.GroovyAssert') 12 | imports.addImport('GroovyTestCase', 'groovy.test.GroovyTestCase') 13 | configuration.addCompilationCustomizers(imports) 14 | } 15 | -------------------------------------------------------------------------------- /src/test/resources/bad_platforms_missing_root_restrictions.json: -------------------------------------------------------------------------------- 1 | { 2 | "defaults": { 3 | "platform": "docker", 4 | "os": "ubuntu1404", 5 | "stability": "stable", 6 | "sudo": "sudo" 7 | }, 8 | "supported_platforms": { 9 | "docker": { 10 | "ubuntu1404": { 11 | "language": [ 12 | "groovy", 13 | "java", 14 | "python", 15 | "ruby" 16 | ], 17 | "toolchain": [ 18 | "env", 19 | "gemset", 20 | "rvm", 21 | "python", 22 | "jdk" 23 | ] 24 | } 25 | } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_auth_approle_login_601c18e54d82759c3e921882c3d2b43cd04b0047496266993e23e0a9efd0595e: -------------------------------------------------------------------------------- 1 | request_id: 0c59046c-c5f7-1641-a2e6-8600667209a3 2 | lease_id: '' 3 | renewable: false 4 | lease_duration: 0 5 | data: null 6 | wrap_info: null 7 | warnings: null 8 | auth: 9 | client_token: hvs.CAESIEftQgLQe4uToWsJLL7C6XsBKCZbuku0HrmC6JFA-LqVGh4KHGh2cy5kNjF4bGN6cTRyOHNLcWFURjFxYm13VHk 10 | accessor: v7GC2pDjGtyiSu6YgZ2aOt8n 11 | policies: 12 | - my_role 13 | token_policies: 14 | - my_role 15 | metadata: 16 | role_name: my_approle_service 17 | lease_duration: 60 18 | renewable: true 19 | entity_id: 40dabc48-87eb-d28b-3f3d-02a4a43f27bf 20 | token_type: service 21 | orphan: true 22 | mfa_requirement: null 23 | num_uses: 0 24 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_auth_token_renew-self_ca97d3efe2b5d293d05dc344dd5159f0a9cd294abfb5f69170bbed6c49947da8: -------------------------------------------------------------------------------- 1 | request_id: 34596f5c-3872-708d-5778-f3740f463594 2 | lease_id: '' 3 | renewable: false 4 | lease_duration: 0 5 | data: null 6 | wrap_info: null 7 | warnings: null 8 | auth: 9 | client_token: hvs.CAESIEftQgLQe4uToWsJLL7C6XsBKCZbuku0HrmC6JFA-LqVGh4KHGh2cy5kNjF4bGN6cTRyOHNLcWFURjFxYm13VHk 10 | accessor: v7GC2pDjGtyiSu6YgZ2aOt8n 11 | policies: 12 | - my_role 13 | token_policies: 14 | - my_role 15 | metadata: 16 | role_name: my_approle_service 17 | lease_duration: 60 18 | renewable: true 19 | entity_id: 40dabc48-87eb-d28b-3f3d-02a4a43f27bf 20 | token_type: service 21 | orphan: true 22 | mfa_requirement: null 23 | num_uses: 0 24 | -------------------------------------------------------------------------------- /src/test/resources/bad_lifecycles_resolve_infinite_loop.json: -------------------------------------------------------------------------------- 1 | { 2 | "groovy": { 3 | "friendlyName": "Ruby", 4 | "defaultKey": "gradle", 5 | "gradle": { 6 | "fileExistsCondition": "build.gradle", 7 | "fallbackKey": "maven", 8 | "install": "gradle assemble", 9 | "script": "gradle check" 10 | }, 11 | "maven": { 12 | "fileExistsCondition": "pom.xml", 13 | "fallbackKey": "ant", 14 | "install": "mvn install -DskipTests=true", 15 | "script": "mvn test" 16 | }, 17 | "ant": { 18 | "fileExistsCondition": "build.xml", 19 | "fallbackKey": "gradle", 20 | "script": "ant test" 21 | } 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/test/resources/bad_platforms_rootkey_restrictions.json: -------------------------------------------------------------------------------- 1 | { 2 | "defaults": { 3 | "platform": "docker", 4 | "os": "ubuntu1404", 5 | "stability": "stable", 6 | "sudo": "sudo" 7 | }, 8 | "supported_platforms": { 9 | "docker": { 10 | "ubuntu1404": { 11 | "language": [ 12 | "groovy", 13 | "java", 14 | "python", 15 | "ruby" 16 | ], 17 | "toolchain": [ 18 | "env", 19 | "gemset", 20 | "rvm", 21 | "python", 22 | "jdk" 23 | ] 24 | } 25 | } 26 | }, 27 | "restrictions": "badstring" 28 | } 29 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_kv_metadata_foo_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344: -------------------------------------------------------------------------------- 1 | request_id: 79daa02c-b499-1bb6-2840-069d6fcbd70d 2 | lease_id: '' 3 | renewable: false 4 | lease_duration: 0 5 | data: 6 | cas_required: false 7 | created_time: '2022-12-25T19:53:11.574965802Z' 8 | current_version: 2 9 | custom_metadata: null 10 | delete_version_after: 0s 11 | max_versions: 0 12 | oldest_version: 0 13 | updated_time: '2022-12-25T19:53:11.579256652Z' 14 | versions: 15 | '1': 16 | created_time: '2022-12-25T19:53:11.574965802Z' 17 | deletion_time: '' 18 | destroyed: false 19 | '2': 20 | created_time: '2022-12-25T19:53:11.579256652Z' 21 | deletion_time: '' 22 | destroyed: false 23 | wrap_info: null 24 | warnings: null 25 | auth: null 26 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_kv2_withslash_metadata_destroyone_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344: -------------------------------------------------------------------------------- 1 | request_id: fee96cc3-fbbe-8d5f-1dc3-df6fce95b432 2 | lease_id: '' 3 | renewable: false 4 | lease_duration: 0 5 | data: 6 | cas_required: false 7 | created_time: '2022-12-25T19:53:12.58900936Z' 8 | current_version: 2 9 | custom_metadata: null 10 | delete_version_after: 0s 11 | max_versions: 0 12 | oldest_version: 0 13 | updated_time: '2022-12-25T19:53:12.598861966Z' 14 | versions: 15 | '1': 16 | created_time: '2022-12-25T19:53:12.58900936Z' 17 | deletion_time: '' 18 | destroyed: false 19 | '2': 20 | created_time: '2022-12-25T19:53:12.598861966Z' 21 | deletion_time: '' 22 | destroyed: true 23 | wrap_info: null 24 | warnings: null 25 | auth: null 26 | -------------------------------------------------------------------------------- /resources/lifecycles-alpine3-stable.yaml: -------------------------------------------------------------------------------- 1 | groovy: &java-like 2 | friendlyName: Groovy 3 | defaultKey: gradlew 4 | gradlew: 5 | fileExistsCondition: gradlew 6 | fallbackKey: gradle 7 | install: ./gradlew assemble 8 | script: ./gradlew check 9 | gradle: 10 | fileExistsCondition: build.gradle 11 | fallbackKey: maven 12 | install: gradle assemble 13 | script: gradle check 14 | maven: 15 | fileExistsCondition: pom.xml 16 | fallbackKey: ant 17 | install: mvn install -DskipTests=true 18 | script: mvn test 19 | ant: 20 | fileExistsCondition: build.xml 21 | script: ant test 22 | java: 23 | <<: *java-like 24 | friendlyName: Java 25 | python: 26 | friendlyName: Python 27 | defaultKey: none 28 | none: {} 29 | shell: 30 | friendlyName: Shell 31 | defaultKey: none 32 | none: {} 33 | -------------------------------------------------------------------------------- /src/test/resources/bad_platforms_type_restrictions_platform.json: -------------------------------------------------------------------------------- 1 | { 2 | "defaults": { 3 | "platform": "docker", 4 | "os": "ubuntu1404", 5 | "stability": "stable", 6 | "sudo": "sudo" 7 | }, 8 | "supported_platforms": { 9 | "docker": { 10 | "ubuntu1404": { 11 | "language": [ 12 | "groovy", 13 | "java", 14 | "python", 15 | "ruby" 16 | ], 17 | "toolchain": [ 18 | "env", 19 | "gemset", 20 | "rvm", 21 | "python", 22 | "jdk" 23 | ] 24 | } 25 | } 26 | }, 27 | "restrictions": { 28 | "docker": "invalid" 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /resources/lifecycles-ubuntu2204-stable.yaml: -------------------------------------------------------------------------------- 1 | groovy: &java-like 2 | friendlyName: Groovy 3 | defaultKey: gradlew 4 | gradlew: 5 | fileExistsCondition: gradlew 6 | fallbackKey: gradle 7 | install: ./gradlew assemble 8 | script: ./gradlew check 9 | gradle: 10 | fileExistsCondition: build.gradle 11 | fallbackKey: maven 12 | install: gradle assemble 13 | script: gradle check 14 | maven: 15 | fileExistsCondition: pom.xml 16 | fallbackKey: ant 17 | install: mvn install -DskipTests=true 18 | script: mvn test 19 | ant: 20 | fileExistsCondition: build.xml 21 | script: ant test 22 | java: 23 | <<: *java-like 24 | friendlyName: Java 25 | python: 26 | friendlyName: Python 27 | defaultKey: none 28 | none: {} 29 | shell: 30 | friendlyName: Shell 31 | defaultKey: none 32 | none: {} 33 | -------------------------------------------------------------------------------- /src/test/resources/bad_toolchains_formerly_good_toolchains_simple.json: -------------------------------------------------------------------------------- 1 | { 2 | "toolchains": { 3 | "java": ["env", "jdk"], 4 | "ruby": ["gemfile", "env", "rvm", "jdk"] 5 | }, 6 | "env": { 7 | "*": [ 8 | "export ${jervis_toolchain_ivalue}" 9 | ] 10 | }, 11 | "gemfile": { 12 | "default_ivalue": "${PWD}/Gemfile", 13 | "*": [ 14 | "export BUNDLE_GEMFILE=\"${jervis_toolchain_ivalue}\"" 15 | ] 16 | }, 17 | "jdk": { 18 | "default_ivalue": "openjdk7", 19 | "openjdk6": [ 20 | "more commands" 21 | ], 22 | "openjdk7": [ 23 | "some commands" 24 | ] 25 | }, 26 | "rvm": { 27 | "default_ivalue": "1.9.3", 28 | "*": [ 29 | "some commands" 30 | ] 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /src/test/resources/bad_toolchains_matrix_value.json: -------------------------------------------------------------------------------- 1 | { 2 | "toolchains": { 3 | "java": ["env", "jdk"], 4 | "ruby": ["gemfile", "env", "rvm", "jdk"] 5 | }, 6 | "env": { 7 | "matrix": "foo", 8 | "*": [ 9 | "export ${jervis_toolchain_ivalue}" 10 | ] 11 | }, 12 | "gemfile": { 13 | "default_ivalue": "${PWD}/Gemfile", 14 | "*": [ 15 | "export BUNDLE_GEMFILE=\"${jervis_toolchain_ivalue}\"" 16 | ] 17 | }, 18 | "jdk": { 19 | "default_ivalue": "openjdk7", 20 | "openjdk6": [ 21 | "more commands" 22 | ], 23 | "openjdk7": [ 24 | "some commands" 25 | ] 26 | }, 27 | "rvm": { 28 | "default_ivalue": "1.9.3", 29 | "*": [ 30 | "some commands" 31 | ] 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /src/test/resources/good_toolchains_disabled_env.json: -------------------------------------------------------------------------------- 1 | { 2 | "toolchains": { 3 | "java": ["env", "jdk"], 4 | "ruby": ["gemfile", "env", "rvm", "jdk"] 5 | }, 6 | "env": { 7 | "matrix": "disabled", 8 | "*": [ 9 | "export ${jervis_toolchain_ivalue}" 10 | ] 11 | }, 12 | "gemfile": { 13 | "default_ivalue": "${PWD}/Gemfile", 14 | "*": [ 15 | "export BUNDLE_GEMFILE=\"${jervis_toolchain_ivalue}\"" 16 | ] 17 | }, 18 | "jdk": { 19 | "default_ivalue": "openjdk7", 20 | "openjdk6": [ 21 | "more commands" 22 | ], 23 | "openjdk7": [ 24 | "some commands" 25 | ] 26 | }, 27 | "rvm": { 28 | "default_ivalue": "1.9.3", 29 | "*": [ 30 | "some commands" 31 | ] 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_auth_approle_login_b2748060fd2945ff1d614b09959cb6acf51e0aeb526c7dd203e4c885967fb604: -------------------------------------------------------------------------------- 1 | request_id: 80a40680-398c-9095-33be-1cf4c7d8cbe1 2 | lease_id: '' 3 | renewable: false 4 | lease_duration: 0 5 | data: null 6 | wrap_info: null 7 | warnings: null 8 | auth: 9 | client_token: hvb.AAAAAQJgxDgqsGNorpoOR7hPZ5SU-ynBvCl764jyRP_fnX7WvkdkDzGjbLNGdPdtlY33Als2P36yDZueqzfdGw9RsaTeaYXSH7E4RYSWuRoQ9YRKIw8o7mDDY2ZcT3KOB7RwtWEw1FN2eDqcy_sbCjXPaM1iBVH-mqMSYRmRd2nb5D1SJPeBzIYRqSglLc31wUGN7xEzyrKUczqOKsIcybQA 10 | accessor: '' 11 | policies: 12 | - my_role 13 | token_policies: 14 | - my_role 15 | metadata: 16 | role_name: my_approle_batch 17 | lease_duration: 30 18 | renewable: false 19 | entity_id: 00a79602-2a69-576d-19b5-fcbc50d42f02 20 | token_type: batch 21 | orphan: true 22 | mfa_requirement: null 23 | num_uses: 0 24 | -------------------------------------------------------------------------------- /src/main/groovy/net/gleske/jervis/remotes/interfaces/package-info.groovy: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2014-2025 Sam Gleske - https://github.com/samrocketman/jervis 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | /** 17 | Contains interfaces for remotes to implement. 18 | */ 19 | package net.gleske.jervis.remotes.interfaces 20 | -------------------------------------------------------------------------------- /assets/generate_secret.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | #Sam Gleske 3 | #Fri Feb 19 17:14:43 PST 2016 4 | 5 | #DESCRIPTION 6 | # Script to simplify appending secrets to .mortar.yml. 7 | 8 | #Run this script with no arguments for help doc. 9 | 10 | function help(){ 11 | cat <> .mortar.yml 20 | EOF 21 | } 22 | if [ "$#" = "1" ]; then 23 | echo "$1" | \ 24 | openssl rsautl -encrypt -inkey ./id_rsa.pub -pubin | \ 25 | openssl enc -base64 -A | \ 26 | sed -e 's/\(.*\)/ secret: "\1"/' 27 | elif [ $# = "2" ]; then 28 | echo $" - key: \"$1\"" 29 | echo "$2" | \ 30 | openssl rsautl -encrypt -inkey ./id_rsa.pub -pubin | \ 31 | openssl enc -base64 -A | \ 32 | sed -e 's/\(.*\)/ secret: "\1"/' 33 | else 34 | help 35 | fi 36 | -------------------------------------------------------------------------------- /src/test/resources/mocks/vault_8200_v1_auth_token_lookup-self_94cd1485322def4aff1733b599cf889ac1b65536a13aaa7e19963fa6c6cdd344: -------------------------------------------------------------------------------- 1 | request_id: e82e703b-e975-fe82-0955-e16ef4e9f1ce 2 | lease_id: '' 3 | renewable: false 4 | lease_duration: 0 5 | data: 6 | accessor: ctXoFqHoZUq2eOoTnRQnIhhb 7 | creation_time: 1672289592 8 | creation_ttl: 60 9 | display_name: approle 10 | entity_id: 40dabc48-87eb-d28b-3f3d-02a4a43f27bf 11 | expire_time: '2022-12-29T04:54:12.140639017Z' 12 | explicit_max_ttl: 0 13 | id: hvs.CAESIDNfT9a8ge4id9TlW_t5w5Y3DG9vFP3e9gdjgQGTcrv_Gh4KHGh2cy5wdDNiemhCYVVvd29Xazh0VXRQOWs1NjU 14 | issue_time: '2022-12-29T04:53:12.140642586Z' 15 | meta: 16 | role_name: my_approle_service 17 | num_uses: 0 18 | orphan: true 19 | path: auth/approle/login 20 | policies: 21 | - my_role 22 | renewable: true 23 | ttl: 60 24 | type: service 25 | wrap_info: null 26 | warnings: null 27 | auth: null 28 | -------------------------------------------------------------------------------- /src/test/resources/bad_platforms_missing_defaults_os.json: -------------------------------------------------------------------------------- 1 | { 2 | "defaults": { 3 | "platform": "docker", 4 | "stability": "stable", 5 | "sudo": "sudo" 6 | }, 7 | "supported_platforms": { 8 | "docker": { 9 | "ubuntu1404": { 10 | "language": [ 11 | "groovy", 12 | "java", 13 | "python", 14 | "ruby" 15 | ], 16 | "toolchain": [ 17 | "env", 18 | "gemset", 19 | "rvm", 20 | "python", 21 | "jdk" 22 | ] 23 | } 24 | } 25 | }, 26 | "restrictions": { 27 | "docker": { 28 | "only_organizations": ["samrocketman"], 29 | "only_projects": ["samrocketman/jervis"] 30 | } 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /src/test/resources/good_toolchains_simple.yaml: -------------------------------------------------------------------------------- 1 | toolchains: 2 | java: 3 | - env 4 | - jdk 5 | python: 6 | - env 7 | - python 8 | ruby: 9 | - gemfile 10 | - env 11 | - rvm 12 | - jdk 13 | shell: 14 | - env 15 | compiler: 16 | default_ivalue: gcc 17 | friendlyLabel: true 18 | gcc: |- 19 | export CXX="g++" 20 | export CC="gcc" 21 | clang: |- 22 | export CXX="clang++" 23 | export CC="clang" 24 | env: 25 | matrix: advanced 26 | '*': export ${jervis_toolchain_ivalue} 27 | gemfile: 28 | default_ivalue: ${PWD}/Gemfile 29 | '*': export BUNDLE_GEMFILE="${jervis_toolchain_ivalue}" 30 | jdk: 31 | default_ivalue: openjdk7 32 | openjdk6: more commands 33 | openjdk7: some commands 34 | python: 35 | default_ivalue: '2.7' 36 | matrix: advanced 37 | '2.6': more commands 38 | '2.7': some commands 39 | rvm: 40 | default_ivalue: 1.9.3 41 | '*': some commands 42 | -------------------------------------------------------------------------------- /src/test/resources/bad_platforms_missing_defaults_platform.json: -------------------------------------------------------------------------------- 1 | { 2 | "defaults": { 3 | "os": "ubuntu1404", 4 | "stability": "stable", 5 | "sudo": "sudo" 6 | }, 7 | "supported_platforms": { 8 | "docker": { 9 | "ubuntu1404": { 10 | "language": [ 11 | "groovy", 12 | "java", 13 | "python", 14 | "ruby" 15 | ], 16 | "toolchain": [ 17 | "env", 18 | "gemset", 19 | "rvm", 20 | "python", 21 | "jdk" 22 | ] 23 | } 24 | } 25 | }, 26 | "restrictions": { 27 | "docker": { 28 | "only_organizations": ["samrocketman"], 29 | "only_projects": ["samrocketman/jervis"] 30 | } 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /src/test/resources/bad_platforms_missing_defaults_stability.json: -------------------------------------------------------------------------------- 1 | { 2 | "defaults": { 3 | "platform": "docker", 4 | "os": "ubuntu1404", 5 | "sudo": "sudo" 6 | }, 7 | "supported_platforms": { 8 | "docker": { 9 | "ubuntu1404": { 10 | "language": [ 11 | "groovy", 12 | "java", 13 | "python", 14 | "ruby" 15 | ], 16 | "toolchain": [ 17 | "env", 18 | "gemset", 19 | "rvm", 20 | "python", 21 | "jdk" 22 | ] 23 | } 24 | } 25 | }, 26 | "restrictions": { 27 | "docker": { 28 | "only_organizations": ["samrocketman"], 29 | "only_projects": ["samrocketman/jervis"] 30 | } 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /src/test/resources/bad_platforms_missing_defaults_sudo.json: -------------------------------------------------------------------------------- 1 | { 2 | "defaults": { 3 | "platform": "docker", 4 | "os": "ubuntu1404", 5 | "stability": "stable" 6 | }, 7 | "supported_platforms": { 8 | "docker": { 9 | "ubuntu1404": { 10 | "language": [ 11 | "groovy", 12 | "java", 13 | "python", 14 | "ruby" 15 | ], 16 | "toolchain": [ 17 | "env", 18 | "gemset", 19 | "rvm", 20 | "python", 21 | "jdk" 22 | ] 23 | } 24 | } 25 | }, 26 | "restrictions": { 27 | "docker": { 28 | "only_organizations": ["samrocketman"], 29 | "only_projects": ["samrocketman/jervis"] 30 | } 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /src/test/resources/bad_toolchains_friendly.json: -------------------------------------------------------------------------------- 1 | { 2 | "toolchains": { 3 | "java": ["env", "jdk"], 4 | "ruby": ["gemfile", "env", "rvm", "jdk"] 5 | }, 6 | "env": { 7 | "matrix": "advanced", 8 | "*": [ 9 | "export ${jervis_toolchain_ivalue}" 10 | ] 11 | }, 12 | "gemfile": { 13 | "default_ivalue": "${PWD}/Gemfile", 14 | "*": [ 15 | "export BUNDLE_GEMFILE=\"${jervis_toolchain_ivalue}\"" 16 | ] 17 | }, 18 | "jdk": { 19 | "default_ivalue": "openjdk7", 20 | "friendlyLabel": 6, 21 | "openjdk6": [ 22 | "more commands" 23 | ], 24 | "openjdk7": [ 25 | "some commands" 26 | ] 27 | }, 28 | "rvm": { 29 | "default_ivalue": "1.9.3", 30 | "friendlyLabel": true, 31 | "*": [ 32 | "some commands" 33 | ] 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /src/test/resources/good_toolchains_friendly.json: -------------------------------------------------------------------------------- 1 | { 2 | "toolchains": { 3 | "java": ["env", "jdk"], 4 | "ruby": ["gemfile", "env", "rvm", "jdk"] 5 | }, 6 | "env": { 7 | "matrix": "advanced", 8 | "*": [ 9 | "export ${jervis_toolchain_ivalue}" 10 | ] 11 | }, 12 | "gemfile": { 13 | "default_ivalue": "${PWD}/Gemfile", 14 | "*": [ 15 | "export BUNDLE_GEMFILE=\"${jervis_toolchain_ivalue}\"" 16 | ] 17 | }, 18 | "jdk": { 19 | "default_ivalue": "openjdk7", 20 | "friendlyLabel": true, 21 | "openjdk6": [ 22 | "more commands" 23 | ], 24 | "openjdk7": [ 25 | "some commands" 26 | ] 27 | }, 28 | "rvm": { 29 | "default_ivalue": "1.9.3", 30 | "friendlyLabel": true, 31 | "*": [ 32 | "some commands" 33 | ] 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /vars/isPRBuild.groovy: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2014-2025 Sam Gleske - https://github.com/samrocketman/jervis 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | /* 17 | A pipeline interface to check if the current build is being done from a Git 18 | tag. Designed for multibranch pipeline jobs. 19 | */ 20 | 21 | @NonCPS 22 | Boolean call() { 23 | isBuilding(['pr']) 24 | } 25 | -------------------------------------------------------------------------------- /vars/isTagBuild.groovy: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2014-2025 Sam Gleske - https://github.com/samrocketman/jervis 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | /* 17 | A pipeline interface to check if the current build is being done from a Git 18 | tag. Designed for multibranch pipeline jobs. 19 | */ 20 | 21 | @NonCPS 22 | Boolean call() { 23 | isBuilding(['tag']) 24 | } 25 | -------------------------------------------------------------------------------- /src/test/resources/good_platforms_simple.json: -------------------------------------------------------------------------------- 1 | { 2 | "defaults": { 3 | "platform": "docker", 4 | "os": "ubuntu1404", 5 | "stability": "stable", 6 | "sudo": "sudo" 7 | }, 8 | "supported_platforms": { 9 | "docker": { 10 | "ubuntu1404": { 11 | "language": [ 12 | "groovy", 13 | "java", 14 | "python", 15 | "ruby" 16 | ], 17 | "toolchain": [ 18 | "env", 19 | "gemfile", 20 | "rvm", 21 | "python", 22 | "jdk" 23 | ] 24 | } 25 | } 26 | }, 27 | "restrictions": { 28 | "docker": { 29 | "only_organizations": ["samrocketman"], 30 | "only_projects": ["samrocketman/jervis"] 31 | } 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /src/test/resources/bad_platforms_type_defaults_os.json: -------------------------------------------------------------------------------- 1 | { 2 | "defaults": { 3 | "platform": true, 4 | "os": "ubuntu1404", 5 | "stability": "stable", 6 | "sudo": "sudo" 7 | }, 8 | "supported_platforms": { 9 | "docker": { 10 | "ubuntu1404": { 11 | "language": [ 12 | "groovy", 13 | "java", 14 | "python", 15 | "ruby" 16 | ], 17 | "toolchain": [ 18 | "env", 19 | "gemset", 20 | "rvm", 21 | "python", 22 | "jdk" 23 | ] 24 | } 25 | } 26 | }, 27 | "restrictions": { 28 | "docker": { 29 | "only_organizations": ["samrocketman"], 30 | "only_projects": ["samrocketman/jervis"] 31 | } 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /src/test/resources/bad_platforms_type_defaults_platform.json: -------------------------------------------------------------------------------- 1 | { 2 | "defaults": { 3 | "platform": "docker", 4 | "os": true, 5 | "stability": "stable", 6 | "sudo": "sudo" 7 | }, 8 | "supported_platforms": { 9 | "docker": { 10 | "ubuntu1404": { 11 | "language": [ 12 | "groovy", 13 | "java", 14 | "python", 15 | "ruby" 16 | ], 17 | "toolchain": [ 18 | "env", 19 | "gemset", 20 | "rvm", 21 | "python", 22 | "jdk" 23 | ] 24 | } 25 | } 26 | }, 27 | "restrictions": { 28 | "docker": { 29 | "only_organizations": ["samrocketman"], 30 | "only_projects": ["samrocketman/jervis"] 31 | } 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /src/test/resources/bad_platforms_type_defaults_stability.json: -------------------------------------------------------------------------------- 1 | { 2 | "defaults": { 3 | "platform": "docker", 4 | "os": "ubuntu1404", 5 | "stability": true, 6 | "sudo": "sudo" 7 | }, 8 | "supported_platforms": { 9 | "docker": { 10 | "ubuntu1404": { 11 | "language": [ 12 | "groovy", 13 | "java", 14 | "python", 15 | "ruby" 16 | ], 17 | "toolchain": [ 18 | "env", 19 | "gemset", 20 | "rvm", 21 | "python", 22 | "jdk" 23 | ] 24 | } 25 | } 26 | }, 27 | "restrictions": { 28 | "docker": { 29 | "only_organizations": ["samrocketman"], 30 | "only_projects": ["samrocketman/jervis"] 31 | } 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /src/test/resources/bad_platforms_type_defaults_sudo.json: -------------------------------------------------------------------------------- 1 | { 2 | "defaults": { 3 | "platform": "docker", 4 | "os": "ubuntu1404", 5 | "stability": "stable", 6 | "sudo": true 7 | }, 8 | "supported_platforms": { 9 | "docker": { 10 | "ubuntu1404": { 11 | "language": [ 12 | "groovy", 13 | "java", 14 | "python", 15 | "ruby" 16 | ], 17 | "toolchain": [ 18 | "env", 19 | "gemset", 20 | "rvm", 21 | "python", 22 | "jdk" 23 | ] 24 | } 25 | } 26 | }, 27 | "restrictions": { 28 | "docker": { 29 | "only_organizations": ["samrocketman"], 30 | "only_projects": ["samrocketman/jervis"] 31 | } 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /src/test/resources/bad_platforms_value_defaults_os.json: -------------------------------------------------------------------------------- 1 | { 2 | "defaults": { 3 | "platform": "docker", 4 | "os": "ubuntu1404", 5 | "stability": "stable", 6 | "sudo": "sudo" 7 | }, 8 | "supported_platforms": { 9 | "docker": { 10 | "centos6x": { 11 | "language": [ 12 | "groovy", 13 | "java", 14 | "python", 15 | "ruby" 16 | ], 17 | "toolchain": [ 18 | "env", 19 | "gemset", 20 | "rvm", 21 | "python", 22 | "jdk" 23 | ] 24 | } 25 | } 26 | }, 27 | "restrictions": { 28 | "docker": { 29 | "only_organizations": ["samrocketman"], 30 | "only_projects": ["samrocketman/jervis"] 31 | } 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /.devcontainer/devcontainer.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Jervis", 3 | "initializeCommand": "./.devcontainer/build-dependencytrack-snapshot.sh", 4 | "dockerComposeFile": ["docker-compose.yml"], 5 | "workspaceFolder": "/workspace/jervis", 6 | "service": "jervis", 7 | "extensions": [ 8 | "2gua.rainbow-brackets", 9 | "Gruntfuggly.todo-tree", 10 | "davehart.quick-run-panel", 11 | "marlon407.code-groovy", 12 | "mhutchie.git-graph", 13 | "naco-siren.gradle-language", 14 | "oderwat.indent-rainbow", 15 | "shardulm94.trailing-spaces", 16 | "vscjava.vscode-gradle", 17 | "vscjava.vscode-java-pack", 18 | "vscodevim.vim" 19 | ], 20 | "settings": { 21 | "trailing-spaces.deleteModifiedLinesOnly": true, 22 | "QuickRunPanel.includeDebugConfigs": false, 23 | "QuickRunPanel.taskSources": [ 24 | "Workspace" 25 | ] 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /src/test/resources/bad_platforms_value_defaults_platform.json: -------------------------------------------------------------------------------- 1 | { 2 | "defaults": { 3 | "platform": "docker", 4 | "os": "ubuntu1404", 5 | "stability": "stable", 6 | "sudo": "sudo" 7 | }, 8 | "supported_platforms": { 9 | "metal": { 10 | "ubuntu1404": { 11 | "language": [ 12 | "groovy", 13 | "java", 14 | "python", 15 | "ruby" 16 | ], 17 | "toolchain": [ 18 | "env", 19 | "gemset", 20 | "rvm", 21 | "python", 22 | "jdk" 23 | ] 24 | } 25 | } 26 | }, 27 | "restrictions": { 28 | "docker": { 29 | "only_organizations": ["samrocketman"], 30 | "only_projects": ["samrocketman/jervis"] 31 | } 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /src/test/resources/bad_platforms_value_defaults_sudo.json: -------------------------------------------------------------------------------- 1 | { 2 | "defaults": { 3 | "platform": "docker", 4 | "os": "ubuntu1404", 5 | "stability": "stable", 6 | "sudo": "invalid" 7 | }, 8 | "supported_platforms": { 9 | "docker": { 10 | "ubuntu1404": { 11 | "language": [ 12 | "groovy", 13 | "java", 14 | "python", 15 | "ruby" 16 | ], 17 | "toolchain": [ 18 | "env", 19 | "gemset", 20 | "rvm", 21 | "python", 22 | "jdk" 23 | ] 24 | } 25 | } 26 | }, 27 | "restrictions": { 28 | "docker": { 29 | "only_organizations": ["samrocketman"], 30 | "only_projects": ["samrocketman/jervis"] 31 | } 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /src/test/resources/bad_platforms_missing_restrictions_platform.json: -------------------------------------------------------------------------------- 1 | { 2 | "defaults": { 3 | "platform": "docker", 4 | "os": "ubuntu1404", 5 | "stability": "stable", 6 | "sudo": "sudo" 7 | }, 8 | "supported_platforms": { 9 | "docker": { 10 | "ubuntu1404": { 11 | "language": [ 12 | "groovy", 13 | "java", 14 | "python", 15 | "ruby" 16 | ], 17 | "toolchain": [ 18 | "env", 19 | "gemset", 20 | "rvm", 21 | "python", 22 | "jdk" 23 | ] 24 | } 25 | } 26 | }, 27 | "restrictions": { 28 | "metal": { 29 | "only_organizations": ["samrocketman"], 30 | "only_projects": ["samrocketman/jervis"] 31 | } 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /src/test/resources/bad_platforms_type_restrictions_platform_only_projects.json: -------------------------------------------------------------------------------- 1 | { 2 | "defaults": { 3 | "platform": "docker", 4 | "os": "ubuntu1404", 5 | "stability": "stable", 6 | "sudo": "sudo" 7 | }, 8 | "supported_platforms": { 9 | "docker": { 10 | "ubuntu1404": { 11 | "language": [ 12 | "groovy", 13 | "java", 14 | "python", 15 | "ruby" 16 | ], 17 | "toolchain": [ 18 | "env", 19 | "gemset", 20 | "rvm", 21 | "python", 22 | "jdk" 23 | ] 24 | } 25 | } 26 | }, 27 | "restrictions": { 28 | "docker": { 29 | "only_organizations": ["samrocketman"], 30 | "only_projects": "invalid" 31 | } 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /src/test/resources/bad_platforms_value_defaults_stability.json: -------------------------------------------------------------------------------- 1 | { 2 | "defaults": { 3 | "platform": "docker", 4 | "os": "ubuntu1404", 5 | "stability": "invalid", 6 | "sudo": "sudo" 7 | }, 8 | "supported_platforms": { 9 | "docker": { 10 | "ubuntu1404": { 11 | "language": [ 12 | "groovy", 13 | "java", 14 | "python", 15 | "ruby" 16 | ], 17 | "toolchain": [ 18 | "env", 19 | "gemset", 20 | "rvm", 21 | "python", 22 | "jdk" 23 | ] 24 | } 25 | } 26 | }, 27 | "restrictions": { 28 | "docker": { 29 | "only_organizations": ["samrocketman"], 30 | "only_projects": ["samrocketman/jervis"] 31 | } 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /src/test/resources/bad_platforms_type_restrictions_platform_only_organizations.json: -------------------------------------------------------------------------------- 1 | { 2 | "defaults": { 3 | "platform": "docker", 4 | "os": "ubuntu1404", 5 | "stability": "stable", 6 | "sudo": "sudo" 7 | }, 8 | "supported_platforms": { 9 | "docker": { 10 | "ubuntu1404": { 11 | "language": [ 12 | "groovy", 13 | "java", 14 | "python", 15 | "ruby" 16 | ], 17 | "toolchain": [ 18 | "env", 19 | "gemset", 20 | "rvm", 21 | "python", 22 | "jdk" 23 | ] 24 | } 25 | } 26 | }, 27 | "restrictions": { 28 | "docker": { 29 | "only_organizations": "invalid", 30 | "only_projects": ["samrocketman/jervis"] 31 | } 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /src/test/resources/rsa_keys/bad_id_rsa_1024: -------------------------------------------------------------------------------- 1 | -----BEGIN RSA PRIVATE KEY----- 2 | MIICXQIBAAKBgQCmDT2vGthvevV7QbZygYowDsIfmpFFDyAl5UmF3aDFxgKnFrQW 3 | Ro0tc/mjo0sJC3w4DH3/oe0EQPYqL5bzCDSE4dTiA5i26dwvROQGFpOvh9ks4691 4 | zoJ/yUnBDD1DxZh0CC4jzb1OBfp1VnF9pGAMXHzor7LLnKUXWnf+PLKJ4wIDAQAB 5 | AoGBAKF5KszGvEXcOi87/aFoGusUzu1Qr4eKZ+ayC0cj+B2aqiW1zDYFMXBL4Syh 6 | tGv9QTR34WbfHc8PJNJtKMr45afpAJRIZsckWhijgIvfbudp2VmA8fiqhlfYSPA7 7 | XXAIS86npR+t5lvR0Fk8CnDXaDrlBC2W3lIOoT/IN19iLcRxAkEA2xWNJwPX99aA 8 | XBh4yXWKW2dwBJigdVK2Ml0QLGkqf6WoYeQJTxUBUHRGCGibO/8PzwKTZEKhkAQQ 9 | ES0fOwm6tQJBAMIIEr8uZoE4q534gQy0+Fl4oBviPr43g7t5w5WELhL1O+a8/ao/ 10 | ybEQjmyvcIUWcmWV1K0GtSkQUgDvQRP42TcCQQChplE0DF35/EdRrKzS2Otxbez1 11 | NziN2K2ek5QvcJlu/egz8nH769/AYUqbQbPonNYpRBlEzPUwsg643bZBdXhRAkB0 12 | GHqHE89XcD4XVjJ5FOsoNamvJW8fR341tYSWOLGMvFksFVa+AE7A+EQPueVcbHLk 13 | X4MSSForCM3YK0/IEHR/AkAuFScon0cc1Z3gIPlQg0dNDMDlnT9cyC4C7EwU4CKN 14 | APzykkuomc5jpgtKw9o3AJsITlLMrMlO8a7vLdrT/5WO 15 | -----END RSA PRIVATE KEY----- 16 | -------------------------------------------------------------------------------- /src/test/resources/bad_platforms_value_supported_platforms_platform.json: -------------------------------------------------------------------------------- 1 | { 2 | "defaults": { 3 | "platform": "docker", 4 | "os": "ubuntu1404", 5 | "stability": "stable", 6 | "sudo": "sudo" 7 | }, 8 | "supported_platforms": { 9 | "docker": { 10 | "ubuntu1404": { 11 | "language": [ 12 | "groovy", 13 | "java", 14 | "python", 15 | "ruby" 16 | ], 17 | "toolchain": [ 18 | "env", 19 | "gemset", 20 | "rvm", 21 | "python", 22 | "jdk" 23 | ] 24 | } 25 | }, 26 | "metal": {} 27 | }, 28 | "restrictions": { 29 | "docker": { 30 | "only_organizations": ["samrocketman"], 31 | "only_projects": ["samrocketman/jervis"] 32 | } 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /src/test/resources/bad_platforms_type_supported_platforms_platform.json: -------------------------------------------------------------------------------- 1 | { 2 | "defaults": { 3 | "platform": "docker", 4 | "os": "ubuntu1404", 5 | "stability": "stable", 6 | "sudo": "sudo" 7 | }, 8 | "supported_platforms": { 9 | "docker": { 10 | "ubuntu1404": { 11 | "language": [ 12 | "groovy", 13 | "java", 14 | "python", 15 | "ruby" 16 | ], 17 | "toolchain": [ 18 | "env", 19 | "gemset", 20 | "rvm", 21 | "python", 22 | "jdk" 23 | ] 24 | } 25 | }, 26 | "metal": "invalid" 27 | }, 28 | "restrictions": { 29 | "docker": { 30 | "only_organizations": ["samrocketman"], 31 | "only_projects": ["samrocketman/jervis"] 32 | } 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /src/main/groovy/net/gleske/jervis/lang/package-info.groovy: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2014-2025 Sam Gleske - https://github.com/samrocketman/jervis 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | /** 17 | Provides helpers for lifecycles, build tools, and other utilities surrounding supported programming languages. 18 | This class should be strictly for classes directly related to supported programming languages. 19 | */ 20 | package net.gleske.jervis.lang 21 | -------------------------------------------------------------------------------- /src/test/resources/rsa_keys/bad_id_rsa_pkcs8_1024: -------------------------------------------------------------------------------- 1 | -----BEGIN PRIVATE KEY----- 2 | MIICdwIBADANBgkqhkiG9w0BAQEFAASCAmEwggJdAgEAAoGBAKYNPa8a2G969XtB 3 | tnKBijAOwh+akUUPICXlSYXdoMXGAqcWtBZGjS1z+aOjSwkLfDgMff+h7QRA9iov 4 | lvMINITh1OIDmLbp3C9E5AYWk6+H2Szjr3XOgn/JScEMPUPFmHQILiPNvU4F+nVW 5 | cX2kYAxcfOivssucpRdad/48sonjAgMBAAECgYEAoXkqzMa8Rdw6Lzv9oWga6xTO 6 | 7VCvh4pn5rILRyP4HZqqJbXMNgUxcEvhLKG0a/1BNHfhZt8dzw8k0m0oyvjlp+kA 7 | lEhmxyRaGKOAi99u52nZWYDx+KqGV9hI8DtdcAhLzqelH63mW9HQWTwKcNdoOuUE 8 | LZbeUg6hP8g3X2ItxHECQQDbFY0nA9f31oBcGHjJdYpbZ3AEmKB1UrYyXRAsaSp/ 9 | pahh5AlPFQFQdEYIaJs7/w/PApNkQqGQBBARLR87Cbq1AkEAwggSvy5mgTirnfiB 10 | DLT4WXigG+I+vjeDu3nDlYQuEvU75rz9qj/JsRCObK9whRZyZZXUrQa1KRBSAO9B 11 | E/jZNwJBAKGmUTQMXfn8R1GsrNLY63Ft7PU3OI3YrZ6TlC9wmW796DPycfvr38Bh 12 | SptBs+ic1ilEGUTM9TCyDrjdtkF1eFECQHQYeocTz1dwPhdWMnkU6yg1qa8lbx9H 13 | fjW1hJY4sYy8WSwVVr4ATsD4RA+55VxscuRfgxJIWisIzdgrT8gQdH8CQC4VJyif 14 | RxzVneAg+VCDR00MwOWdP1zILgLsTBTgIo0A/PKSS6iZzmOmC0rD2jcAmwhOUsys 15 | yU7xru8t2tP/lY4= 16 | -----END PRIVATE KEY----- 17 | -------------------------------------------------------------------------------- /src/main/groovy/net/gleske/jervis/tools/package-info.groovy: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2014-2025 Sam Gleske - https://github.com/samrocketman/jervis 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | /** 17 | Contains miscellaneous security tools and other doodads. The tools contained in this 18 | package are meant to enhance the capabilities of Jervis by providing classes which 19 | don't make sense as single functions in the Job DSL scripts. 20 | */ 21 | package net.gleske.jervis.tools 22 | -------------------------------------------------------------------------------- /src/test/resources/bad_platforms_type_supported_platforms_platform_os.json: -------------------------------------------------------------------------------- 1 | { 2 | "defaults": { 3 | "platform": "docker", 4 | "os": "ubuntu1404", 5 | "stability": "stable", 6 | "sudo": "sudo" 7 | }, 8 | "supported_platforms": { 9 | "docker": { 10 | "ubuntu1404": { 11 | "language": [ 12 | "groovy", 13 | "java", 14 | "python", 15 | "ruby" 16 | ], 17 | "toolchain": [ 18 | "env", 19 | "gemset", 20 | "rvm", 21 | "python", 22 | "jdk" 23 | ] 24 | } 25 | }, 26 | "metal": { 27 | "ubuntu1404": "invalid" 28 | } 29 | }, 30 | "restrictions": { 31 | "docker": { 32 | "only_organizations": ["samrocketman"], 33 | "only_projects": ["samrocketman/jervis"] 34 | } 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # Contribute to Jervis 2 | 3 | Thanks for taking an interest in contributing to the Jervis project! This guide 4 | details how to contribute to Jervis in a way that is efficient and safe for 5 | everyone. 6 | 7 | # Issue tracker 8 | 9 | [GitHub Issues][issues] is where I do all of my project planning. Feel free to 10 | collaborate on open issues or create an issue for a problem you're having. 11 | 12 | # The wiki 13 | 14 | [The wiki][wiki] is used as a comprehensive guide for users and developers of 15 | Jervis. All material is mirrored and regularly tagged in case of vandalism. 16 | 17 | # Code style 18 | 19 | Before making a contribution to Jervis be sure to review the [style 20 | guide][style] used by the Jervis project. Code that does not conform is less 21 | likely to be merged because it would require work to fix. So please ensure your 22 | code style conforms with the rest of the project. 23 | 24 | [issues]: https://github.com/samrocketman/jervis/issues 25 | [style]: STYLE_GUIDE.md 26 | [wiki]: https://github.com/samrocketman/jervis/wiki 27 | -------------------------------------------------------------------------------- /src/test/resources/mocks/api.github.com_graphql_11d22ccb4e46c2bee006552cb7634b0ed8a50ba0ad5b5f20a3ef4c7310d43b32: -------------------------------------------------------------------------------- 1 | { 2 | "data": { 3 | "gitRef0": { 4 | "jervisYaml0": null, 5 | "jervisYaml1": { 6 | "text": "mock data 1" 7 | }, 8 | "rootFolder": { 9 | "file": [ 10 | { 11 | "name": ".travis.yml", 12 | "type": "blob" 13 | }, 14 | { 15 | "name": "README.md", 16 | "type": "blob" 17 | } 18 | ] 19 | } 20 | }, 21 | "gitRef1": { 22 | "jervisYaml0": null, 23 | "jervisYaml1": { 24 | "text": "mock data 2" 25 | }, 26 | "rootFolder": { 27 | "file": [ 28 | { 29 | "name": ".travis.yml", 30 | "type": "blob" 31 | }, 32 | { 33 | "name": "CHANGELOG.md", 34 | "type": "blob" 35 | }, 36 | { 37 | "name": "README.md", 38 | "type": "blob" 39 | } 40 | ] 41 | } 42 | } 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /src/main/groovy/net/gleske/jervis/remotes/creds/package-info.groovy: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2014-2025 Sam Gleske - https://github.com/samrocketman/jervis 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | /** 17 | Contains partially implemented credentials for remotes. This allows 18 | applications to provide secure credentials to the remote clients. 19 |

20 | See {@link ReadonlyTokenCredential} which serves as an example and 21 | provides sample usage. 22 |

23 | */ 24 | package net.gleske.jervis.remotes.creds 25 | -------------------------------------------------------------------------------- /dependencytrack/README.md: -------------------------------------------------------------------------------- 1 | # DependencyTrack integration 2 | 3 | This is an automated local integration for vulnerability reporting in Jervis 4 | dependencies. 5 | 6 | This guide assumes you have docker, docker-compose, GNU Awk, and OpenSSL tools 7 | available. Tested from Ubuntu 18.04 GNU/Linux. 8 | 9 | # Provision 10 | 11 | docker-compose up -d 12 | 13 | 1. Log into `http://localhost:8080/` username `admin` and password `admin`. You 14 | will be prompted to change it. 15 | 2. Under _Administration > Access Management > Teams_, open the `Automation` 16 | team, and add the permission `PROJECT_CREATION_UPLOAD`. 17 | 3. Within the `Automation` team copy the generated API key. You'll need this 18 | later to set the `DT_API_TOKEN` environment variable. 19 | 20 | # Generate SBOM 21 | 22 | From the root of this repository. 23 | 24 | ./gradlew --init-script ./dependencytrack/dtrack.gradle cyclonedxBom 25 | 26 | # Upload to DependencyTrack 27 | 28 | From the root of this repository execute the following. 29 | 30 | export DT_API_TOKEN=... 31 | ./dependencytrack/submit-results.sh 32 | -------------------------------------------------------------------------------- /jobs/create_folder.groovy: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright 2014-2025 Sam Gleske - https://github.com/samrocketman/jervis 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License. 6 | You may obtain a copy of the License at 7 | 8 | http://www.apache.org/licenses/LICENSE-2.0 9 | 10 | Unless required by applicable law or agreed to in writing, software 11 | distributed under the License is distributed on an "AS IS" BASIS, 12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 | See the License for the specific language governing permissions and 14 | limitations under the License. 15 | */ 16 | /* 17 | Create a folder in which jobs will be grouped based on GitHub organization 18 | or user. 19 | */ 20 | require_bindings('jobs/create_folder.groovy', ['parent_job', 'project_folder']) 21 | 22 | import jenkins.model.Jenkins 23 | 24 | if(!Jenkins.instance.getItem(project_folder)) { 25 | println "Creating folder ${project_folder}" 26 | parent_job.folder(project_folder) 27 | } 28 | -------------------------------------------------------------------------------- /src/main/resources/net/gleske/jervis/doctemplates/lifecycle.tmpl.md: -------------------------------------------------------------------------------- 1 | <% if(onlyEntry) { %>Because ${friendlyName} support is basic there's only one default lifecycle. 2 | 3 | ```yaml 4 | language: ${language} 5 | install: ${buildtool.install ?: '# no command run'} 6 | script: ${buildtool.script ?: '# no command run'} 7 | ``` 8 | <% } else { %><% if(!lastEntry) { %> 9 | If a file named `${buildtool.fileExistsCondition}` is in the repository root, then the following `install` and `script` defaults will be run. 10 | 11 | ```yaml 12 | language: ${language} 13 | install: ${buildtool.install ?: '# no command run'} 14 | script: ${buildtool.script ?: '# no command run'} 15 | ```<% if(nextFile) { %> 16 | 17 | If `${buildtool.fileExistsCondition}` does not exist, then the system will fall back to finding a file named `${nextFile}`.<% } %><% } else { %> 18 | Otherwise, ${friendlyName} falls back to the following default YAML with no further defaults detection. 19 | 20 | ```yaml 21 | language: ${language} 22 | install: ${buildtool.install ?: '# no command run'} 23 | script: ${buildtool.script ?: '# no command run'} 24 | ```<% } %><% } %> 25 | --------------------------------------------------------------------------------