mirror of
				https://github.com/gofiber/storage.git
				synced 2025-10-31 11:46:32 +08:00 
			
		
		
		
	Compare commits
	
		
			1892 Commits
		
	
	
		
			coherence/
			...
			coherence/
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|   | 1c2488d9c2 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 5fac5732c8 | ||
|   | 97f5e0a923 | ||
|   | 90c561c1bb | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 9bfe5477cf | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 34f366a007 | ||
|   | 3fd9eb81b7 | ||
|   | 1065c77b47 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 9819ad684f | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 7e02db6261 | ||
|   | f3b453af7b | ||
|   | 5e14521f8e | ||
|   | 2dc77f0958 | ||
|   | e9cfc98c82 | ||
|   | 952f025b75 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 993e84d7ef | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 6f35f9eb6e | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 2cc1c44ce9 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 46f83f3cf6 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 70f26b2baf | ||
|   | 342eaac22e | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 272828be37 | ||
|   | 26c3f786a2 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | d506874ca1 | ||
|   | e3f0243edf | ||
|   | eeb603cde2 | ||
|   | 1b0e0bef99 | ||
|   | a0ca37c050 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 270504317d | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 2280ac2c14 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 9c3727204e | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | ca93c6ba74 | ||
|   | b602df5723 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 202ec6c450 | ||
|   | ed25a2c964 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 4b43c8b962 | ||
|   | aecb06b265 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 1f631250ab | ||
|   | dfa4725680 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 776899d661 | ||
|   | 8131fcec4b | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | d51f9c329f | ||
|   | fd265e024b | ||
|   | 3931c3aab9 | ||
|   | d92bc0842b | ||
|   | e258a624f2 | ||
|   | d20d9401b0 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | fb36d21a4e | ||
|   | f8e1e7ccef | ||
|   | 96ffeac813 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 1565de0522 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 8f89e7558f | ||
|   | 3094ed95de | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 100154bc94 | ||
|   | 8423467171 | ||
|   | 0c8e92ace9 | ||
|   | f66e76086c | ||
|   | 8009886dda | ||
|   | 431da1bf5b | ||
|   | 896938ef21 | ||
|   | 1389ad7ce6 | ||
|   | 0feb2ba53d | ||
|   | 4c92ab4ee3 | ||
|   | b65f330ec7 | ||
|   | 8139126338 | ||
|   | 92bf2760f4 | ||
|   | b6563da412 | ||
|   | c32a7ae1a8 | ||
|   | ec9ced0881 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | ab255b2d0e | ||
|   | 3fde0cd380 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | b45ae6825d | ||
|   | 085b336b91 | ||
|   | 73af914681 | ||
|   | 46bf456daa | ||
|   | 5e964eef23 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 303d23c784 | ||
|   | 8fe1a661ec | ||
|   | d806d258ef | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 88b3cb24be | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | ad20f62903 | ||
|   | 99fc0e2590 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 2e20a4d558 | ||
|   | bd9313079b | ||
|   | 64111772da | ||
|   | 5b0ff185f2 | ||
|   | cf369907b8 | ||
|   | d95247b156 | ||
|   | 2841c64d32 | ||
|   | 75b43b2ac4 | ||
|   | 85ffd9d133 | ||
|   | a1921fcac8 | ||
|   | c45802b369 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 38c493be10 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | ffeaf190a6 | ||
|   | 2cab07ac23 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 9e9f692339 | ||
|   | bda063edd9 | ||
|   | e8eac60d32 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | fcd6ee741d | ||
|   | 129a9b4a03 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 9470818c26 | ||
|   | fe8eba6afe | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 9e0adc6f17 | ||
|   | 676b7c385b | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | c5d36121f9 | ||
|   | 287fb557dd | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 0fa7c1c3c0 | ||
|   | 6150b60e10 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 1144ec5054 | ||
|   | f6ebad3ae3 | ||
|   | a872a0b45f | ||
|   | 91191d439b | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | fea1743ad1 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 9acde27b81 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | bf35e275d9 | ||
|   | 06387240dd | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 048f64d774 | ||
|   | 4ab3b3c0bd | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | a0e741ea81 | ||
|   | 0c03dbe199 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 8ee03469cb | ||
|   | eb223558f8 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | b31aabce01 | ||
|   | 1984506cfd | ||
|   | 9a7df92ade | ||
|   | c603327efd | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | aee853e12e | ||
|   | bd5ce882fb | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 53b9539472 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 363be39151 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 0404c9479c | ||
|   | 6de3835af3 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | f8cae390d6 | ||
|   | ff407691a9 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 535b29cba8 | ||
|   | 23106b5a0b | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 51cadf014a | ||
|   | 708a8075e1 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 544043e9ca | ||
|   | f70f371c8e | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 074537ef41 | ||
|   | 1a6c4754d6 | ||
|   | a27e2d7e38 | ||
|   | ff897f62f5 | ||
|   | 1993e96068 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 00ccfbd917 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | c55ad9852a | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 87171e462b | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 43f19bf837 | ||
|   | 794f267560 | ||
|   | 359f17bdb6 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 22c8749ebd | ||
|   | c40fab2f49 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 295b6144e5 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | e730d3061e | ||
|   | 31d99f8c13 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 052af41b84 | ||
|   | 087d3e71d7 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 40fd1286eb | ||
|   | f7a52236a0 | ||
|   | 86e2c40dc0 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | ce2ee440e9 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | e5566caab1 | ||
|   | 82b0c39bcd | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 30b5c7a76b | ||
|   | bddb91a82d | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 2e2f3c48c0 | ||
|   | e03d911acb | ||
|   | da211647b7 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 8c999edaf5 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 51ac27beaf | ||
|   | aeb0d91ae1 | ||
|   | b2211037ca | ||
|   | 1e89154864 | ||
|   | 74b3bd3f2f | ||
|   | 0f13ff4a80 | ||
|   | f19bcd6674 | ||
|   | bf7c309100 | ||
|   | 288cedb4a4 | ||
|   | 4c19cbad89 | ||
|   | ba248c9967 | ||
|   | 168125aba4 | ||
|   | 331a84b6c5 | ||
|   | 4d516c348a | ||
|   | 1e6e787ec5 | ||
|   | 5794b5068f | ||
|   | 941ef46eaa | ||
|   | 30b20739d0 | ||
|   | 40b2566dc1 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 189b125e02 | ||
|   | c89793a5b6 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 07846ad515 | ||
|   | b85c02262b | ||
|   | 7089f9d809 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | fc3a3a91dc | ||
|   | 51143819c8 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 093d2519c7 | ||
|   | ef7980445d | ||
|   | 743bcd8ec3 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 24f8717aa0 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 3db82583cc | ||
|   | 46267c6361 | ||
|   | a77e60ff9f | ||
|   | fe41cfbd81 | ||
|   | 7faca3f2d0 | ||
|   | 911bf1b50e | ||
|   | b366427f96 | ||
|   | 7cb29ad8ff | ||
|   | 53a943a2d5 | ||
|   | 0ab6d9b3f1 | ||
|   | b703f5f64c | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | f5f112f987 | ||
|   | 7663d74cdf | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 8f0819b1c5 | ||
|   | abdb9c790a | ||
|   | 545378511c | ||
|   | af5649d1a7 | ||
|   | adc1376cc6 | ||
|   | 7b2d4bb285 | ||
|   | 9dc93a5d83 | ||
|   | dc8199d089 | ||
|   | d73e1f3a9a | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | ca3a52c65b | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | d0e25aa231 | ||
|   | 7ef0190a4a | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | fba083b9de | ||
|   | 121ab151de | ||
|   | 7ad4e9971d | ||
|   | c596e5783a | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 32f7699d7a | ||
|   | 722e242fdf | ||
|   | eb73056593 | ||
|   | fc150cc608 | ||
|   | db8b59a335 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | e91e04b166 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 3a1a37e00f | ||
|   | bf7fc60523 | ||
|   | 7ed83dd161 | ||
|   | 79d6043639 | ||
|   | b7893d7d4a | ||
|   | ba60ab9a1f | ||
|   | dd7391a11a | ||
|   | 7866e27c75 | ||
|   | 892e6fec63 | ||
|   | 5b7af066bb | ||
|   | 05b5be3f18 | ||
|   | 76a7b0a657 | ||
|   | b90664baad | ||
|   | 1f42b00573 | ||
|   | 42cf99276e | ||
|   | b6d622b449 | ||
|   | adbe268884 | ||
|   | 2a50072e0e | ||
|   | 608442c3f6 | ||
|   | 57a3c9787c | ||
|   | e73dbf045c | ||
|   | 69b50a5f23 | ||
|   | 5de2251e88 | ||
|   | 5d0188976b | ||
|   | 7006c9efc5 | ||
|   | c306a8f1b6 | ||
|   | 8d6a777590 | ||
|   | 5c8bb189ae | ||
|   | e13449700c | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 4785855bc6 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | afaaf8a92e | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 2248ff4975 | ||
|   | 10d41e621c | ||
|   | 353e6931a6 | ||
|   | c061207265 | ||
|   | 2b073db8ff | ||
|   | 7f568d78ee | ||
|   | 1c1d596001 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 1312a21486 | ||
|   | 6aa0ed819e | ||
|   | 66f995ef5a | ||
|   | 16e0ac3e96 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | a80927f371 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 9d7e8b7c01 | ||
|   | 89d6407c6f | ||
|   | 92ce3476c5 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | f421016863 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 070b07d817 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 4afaea1f9c | ||
|   | a572e3e052 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 1b82547426 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | d41a7f11b5 | ||
|   | a1c54b2966 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | e55caf099c | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 7b0abe9530 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 9cd4208e54 | ||
|   | e81b66dbf4 | ||
|   | 494ff4e035 | ||
|   | dcec2f2d4b | ||
|   | 7496f5526c | ||
|   | 338abb526f | ||
|   | 52dda9d9f8 | ||
|   | e755ca8aca | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | dc3d9c8ff1 | ||
|   | 3b44abfe6a | ||
|   | 3a40324003 | ||
|   | 72fb697360 | ||
|   | 672709e17e | ||
|   | 6644a25509 | ||
|   | 2f180f45ec | ||
|   | d301361d5f | ||
|   | 250c30ae1f | ||
|   | e5c2cd66f7 | ||
|   | 0a698b4339 | ||
|   | d7248f7df1 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 2c6455f7d4 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 808636c52b | ||
|   | 1e0293b778 | ||
|   | 0c8381daea | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 9944088569 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 6ce77b46a3 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 4a2228d5fe | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 44180aaa2c | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 0295b34e40 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 8e8a762e06 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 4f57dda4a9 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | e61ea6c9da | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | b82b9ffd88 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | dc81353808 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 470e17ebaa | ||
|   | 9113e442dc | ||
|   | 0d583fa0e8 | ||
|   | aece23fe66 | ||
|   | 5a5580e0a1 | ||
|   | 7af98b421e | ||
|   | 7f8afd2235 | ||
|   | 6c01ddadb5 | ||
|   | c544464e93 | ||
|   | 1420ef2be3 | ||
|   | 0c059b0f3f | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 87a8c23515 | ||
|   | 4c7b5f7cb9 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | b5fc84ac5b | ||
|   | a8327f007e | ||
|   | 195845e882 | ||
|   | d43750be06 | ||
|   | cd0b0a8377 | ||
|   | e831cb421c | ||
|   | 3d2d5c05eb | ||
|   | 40167cc6c8 | ||
|   | 616d9d8f8f | ||
|   | 39f965ffbb | ||
|   | 0cf84b3048 | ||
|   | c4bdc8f5e3 | ||
|   | 0dea23ff24 | ||
|   | caa5078fef | ||
|   | 28c3e18de8 | ||
|   | e596d39946 | ||
|   | 2f5cfe7538 | ||
|   | caa448dfae | ||
|   | 74b9f8786b | ||
|   | 7489a3eb94 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 42cc20f51d | ||
|   | 2ad757cb5c | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | c596db0402 | ||
|   | b1f2b4f2b3 | ||
|   | 25aa03c417 | ||
|   | c86034f531 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 7ae8f414b1 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 8463c7f8f4 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 490131cdb1 | ||
|   | 888bd54955 | ||
|   | f0b53d9a66 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | be69a192d2 | ||
|   | cdb26901ec | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | b5a0d5ba88 | ||
|   | 709bde3b56 | ||
|   | 8deabd140a | ||
|   | d153ddd17b | ||
|   | 7d6aec5b4a | ||
|   | 68e6ee57eb | ||
|   | ba32290665 | ||
|   | 8dcdba4a72 | ||
|   | 0a9e0ef282 | ||
|   | 53b2205e67 | ||
|   | 371611ba54 | ||
|   | d1893c2e4a | ||
|   | f3bdd2599c | ||
|   | d7bbc22084 | ||
|   | 58388d34e8 | ||
|   | 634695c6fb | ||
|   | f03ca4e3a8 | ||
|   | 2192ac6cfe | ||
|   | 1b443d036e | ||
|   | 75f5216baf | ||
|   | ce31f766b9 | ||
|   | 486941cc00 | ||
|   | d6fb9319dd | ||
|   | 245dce0f1d | ||
|   | a5ea1ad30f | ||
|   | a422c89d98 | ||
|   | 3242f93c9f | ||
|   | 17ab512fe3 | ||
|   | c1e526d31d | ||
|   | 134e774e80 | ||
|   | a01135d48b | ||
|   | 9d7368cc48 | ||
|   | 58bbe4632f | ||
|   | e5059da502 | ||
|   | c914bf3107 | ||
|   | 034736306c | ||
|   | c07f9034d8 | ||
|   | ebc0dbd566 | ||
|   | 51ed2951e6 | ||
|   | 25935ed3d6 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 6abe5e5385 | ||
|   | 1b79f1941d | ||
|   | 978e9decb9 | ||
|   | 0a96159376 | ||
|   | 1fd56464e1 | ||
|   | 7559525547 | ||
|   | d431239437 | ||
|   | 46aa8dbd7c | ||
|   | 40586cc9df | ||
|   | bd94f13340 | ||
|   | 6d5a45d959 | ||
|   | 7027f24216 | ||
|   | 84e2c12848 | ||
|   | 9e4c7d82da | ||
|   | 20be56d1f0 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 1b81d6a00f | ||
|   | 13bd55d211 | ||
|   | bc8ed05b29 | ||
|   | ed7eae497f | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 137add4487 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 63cf32031d | ||
|   | 5687318557 | ||
|   | 0e05d2d54e | ||
|   | 320a250502 | ||
|   | 2231b313bd | ||
|   | 06e9b1f578 | ||
|   | dc1bf75fe7 | ||
|   | 6a89dcaa6f | ||
|   | faa652f38c | ||
|   | 05516094e9 | ||
|   | 59315e052b | ||
|   | cedaaf2fd9 | ||
|   | 366e1ee571 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 1df42bd461 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | e1e3a4ffaa | ||
|   | e21a9065b5 | ||
|   | aad60beab6 | ||
|   | bc86e8015c | ||
|   | 0364bd4676 | ||
|   | ce8dc55659 | ||
|   | bb7a0cadb2 | ||
|   | d1b13cac69 | ||
|   | 73bf79313b | ||
|   | 7c75678090 | ||
|   | 698ae8a390 | ||
|   | 3ab20cabab | ||
|   | ff6212a42c | ||
|   | aac5d67055 | ||
|   | 827ef9ec96 | ||
|   | a875f39f69 | ||
|   | 17b879d6e4 | ||
|   | 8855b7eda1 | ||
|   | 0e4dfc0d07 | ||
|   | 61d00d996b | ||
|   | a5733f7261 | ||
|   | c38280d308 | ||
|   | c2122f7e4a | ||
|   | 649c51909b | ||
|   | 65642eae0d | ||
|   | 8840678883 | ||
|   | c5fb7a0de1 | ||
|   | aad87d2b7e | ||
|   | 3da4dff355 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 714f912b30 | ||
|   | fc37a1c2f1 | ||
|   | 7f5e9eb94d | ||
|   | 6339526f6e | ||
|   | 4805f9f14b | ||
|   | 6ab1dd1c75 | ||
|   | 196723e48f | ||
|   | d844832d3e | ||
|   | 2390e2a92d | ||
|   | 481cdff03b | ||
|   | b41c6e1c9a | ||
|   | 7bdb6140ce | ||
|   | 944575d106 | ||
|   | 59a861ea30 | ||
|   | a99cf3930a | ||
|   | 69467ed7ab | ||
|   | 3d26d32f1a | ||
|   | bd89daaba0 | ||
|   | f1b52c57d7 | ||
|   | 7a56299372 | ||
|   | b775dc4c8e | ||
|   | db6449b454 | ||
|   | d4015ce4e6 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 92fadd0f07 | ||
|   | 617e1029e4 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | bf555fc757 | ||
|   | ab54fa3fea | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 64092ed5b7 | ||
|   | 9fe80fb996 | ||
|   | cc552d8da1 | ||
|   | 1e5842520e | ||
|   | a6e90596b1 | ||
|   | a6df18aab0 | ||
|   | ec5fe0ce57 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 36ac34e4ee | ||
|   | 44ee39125c | ||
|   | db78bf31a9 | ||
|   | 8217bf1674 | ||
|   | c3a43fa547 | ||
|   | ea8757954d | ||
|   | 9eb4031a70 | ||
|   | e5b3f3d3ff | ||
|   | f932ef3a04 | ||
|   | 425facc354 | ||
|   | fd01240c04 | ||
|   | 18555af9ce | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | aebc8cb8b1 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | fc7d7b7b35 | ||
|   | 1adc6bfd94 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 83a4738628 | ||
|   | 7ac8a3ed25 | ||
|   | ebd3e90db5 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 37fee35346 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 6e6a2e1022 | ||
|   | e36fbf1741 | ||
|   | e6b8e31197 | ||
|   | d6e73157b6 | ||
|   | 4c57f3872e | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 988773fffc | ||
|   | 0e68f36008 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 8914be3ee5 | ||
|   | 12137d7e39 | ||
|   | 28d296d96b | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 84eba42d87 | ||
|   | 9e2257de4f | ||
|   | 1be3b2025e | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 7e6ffad8d7 | ||
|   | 3570609353 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 6fe8158deb | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 7de84bcae4 | ||
|   | 71aa8ed852 | ||
|   | 2656670d54 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 8c03fe7af2 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | e615c6f01e | ||
|   | 9ab4df2a01 | ||
|   | 98a1bbe290 | ||
|   | 705706a418 | ||
|   | b539c9dde8 | ||
|   | 912bb43630 | ||
|   | 8e13a6f387 | ||
|   | d49a2ac929 | ||
|   | 95f243e26a | ||
|   | b1026d4553 | ||
|   | 33b00bdd97 | ||
|   | 43ec0f0380 | ||
|   | 8f693eb683 | ||
|   | 53f69d1576 | ||
|   | 3abb5afc2e | ||
|   | d7c3475ec9 | ||
|   | 3c3622d811 | ||
|   | 4a002049c5 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | b0410809eb | ||
|   | 904a606aa2 | ||
|   | ea7c246e81 | ||
|   | 6fbff46b8e | ||
|   | 3cbad5a75e | ||
|   | e7fddf6676 | ||
|   | dd6819e781 | ||
|   | 82d4154c74 | ||
|   | 33ac0242fc | ||
|   | c425087442 | ||
|   | 496c0b684e | ||
|   | 685c6a6757 | ||
|   | f13d0882af | ||
|   | 4701e71529 | ||
|   | 44a21ba8fd | ||
|   | 05c8d3ed0f | ||
|   | af43d02830 | ||
|   | dfec0c6f76 | ||
|   | 7306bb3b4c | ||
|   | 0c639e37ca | ||
|   | d0f987d2f8 | ||
|   | 48d18604d4 | ||
|   | bc1d9a9bdc | ||
|   | 38d42c947f | ||
|   | 6ec8dc0ab2 | ||
|   | 9953832a00 | ||
|   | 371e69053c | ||
|   | d8e70de944 | ||
|   | 7a1d8d2c98 | ||
|   | b136a5b56e | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 58de66d122 | ||
|   | dd6143892e | ||
|   | e04e1e6346 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 66fef6ba6d | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 875834314f | ||
|   | 5ee1715022 | ||
|   | f94632f947 | ||
|   | 1654e52f95 | ||
|   | 1e0b4e416b | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 06f44dedaf | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 7c88d7908a | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 43a61892dc | ||
|   | 21e89f59d2 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 1e2e8012e7 | ||
|   | 4145f60593 | ||
|   | fe2db5baf5 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 6b40a05ccd | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | f3d338dad2 | ||
|   | cd4fe07ff3 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | a28f8689f1 | ||
|   | 13a1852057 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 653c430f9d | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 3366e6dd63 | ||
|   | fa14baae3d | ||
|   | 4cd1214f69 | ||
|   | 442e4809ae | ||
|   | 406ba73eec | ||
|   | 56dc1dd7ff | ||
|   | 088154f2af | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 8391d854bc | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | ced0e613a0 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | e748baf9cf | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 4405f46024 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 41afe4116e | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 77869acab6 | ||
|   | 7b1fdb7325 | ||
|   | e7581b6e08 | ||
|   | 72d3e80126 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | c9cf50ee93 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 70aa68fee1 | ||
|   | b04a6d0bd2 | ||
|   | 0f6fecf48e | ||
|   | 5fdad1dca7 | ||
|   | 5401e4c6ca | ||
|   | 63962a4a9e | ||
|   | 7476af6227 | ||
|   | cd34271491 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 87cf07648d | ||
|   | 337dc45da8 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | e27e1727e7 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 7c028869e3 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | ff932113e8 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | bc12528362 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 2a0b6423af | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 533de03ce9 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | d4d7eedd05 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | ee376faa57 | ||
|   | e378910337 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | c54d54995b | ||
|   | 6beaff2fa0 | ||
|   | 30e6e5ad85 | ||
|   | fd65cef217 | ||
|   | 28503829f6 | ||
|   | 3f7110fcdd | ||
|   | 287a903a19 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | c688b234de | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | a2646d6fc3 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 9fd09d88e1 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | acc0d6b62f | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 9deea0d835 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | eb73209838 | ||
|   | 46eea52615 | ||
|   | 9f8091caff | ||
|   | 5b03e3c258 | ||
|   | 585b3e93ae | ||
|   | 235d001e9c | ||
|   | 05d66770ef | ||
|   | bc80cbb400 | ||
|   | 823b9f9a6f | ||
|   | 138a8f9b87 | ||
|   | d5694955e7 | ||
|   | c138cabfb3 | ||
|   | c1933ed3e8 | ||
|   | 11379815a1 | ||
|   | 093771565c | ||
|   | f1d4944525 | ||
|   | 64eb3d85be | ||
|   | 98ce163298 | ||
|   | 9b6b3c8afe | ||
|   | 0a1254849f | ||
|   | 21157c2990 | ||
|   | e0f5735b25 | ||
|   | 3d82298d30 | ||
|   | 715cafdc96 | ||
|   | 5c2bcfea9b | ||
|   | 7f995dafb2 | ||
|   | ab88d43900 | ||
|   | 6b31862a33 | ||
|   | 785e71215f | ||
|   | ea98e0ac2c | ||
|   | a2f349766f | ||
|   | b60700c0b9 | ||
|   | 3f5304479a | ||
|   | 51759980d0 | ||
|   | 0f9476ea39 | ||
|   | e91a22a066 | ||
|   | f2ff5e7a39 | ||
|   | fe98837e83 | ||
|   | 1fa944bef7 | ||
|   | c2e5b74f2a | ||
|   | 0c2d884898 | ||
|   | d3c0d39dc8 | ||
|   | fbfc6d9394 | ||
|   | 165b2ae02a | ||
|   | 174e393340 | ||
|   | fb997fd4b5 | ||
|   | a3bf4c9e20 | ||
|   | 45a0bc547e | ||
|   | 40f3844551 | ||
|   | 1b4c2425db | ||
|   | d8b1437f50 | ||
|   | b5d51650a3 | ||
|   | 863ef71f8b | ||
|   | f2a5ba2e7c | ||
|   | 85b4a99042 | ||
|   | 44d93745d1 | ||
|   | b4cd42b73e | ||
|   | 10116f925d | ||
|   | de3b493523 | ||
|   | e4abddc19f | ||
|   | 69a51dc87e | ||
|   | 6e08ff8098 | ||
|   | 4f0e6c465f | ||
|   | 7e74ccf6da | ||
|   | 93c211d4ab | ||
|   | c00f6495c5 | ||
|   | 10e473e1eb | ||
|   | 4a7a7f0480 | ||
|   | 5e5858e217 | ||
|   | 86575200b3 | ||
|   | a7c7b42836 | ||
|   | a9bb64e9ec | ||
|   | c1362f1eae | ||
|   | 4c2246e2b9 | ||
|   | 3a3ab81b5a | ||
|   | d793dc4af0 | ||
|   | 6742f2ae27 | ||
|   | 3fc1b8ca86 | ||
|   | 33d9b48f4e | ||
|   | 962c314b98 | ||
|   | 511a96be07 | ||
|   | 4e570adc99 | ||
|   | 951bb773c1 | ||
|   | cf25873ebd | ||
|   | 2cc5e2c03b | ||
|   | d4b254694f | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | e4a7a648ab | ||
|   | 41e11d61c6 | ||
|   | 0f88b957a8 | ||
|   | 8e75266dac | ||
|   | 66cdbbd9fa | ||
|   | 4e4e57512e | ||
|   | 0439f04e0e | ||
|   | ddbe48768f | ||
|   | 9210a551ac | ||
|   | c5fa26046a | ||
|   | f29aa524ca | ||
|   | 07689915d3 | ||
|   | cc15d52131 | ||
|   | cb30085763 | ||
|   | 505f3710b9 | ||
|   | c6792f4a17 | ||
|   | 8caf6b9812 | ||
|   | e1e51a0d68 | ||
|   | fd5f9f7993 | ||
|   | b49ff3a6a6 | ||
|   | c58fcf23e2 | ||
|   | 3f32afe238 | ||
|   | c7ef3ee5f2 | ||
|   | 32c31af76e | ||
|   | 96079e7650 | ||
|   | 16ebadc5c1 | ||
|   | 7a92ddb16e | ||
|   | de074c555d | ||
|   | bba2cc0ba7 | ||
|   | 67fc665919 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | e1aa2a6ae7 | ||
|   | 3d77696dec | ||
|   | e8128ff53c | ||
|   | babfff4dc4 | ||
|   | 72a92b9221 | ||
|   | be47d1fea6 | ||
|   | e8b18f7ef2 | ||
|   | ea2775d9af | ||
|   | d7e2b3000a | ||
|   | dc96462306 | ||
|   | 526bd7826b | ||
|   | f01f10c006 | ||
|   | 3bfea340e7 | ||
|   | 0fe8e5fda3 | ||
|   | ff55ec3477 | ||
|   | ff83043d09 | ||
|   | 5a6ee123cf | ||
|   | a9f76af4ba | ||
|   | 2aa6a93b98 | ||
|   | 33e4479ce7 | ||
|   | adea65d290 | ||
|   | 537b31756b | ||
|   | 3b91f93611 | ||
|   | 42831dcee6 | ||
|   | 89a0a97fe8 | ||
|   | 86f1b406e3 | ||
|   | 102acc252b | ||
|   | 4c24f5c1d3 | ||
|   | e6249971b8 | ||
|   | a8c6a4ec0b | ||
|   | 412e272a97 | ||
|   | 40a6167b74 | ||
|   | e4d46ce66c | ||
|   | 386b6f431f | ||
|   | d2af2eb76b | ||
|   | 395f8a80da | ||
|   | 76c52119bf | ||
|   | 87c2b454f8 | ||
|   | 12ea6b4978 | ||
|   | cce70b9e7f | ||
|   | f8776d0233 | ||
|   | 740eed9579 | ||
|   | baaf5c76e0 | ||
|   | 9fa1710604 | ||
|   | 674175ded7 | ||
|   | fae399ccdc | ||
|   | 381f0c134e | ||
|   | 9013b623ea | ||
|   | 512c66712a | ||
|   | 692f78abb0 | ||
|   | 1a7044aded | ||
|   | 88906bb82b | ||
|   | 5d095dc16b | ||
|   | a18385a6ba | ||
|   | 1da3514e71 | ||
|   | 394700037c | ||
|   | 6ec8bcd32c | ||
|   | b4652e76d3 | ||
|   | fc45f97811 | ||
|   | 8a058382a7 | ||
|   | e05e7cd714 | ||
|   | 3de4b9e83e | ||
|   | 472d68a4ec | ||
|   | bf194ad2a4 | ||
|   | 81439cd1b5 | ||
|   | ed9c7d186b | ||
|   | 22f2630f8d | ||
|   | 5a356f7c64 | ||
|   | 7c1aec139a | ||
|   | 19282554cc | ||
|   | 889d229330 | ||
|   | e6fc5c6ab0 | ||
|   | c2c72ffc7f | ||
|   | 84a578cc4e | ||
|   | 3818d87d4d | ||
|   | af52fa3e09 | ||
|   | c0611659e1 | ||
|   | ae3a2de340 | ||
|   | cac4fd5e8d | ||
|   | b074e83e98 | ||
|   | 478ea67bea | ||
|   | 4f1577ad2c | ||
|   | 15865d59ff | ||
|   | 8cb7bc56b2 | ||
|   | bff5333d67 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | af5faa0fa3 | ||
|   | 8ee81305a1 | ||
|   | 39be2580ea | ||
|   | a7a26b8d29 | ||
|   | cdf78c223e | ||
|   | 1a5e6f92b2 | ||
|   | 49eeb1d494 | ||
|   | 78da7fcbd1 | ||
|   | db3ab9a2d8 | ||
|   | a0d6e6df5a | ||
|   | 603305cf39 | ||
|   | f9f9ee6734 | ||
|   | cb106882f0 | ||
|   | a5f954c505 | ||
|   | 53c5ec01a5 | ||
|   | f7b7345f06 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | cd119d0f9e | ||
|   | b3a2e40c62 | ||
|   | a4849c83f7 | ||
|   | 60be628083 | ||
|   | 3cd89dbcf7 | ||
|   | 43a47ef467 | ||
|   | 153c837357 | ||
|   | efbc89fea6 | ||
|   | 7bbad9a837 | ||
|   | 1c23d53a9b | ||
|   | f962d64885 | ||
|   | 1bb4d922e9 | ||
|   | 75c8525a46 | ||
|   | 4d7a172400 | ||
|   | 1d6c0c3e25 | ||
|   | c80f1269f0 | ||
|   | 471a6ac36a | ||
|   | de8f798d6e | ||
|   | b53f02beb1 | ||
|   | 4ad4b034cb | ||
|   | fc01fc5829 | ||
|   | ff25433c70 | ||
|   | 689759c035 | ||
|   | 2f5263ef85 | ||
|   | 2f174934c2 | ||
|   | 0e060e19d1 | ||
|   | 4ed36499ca | ||
|   | 2f1c0cbba5 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 4a558d04d2 | ||
|   | 29406b2354 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 6f09eca26d | ||
|   | 304babaae6 | ||
|   | fe56bc56be | ||
|   | d2c20a1452 | ||
|   | 8a873c0c1d | ||
|   | 8d24b7710e | ||
|   | 2c3433f532 | ||
|   | f35a941b18 | ||
|   | 01d0e07203 | ||
|   | 07d3b2ee60 | ||
|   | 91125ae1ff | ||
|   | 8987519886 | ||
|   | ae1a58f409 | ||
|   | 6cd2a04347 | ||
|   | d6045366f3 | ||
|   | eba6a80a13 | ||
|   | d296a7f0da | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 30d1c4aeb1 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | c9bf60b822 | ||
|   | 526f70b1de | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 46b8c41b07 | ||
|   | 920adaf9d1 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 33479fdf80 | ||
|   | b8e131cbdc | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | efae25917f | ||
|   | 87cb35a875 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | b54ef2f223 | ||
|   | f0d3888c13 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | f6e1c398df | ||
|   | fffd10e474 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | a5e5b6c392 | ||
|   | 730aba1fc4 | ||
|   | 8819ff54b7 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 3b5fbcdce6 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 9942341b72 | ||
|   | 9e27843919 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 7c94391d11 | ||
|   | c3094e4ae5 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 5e11a89904 | ||
|   | 20c2931600 | ||
|   | 448cdd08e2 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | ea41c3d45e | ||
|   | 662c591519 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | d129128328 | ||
|   | aa21992fd5 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | b02937835f | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 7907504d75 | ||
|   | 2886d67714 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | eee0d7df2c | ||
|   | 60b43cf9d6 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | fe3cc059c4 | ||
|   | b648905d66 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 69e62f0b54 | ||
|   | ec227440cd | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 0344cbd5f0 | ||
|   | da28b6f39d | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | dec716bf98 | ||
|   | 5da8c389a1 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | bf3ba3e751 | ||
|   | e23626edef | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 897a80879d | ||
|   | 2aa7735a92 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 2cea147aa4 | ||
|   | 920bb093a4 | ||
|   | b5f9269fff | ||
|   | 04fb90595f | ||
|   | 8b1d41dde3 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | b784766b97 | ||
|   | f520ae0b54 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | e38586e901 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | df05331a78 | ||
|   | 4ba6faaa00 | ||
|   | 76acc99239 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 43d47119b3 | ||
|   | d72125bb60 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | e4aaaf76a8 | ||
|   | 0cc27ea7ce | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 9524b39ca6 | ||
|   | 13a14cd6fb | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 1fb6cd1a3f | ||
|   | 9209ae4617 | ||
|   | cfd5f691c9 | ||
|   | 39412ce785 | ||
|   | ea065c4ab8 | ||
|   | 337546b077 | ||
|   | f9d76aa3d6 | ||
|   | d2d34d8777 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | f25f8b8446 | ||
|   | acb19da9e9 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 66c8914256 | ||
|   | 038a286c3b | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 0701e6f1c3 | ||
|   | e744bc09fa | ||
|   | 0228c63316 | ||
|   | f27f7b1055 | ||
|   | ad10412020 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 13e9acc454 | ||
|   | f4bd2a5db4 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 5304e96e7c | ||
|   | 773d4f2e73 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 7c81cf0dd5 | ||
|   | d237896b37 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | f7fab78724 | ||
|   | 6c59a5f1a3 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 662c06d9c7 | ||
|   | b0d06ae093 | ||
|   | 88b0adfcef | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 95d5b96b36 | ||
|   | 7fb2efee17 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | be0f16541b | ||
|   | eea17d4cd7 | ||
|   | d872a8574b | ||
|   | 6b75862f66 | ||
|   | f4ee2db62c | ||
|   | 4311191155 | ||
|   | 78138c978a | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 9a1f09c741 | ||
|   | 275be22a4c | ||
|   | 292cee6539 | ||
|   | d27ee3679c | ||
|   | bf0d8fc9d0 | ||
|   | 1f3a53a755 | ||
|   | 0887a66d65 | ||
|   | 2db9736872 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 492df714dd | ||
|   | 06cf69e024 | ||
|   | 7c1ec06ddc | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | b52bac5100 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 7fab4c8cbb | ||
|   | 543f422b30 | ||
|   | 626ede4760 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | eef89b1660 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 895dc1f61a | ||
|   | de58d8c006 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 3e9063102a | ||
|   | c70e44944d | ||
|   | ad436b5d82 | ||
|   | c62c0af76c | ||
|   | 3ef00028e6 | ||
|   | 169c891474 | ||
|   | 5434d25098 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | f5b36b4517 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | e5cb562af7 | ||
|   | 17f0d6da43 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 25dc910491 | ||
|   | d1087b6477 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 50e94bf6fe | ||
|   | 9b92a5ed83 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | e000f78db3 | ||
|   | 05dff2a932 | ||
|   | 41dea6c121 | ||
|   | 6c74d0b864 | ||
|   | 6f85e022d4 | ||
|   | bbae53fb35 | ||
|   | 16f9e43d82 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 0231178416 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 4c2a305e61 | ||
|   | fae42e4592 | ||
|   | 9b24adebf2 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | f1de042f2d | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 6817772063 | ||
|   | d91341723b | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 9ae9f31fe9 | ||
|   | e768b04589 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | f2ddd06660 | ||
|   | ef93d8635c | ||
|   | 4ebd332f94 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 78b024645f | ||
|   | 2077c74abc | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | fc586597bd | ||
|   | cb3a645bda | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | d2ef1c22bd | ||
|   | cf99591f15 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 5991f3a5e2 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | b121644251 | ||
|   | 57dedb7d10 | ||
|   | 91d99c4d77 | ||
|   | 87d722a8bb | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 78f9e38ef6 | ||
|   | e8f8290853 | ||
|   | 0fd13ff4dd | ||
|   | 58d9dd4d40 | ||
|   | 1ab83b0150 | ||
|   | ce553f5f1c | ||
|   | f088e43dce | ||
|   | 800262d044 | ||
|   | 9e2901b3d4 | ||
|   | b35dab26c8 | ||
|   | 9a0102b257 | ||
|   | 024059f926 | ||
|   | 2ce70bcb0e | ||
|   | 442c85f4ea | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 6a9e104b0a | ||
|   | ef7df44543 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | a2eb0d6b3f | ||
|   | 35c0f4bab3 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | cd0ee7e84d | ||
|   | 2ee9860581 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 7ef423aa2f | ||
|   | ba68a75e60 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 6f20abd7d6 | ||
|   | ffaa1494ed | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 57784bac1b | ||
|   | 1291405328 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 271a8b8eeb | ||
|   | 0324ab518e | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 45a3e9719c | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 6321a10f61 | ||
|   | bda840986b | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 5aa5e4ea92 | ||
|   | 32c98e7637 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | ab57036636 | ||
|   | 49e5f016e0 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 99ad00fb86 | ||
|   | 72ad24d050 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | f94afabfbb | ||
|   | 8be98ec12f | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 5742e6395e | ||
|   | 5e25d4abca | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 1881da3c9e | ||
|   | e45af13e62 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 697f9903d7 | ||
|   | 1e2668c44b | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 4324fbb529 | ||
|   | 69fb880bbf | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 273db55a3b | ||
|   | 3f5e8cf577 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 88206e0108 | ||
|   | 2b2f2bed62 | ||
|   | c78f234f53 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 385904de72 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | caa8330a4a | ||
|   | e59fb1708b | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 9dc2b17d95 | ||
|   | ee4532a57a | ||
|   | 2c75932d90 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 70636baba3 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 8b9db406a8 | ||
|   | e18eaa828a | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 12f859f2ee | ||
|   | df5c2b3c7a | ||
|   | 92dad60f1d | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | b8f6c0417b | ||
|   | 7473602f05 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | fbf4c82ee5 | ||
|   | 4a0c770dff | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 8b6fa52653 | ||
|   | 12cac4c29e | ||
|   | 1e4e992d9e | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | ede4c46a43 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 992f577828 | ||
|   | e1784a8d41 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 2202ca55e5 | ||
|   | 051a869328 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 699b665ada | ||
|   | bdf87e3718 | ||
|   | 11d7b5f886 | ||
|   | ca256c013f | ||
|   | 0c53f4588b | ||
|   | bfd7ccc79e | ||
|   | 5b35b5937b | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 8499349011 | ||
|   | 2b8cf0f308 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 5e0232429e | ||
|   | abad049ea3 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 44ec78f6cb | ||
|   | 812032288e | ||
|   | 946c51b77b | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | f9aa336f93 | ||
|   | 43d9828355 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 1f4893bdb1 | ||
|   | e48d3a2f68 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 81c33266b7 | ||
|   | 2faf1587e0 | ||
|   | f212e66726 | ||
|   | 8585ae3988 | ||
|   | 4bdec1c00d | ||
|   | 6b1fb52cbf | ||
|   | eeb431151d | ||
|   | 22cc9c6486 | ||
|   | cdd09b4066 | ||
|   | 901110676d | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | b59549eb58 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | f9a6291b7f | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | de27d57cd2 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | d87c26eb2a | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 324d3c7d92 | ||
|   | 25ad594682 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | f0cecde9de | ||
|   | a61b434952 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | c3df35dacb | ||
|   | 3b83def333 | ||
|   | 3f5fda6bd8 | ||
|   | 21ac41f961 | ||
|   | 591957c96e | ||
|   | 99c099431a | ||
|   | 81b668ae40 | ||
|   | 8a64cac72f | ||
|   | 8f7781ce20 | ||
|   | 4c5f2ef1b8 | ||
|   | de3083f492 | ||
|   | 2baf7d7e47 | ||
|   | 0054787fb2 | ||
|   | 706c8b6aa3 | ||
|   | 8c7e5acc3c | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 8e8c619a30 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 8212d0317a | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 03943a9436 | ||
|   | 79b8fb118e | ||
|   | 71bbf1ef10 | ||
|   | 1bc6b49847 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 873457db91 | ||
|   | 8e3d3f928f | ||
|   | d4b1c839e3 | ||
|   | da47a1fa62 | ||
|   | 5de7b1b072 | ||
|   | 0f8625f851 | ||
|   | b397ca3c8e | ||
|   | 8bbaa80d22 | ||
|   | ffeab66be3 | ||
|   | 29245c6088 | ||
|   | 5cd7843155 | ||
|   | 64ba9a2f98 | ||
|   | de69aa6ceb | ||
|   | b8c51d1779 | ||
|   | efea419043 | ||
|   | 9590f1a0f0 | ||
|   | 0a5bf1359b | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 819176ead9 | ||
|   | 3a6a27d56f | ||
|   | 5ecaadb118 | ||
|   | f9a22ee538 | ||
|   | 1b1bc5958c | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 7f504e3adc | ||
|   | 64b08d48dc | ||
|   | 1527f88e51 | ||
|   | 1ae7fa0a93 | ||
|   | a5b09adaa3 | ||
|   | 73bb4f108a | ||
|   | 7e321c1339 | ||
|   | 6d5d57d92f | ||
|   | ad8df22ea6 | ||
|   | 126df7488f | ||
|   | 235e47e230 | ||
|   | b72e7331f3 | ||
|   | 64725d983c | ||
|   | 2c4232d7ff | ||
|   | 554fa73daf | ||
|   | 80b7b4ff71 | ||
|   | bc9b6c3923 | ||
|   | f0533e6b7c | ||
|   | e63833bc5c | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 346b2dd7bb | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 7e0197ce31 | ||
|   | 58ff26a611 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 3e0c8567df | ||
|   | d50cadeae6 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | cba67fb5df | ||
|   | f4f69d7a71 | ||
|   | d8f61c2a30 | ||
|   | 26e9d837d8 | ||
|   | a3af67c4c0 | ||
|   | c93cef290e | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 68edc3ad83 | ||
|   | 93f7a52890 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | b85e6d0d56 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | d584f9ece7 | ||
|   | 7735395654 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | c95811231d | ||
|   | 9d3cdcebcb | ||
|   | 5ef27d1806 | ||
|   | a5bee00bcb | ||
|   | 092fcc9317 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | e75d6b7eb4 | ||
|   | 65bc2797a6 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 92150c3054 | ||
|   | 94b3f09270 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | c5ec19cfc8 | ||
|   | 21ef5b1fef | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 5d0e366e4c | ||
|   | cfafa22e77 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 6b4507ad29 | ||
|   | 510d5832aa | ||
|   | 5b26a0b7ac | ||
|   | f0076b556d | ||
|   | 959cadc5ba | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 495c156eac | ||
|   | 033ebf7720 | ||
|   | 5e03e38c3c | ||
|   | 8ef7cd731a | ||
|   | 12eb0f16e1 | ||
|   | fdda850e52 | ||
|   | b8d752bd7f | ||
|   | 154e15008a | ||
|   | a132bd42a6 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 8a140d7608 | ||
|   | 9f847168ec | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | ef26f16389 | ||
|   | 9737161f16 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | ab3f1834a7 | ||
|   | fe1c16e9cd | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 5d0f193ff7 | ||
|   | 4798a58e02 | ||
|   | f022a14091 | ||
|   | 6a5b6eb566 | ||
|   | e541347e84 | ||
|   | df3ac38b36 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | f21f9b9d7d | ||
|   | 338041533d | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | af6af373a6 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 486479e620 | ||
|   | f9471854c6 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 94fe279d1d | ||
|   | 8fbe3e8afb | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 717d1afc2c | ||
|   | e70cc58c03 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | e3862929db | ||
|   | a6be2f6d15 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 3f10692020 | ||
|   | 4798bc4522 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 6c08ac408d | ||
|   | 65172b14fc | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | bbf49af5ac | ||
|   | 65db3caad6 | ||
|   | 1c65d386dd | ||
|   | 01d6a9481e | ||
|   | 796363eb5a | ||
|   | 19be481dfc | ||
|   | 398c18391e | ||
|   | e9bd7e9c55 | ||
|   | c83d7f8201 | ||
|   | 5f53fa0ea0 | ||
|   | 7a7807bed1 | ||
|   | cc2ea9a4f3 | ||
|   | 551373a086 | ||
|   | 115d2902a3 | ||
|   | 7410373fad | ||
|   | d6e0360de6 | ||
|   | 8028341b13 | ||
|   | 85133f679a | ||
|   | c424c6688a | ||
|   | 5817eafd81 | ||
|   | 8b6245bc97 | ||
|   | adad63a053 | ||
|   | 79a9ae2870 | ||
|   | c49806a515 | ||
|   | 6fa3ab028a | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 40639065e8 | ||
|   | 84fc9ab2cc | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 6a1f24af86 | ||
|   | 390f795dc8 | ||
|   | 4bd11fe45b | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | e71ff2f2ae | ||
|   | 4dc463c32a | ||
|   | 53cc0c9fc2 | ||
|   | e8b41f1b5d | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | f38d256f3e | ||
|   | 630632b4a4 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 84ec050527 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 05d1237cb6 | ||
|   | 2680f18e3f | ||
|   | 92cd02fdbf | ||
|   | 2eb0ca23ac | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | d942a697eb | ||
|   | c2811fa897 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | a35fdd9a21 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 91880179cb | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | f8d5157db3 | ||
|   | 1b6f22b6e1 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | b137356bde | ||
|   | b4d8ba6b8c | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 6c0585b30f | ||
|   | 795caf4e83 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 2c1132bac8 | ||
|   | 18b7ad8164 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 77f6a457fd | ||
|   | fe44ce07d4 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 4ce7c1490d | ||
|   | e8c9451a23 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 7cf6c951e8 | ||
|   | 66a63322aa | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 02a8aa1f23 | ||
|   | cda699da02 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | af7e046cb2 | ||
|   | 85161572c1 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 2b083ca3ec | ||
|   | 5e4c65a751 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 23df74bba9 | ||
|   | 41f417cfd5 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 1f82fff0d5 | ||
|   | f3a26d385c | ||
|   | 1761a1900a | ||
|   | 2a95425c30 | ||
|   | 7c2d6950a0 | ||
|   | 2adb980fbb | ||
|   | b4e65c7dae | ||
|   | 1bcb639dd6 | ||
|   | f4d9f05806 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | fb037eb56b | ||
|   | 21a2ad89f2 | ||
|   | fc05d5dc68 | ||
|   | 11266c42d9 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 576833a40a | ||
|   | b1a63d49a6 | ||
|   | 3e3817a0a8 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 3869224b60 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | e9d3cdeec3 | ||
|   | 53b5e83522 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 3a71d5875a | ||
|   | 39246dbede | ||
|   | 1a954ac3c9 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 41b309803c | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 4a01aa697c | ||
|   | 48d5b3ee2d | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | d590afc2d0 | ||
|   | 3cde0a68aa | ||
|   | fe0a0e8cf7 | ||
|   | 827533dabf | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 8c7253050e | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | d411170b49 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | e954b447ff | ||
|   | 603841077f | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 9c91986a77 | ||
|   | f24b3aef10 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 4422abc0c4 | ||
|   | d40ab65298 | ||
|   | 2cd4fafbe9 | ||
|   | 0daac61d8c | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 6eca202fa2 | ||
|   | 1d5616a514 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | f8729ba507 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 3f2dfd2a5d | ||
|   | 80972cf738 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 2412e2d057 | ||
|   | 2ae1b64f64 | ||
|   | 87558e15bd | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | aee383f947 | ||
|   | 22a3948985 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 7487122ea3 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 5f50f78581 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | cc71a706e1 | ||
|   | 9eed243a8e | ||
|   | 1d3e45a078 | ||
|   | b10d57786a | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | c2b44e5773 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 5fda7d2a02 | ||
|   | 89bb451dd8 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 016f3a20fb | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | df1713cfa1 | ||
|   | bb14a6b3f1 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 0898eda7a3 | ||
|   | 90157b80b7 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 028aedcd5e | ||
|   | ad8da667cc | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 57ca55901a | ||
|   | 7479b8518e | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | d48fad222c | ||
|   | 0c81547457 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 5d519ab279 | ||
|   | 02cc537182 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 13956638ee | ||
|   | 759abf2809 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | fb8f2b1820 | ||
|   | a3ce73c537 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | d21a27f61e | ||
|   | e077459d24 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | b0a0d8bee6 | ||
|   | 2cf98d41d6 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | dd59d75d51 | ||
|   | d1145aff90 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 95cdfde50e | ||
|   | 645ba84182 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | f6aa03a2bc | ||
|   | 3d07c48b6d | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | ae1276d3e7 | ||
|   | 007dd98afb | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 9d537bbfea | ||
|   | b639546b9d | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 9ce94ab4e7 | ||
|   | dc2f4ca575 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | b02ce7473f | ||
|   | 4fdfb5a7de | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | ce06f5a85c | ||
|   | 31c5d1b216 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | bfccc3aeee | ||
|   | 3f4ef82c5e | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 6c6f2f5371 | ||
|   | 7026c1458f | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | f131ae5e0c | ||
|   | dc6681b640 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 2462c722a8 | ||
|   | fa2dd6cd14 | ||
|   | bc38f922ba | ||
|   | 29ff72356a | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | c5a192e7b9 | ||
|   | 5f10c814f8 | ||
|   | 53273f679b | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 27cfef507e | ||
|   | 71ee1929c2 | ||
|   | 8f4e626dd0 | ||
|   | 4022a5c88f | ||
|   | 689f428ba0 | ||
|   | 2a398b0769 | ||
|   | c54814ba55 | ||
|   | 8832c250af | ||
|   | f2bbb2b75c | ||
|   | cec55d37c4 | ||
|   | d30f343489 | ||
|   | 1cd2f10ffb | ||
|   | 1efdb40a04 | ||
|   | 07452245d6 | ||
|   | fa7ea2335f | ||
|   | 1d6a12bcab | ||
|   | 1e017301cd | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 15578f8457 | ||
|   | d914ebac16 | ||
|   | a595ff24fb | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 01f0fed13f | ||
|   | e08e9c922e | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | d8ed3a54e1 | ||
|   | 1978a96699 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 6b1d1f2164 | ||
|   | 0ec2813118 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 331f8df8c0 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | c96e1e0e0d | ||
|   | c8d717eee1 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | ef6a7efdaf | ||
|   | 3df42f8a8e | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 33133f9a4a | ||
|   | e30e98aeff | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 1d6fef324c | ||
|   | 520e6eecd1 | ||
|   | 999511813e | ||
|   | 64dc43c35a | ||
|   | 9e30af648e | ||
|   | 59646e5027 | ||
|   | 55a3cd018e | ||
|   | c8ff803127 | ||
|   | 0d3ad13763 | ||
|   | f6a0831fab | ||
|   | 4666ba0eea | ||
|   | 65d4028a4d | ||
|   | 0ff34ecdab | ||
|   | f20cc2af2b | ||
|   | a4ca8cde26 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 10e80655da | ||
|   | 3ccb4c9d90 | ||
|   | 4159aa7e6e | ||
|   | b544a21f5f | ||
|   | 57e9fe0d0b | ||
|   | dec6423afc | ||
|   | 3f5e85a62b | ||
|   | febffbf336 | ||
|   | ef3471c646 | ||
|   | 2fe2a2c80c | ||
|   | 715c4816f5 | ||
|   | c80fa8f0c7 | ||
|   | 0b3aad8e47 | ||
|   | 1462ac6d32 | ||
|   | 0269cc3e32 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | cbc49f1b58 | ||
|   | df24227d5f | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 9f15dc52c5 | ||
|   | ecdb64bd76 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | c23ca6a4e3 | ||
|   | 0efc33fa43 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 3d8fb4feca | ||
|   | 80e3b4bd2c | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | e2af951ffa | ||
|   | a3379769c0 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 625fa333ea | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 5b08f9c1aa | ||
|   | cd5fc39a6e | ||
|   | ac14688c28 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 7640998245 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | a169af358f | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | b990514f0d | ||
|   | fa302c9068 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 6f1d9a0592 | ||
|   | bd98cd9daa | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 50a1ec1c52 | ||
|   | 8e1daa81ea | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 38d97c9383 | ||
|   | 2a071f41a3 | ||
|   | ce5b30cb31 | ||
|   | d450353239 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 4494a85ba6 | ||
|   | f551593ca8 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 6666314227 | ||
|   | 0c42e5041f | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 849af16d7a | ||
|   | 630cca3264 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | c4328fb322 | ||
|   | 13e2fff9ea | ||
|   | 76ac34db9c | ||
|   | 5803e4e47b | ||
|   | 85090e3196 | ||
|   | c1f08c43fd | ||
|   | ca67bc9e9a | ||
|   | f69c312116 | ||
|   | c01a6df6ab | ||
|   | bb135369ed | ||
|   | 43ea011495 | ||
|   | cfe400f668 | ||
|   | 1c2c0c207e | ||
|   | c9f0d0fce1 | ||
|   | a8e190e78a | ||
|   | 257feaa392 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 1481762085 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 0e47aa13a1 | ||
|   | a1f3be3afd | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | b9fbd362d9 | ||
|   | 6606f5725a | ||
|   | a6bcf4f574 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | eb27b6bd76 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 3b1b1ba88e | ||
|   | d472b1018e | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | ec9bd7f5a4 | ||
|   | d5a8b4ff6b | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | da21fbfec5 | ||
|   | b949d4a261 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 5067f45a83 | ||
|   | c3d011b5be | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 302cd1b322 | ||
|   | d5fe78b891 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | d7873c3668 | ||
|   | 816a8405d9 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | c55cb093f9 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | a02e23b674 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 3c8fea1b4b | ||
|   | 295f514108 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 913c81b5d9 | ||
|   | 1f2db3a559 | ||
|   | 114b6f30b4 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | b0b7cfbaa5 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 7f600ab680 | ||
|   | 0ccdd645bc | ||
|   | 9ace74979e | ||
|   | 9649b7ab48 | ||
|   | d2d410527d | ||
|   | f48f922416 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 377a7bb219 | ||
|   | d2ffe89a4d | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 3c0019ab86 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 21636bce53 | ||
|   | 0b3e29b453 | ||
|   | 650c2f14e6 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 25a45e1eba | ||
|   | 1f7f41a1ab | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | c4b52471d7 | ||
|   | 3554e65fda | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 58ad817c74 | ||
|   | 55efa84cb8 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 7c78d51856 | ||
|   | 7df9fb3ead | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 4fe9ec778f | ||
|   | 708f4d3ba2 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 64cdfc8a7c | ||
|   | 9be3b94fb8 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | a348828e17 | ||
|   | bd626856ee | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | ad37acae04 | ||
|   | 4101a01624 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | c1f21d6a9e | ||
|   | 0274593c1a | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | c4b0384ec6 | ||
|   | e8b74fb4fa | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | bf58427578 | ||
|   | d595e35d0a | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 199f089acc | ||
|   | 1a62adf8c9 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | c8329a9079 | ||
|   | 1840d50c51 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 1984d794bd | ||
|   | 98e9960b8a | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 1b17ebe75e | ||
|   | 615ffff3ca | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 7d8c54b7b9 | ||
|   | 37cac945d7 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | ed111a8863 | ||
|   | b6cb0e033a | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 8274bf6bcf | ||
|   | 844d792a9a | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | fb7298cbc7 | ||
|   | 792e73cd50 | ||
|   | 1c4c7b5d41 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 9fea419c52 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | c78b5ddf0d | ||
|   | 2b1b3095d1 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 9f09db82df | ||
|   | a29a7f441b | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 99e0744cde | ||
|   | 64cf5fce96 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | aea5de6571 | ||
|   | 9c5739619e | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | eea44a49a2 | ||
|   | ea88338da0 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 857b7f7752 | ||
|   | 9368c6496f | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | a801d63db5 | ||
|   | 871e126509 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | a6206de18a | ||
|   | 8960007c0c | ||
|   | e019db9fdb | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 7bd7b9128a | ||
|   | de2dbe02e6 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 4b12896f89 | ||
|   | 0937e7de78 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | d23c74a8be | ||
|   | fcaab92837 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | fb335f7824 | ||
|   | acb0ac9333 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 04ab11df63 | ||
|   | eed3f4f839 | ||
|   | 73bd368b66 | ||
|   | 6f5e3d0829 | ||
|   | 18ce1361ef | ||
|   | db7b26f315 | ||
|   | 7770b17ee7 | ||
|   | 4a07c8cdb9 | ||
|   | c144ab7857 | ||
|   | 73765194e1 | ||
|   | f674c88870 | ||
|   | 6b097d5f9e | ||
|   | 44b5e1342e | ||
|   | 3705547f92 | ||
|   | 545555c06c | ||
|   | b246201e6b | ||
|   | 729be9aea6 | ||
|   | 99205e09cb | ||
|   | 0ec0680779 | ||
|   | 1f646e2b61 | ||
|   | 2b6f037031 | ||
|   | 62d73cb2cf | ||
|   | d8c4365480 | ||
|   | a707767170 | ||
|   | b904c404bb | ||
|   | 9ca3516d39 | ||
|   | 58fa288158 | ||
|   | 38f87f38c2 | ||
|   | 42afe64eb3 | ||
|   | 2a09efbde3 | ||
|   | 7685bbbdf4 | ||
|   | da12c5512d | ||
|   | 6b7bed5376 | ||
|   | 30da7363a0 | ||
|   | 748f85b33f | ||
|   | 9190b12c2e | ||
|   | 6d1348bb3e | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 3e2823bd18 | ||
|   | 4b89c87336 | ||
|   | fc7438bcda | ||
|   | 44604ef0ee | ||
|   | 69c06f820e | ||
|   | dcc5fa9451 | ||
|   | 5bcfa0af15 | ||
|   | 748df3e75a | ||
|   | 43a6e9526e | ||
|   | 05d962c004 | ||
|   | daaf02865e | ||
|   | 947d230e20 | ||
|   | adb9923f11 | ||
|   | 28865821d5 | ||
|   | 34ee199967 | ||
|   | 1d5440541f | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 248aec6d41 | ||
|   | 63b5368640 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 15d83baed9 | ||
|   | 1afcddd49d | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 9b70c8a1d1 | ||
|   | 0c037083a9 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 5d13964200 | ||
|   | 4a697a1eb3 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 35c1f8a24b | ||
|   | f3cab378cc | ||
|   | 362bbc1e22 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 87cf90e892 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 0e30a8fd34 | ||
|   | 6ad19f9a74 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 41db66d6fc | ||
|   | c3897e2922 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 2e1212029e | ||
|   | 5b6559e084 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 32a3153566 | ||
|   | b6cf4057d0 | ||
|   | d5968313b3 | ||
|   | 7638e00caa | ||
|   | 25737614cf | ||
|   | ffe12feafa | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 71c101a0fa | ||
|   | a00477e510 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | c3b4b6e96c | ||
|   | ae8f210306 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 139b0f4870 | ||
|   | 8749583563 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 54fa28a305 | ||
|   | ca5ced95d7 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 5c018e302d | ||
|   | 716f5a4878 | ||
|   | 464c871e79 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 56a8596fe9 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 8ba0110b24 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 75ce232c9c | ||
|   | 602deafe0a | ||
|   | 07fab67bb1 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 6b21d0af38 | ||
|   | 9c99c74835 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 05c797f133 | ||
|   | 894f364785 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | b607828b9d | ||
|   | 32c87e29aa | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | ee8aa518e5 | ||
|   | aebce6444e | ||
|   | 3ee7537cc8 | ||
|   | 7091428842 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 6d79796597 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | fbf0bbef5c | ||
|   | 50bea20332 | ||
|   | 22f4401661 | ||
|   | 0e92f332da | ||
|   | 7921dc7e37 | ||
|   | 0b9f4aebc8 | ||
|   | 2143a67c8d | ||
|   | 3b5d81397c | ||
|   | af89d59508 | ||
|   | 74f7e9b4c9 | ||
|   | ddac78a1dd | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 0591ba2589 | ||
|   | f602540e53 | ||
|   | 05194dded6 | ||
|   | 957cba4743 | ||
|   | 2a41f5c60f | ||
|   | f6eab90d0b | ||
|   | f415c93d8b | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | cf8e97a71b | ||
|   | ac0c464e5b | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 4457e96f9b | ||
|   | ddb765f758 | ||
|   | cd80e17ce8 | ||
|   | edb77f865f | ||
|   | a2e3e4fced | ||
|   | c3431ff1af | ||
|   | 62ebac1d4f | ||
|   | 3f4bff91cd | ||
|   | fc00b7501c | ||
|   | 2ba3adef60 | ||
|   | fba0b33855 | ||
|   | f33ba7493c | ||
|   | 1a9f3e144e | ||
|   | 0732a00253 | ||
|   | 2f5ae09380 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 1d0a80e362 | ||
|   | 7e70887486 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 99e619ca77 | ||
|   | 875a5f3081 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 23cac43c89 | ||
|   | 6e44e3c729 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 8a2be493cb | ||
|   | b5a1f8aec4 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | d7b4cc8c6c | ||
|   | 318be60fa9 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 56cbe84675 | ||
|   | 91db8c2e5d | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | e02ca45688 | ||
|   | f864d67dbc | ||
|   | 863767bc9f | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | dca7968160 | ||
|   | 2fd96adf12 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | ec64c27225 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 0dd355a984 | ||
|   | 495f9835f2 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | eb70c9cef1 | ||
|   | 93c051e1a7 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | e86e48703c | ||
|   | 145a7fe255 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | ba555c5a34 | ||
|   | b2f5e6ceb7 | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 5eb19f802b | ||
|   | 23131b83cc | ||
| ![dependabot[bot]](/assets/img/avatar_default.png)  | 2ec67be1e9 | 
							
								
								
									
										1
									
								
								.github/CODEOWNERS
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								.github/CODEOWNERS
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1 @@ | ||||
| * @gofiber/maintainers | ||||
							
								
								
									
										186
									
								
								.github/dependabot.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										186
									
								
								.github/dependabot.yml
									
									
									
									
										vendored
									
									
								
							| @@ -1,142 +1,60 @@ | ||||
| # https://help.github.com/github/administering-a-repository/configuration-options-for-dependency-updates | ||||
| # https://docs.github.com/en/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file#directories | ||||
|  | ||||
| version: 2 | ||||
| updates: | ||||
|     -   package-ecosystem: "github-actions" | ||||
|         directory: "/" | ||||
|         schedule: | ||||
|             interval: daily | ||||
|         labels: | ||||
|             - "🤖 Dependencies" | ||||
|     -   package-ecosystem: "gomod" | ||||
|         directory: "/" # Location of package manifests | ||||
|         labels: | ||||
|             - "🤖 Dependencies" | ||||
|         schedule: | ||||
|             interval: "daily" | ||||
|     -   package-ecosystem: "gomod" | ||||
|         directory: "/arangodb/" # Location of package manifests | ||||
|         labels: | ||||
|             - "🤖 Dependencies" | ||||
|         schedule: | ||||
|             interval: "daily" | ||||
|     -   package-ecosystem: "gomod" | ||||
|         directory: "/badger/" # Location of package manifests | ||||
|         labels: | ||||
|             - "🤖 Dependencies" | ||||
|         schedule: | ||||
|             interval: "daily" | ||||
|     -   package-ecosystem: "gomod" | ||||
|         directory: "/couchbase/" # Location of package manifests | ||||
|         labels: | ||||
|             - "🤖 Dependencies" | ||||
|         schedule: | ||||
|             interval: "daily" | ||||
|     -   package-ecosystem: "gomod" | ||||
|         directory: "/coherence/" # Location of package manifests | ||||
|         labels: | ||||
|             - "🤖 Dependencies" | ||||
|         schedule: | ||||
|             interval: "daily" | ||||
|     -   package-ecosystem: "gomod" | ||||
|         directory: "/etcd/" # Location of package manifests | ||||
|         labels: | ||||
|             - "🤖 Dependencies" | ||||
|         schedule: | ||||
|             interval: "daily" | ||||
|     -   package-ecosystem: "gomod" | ||||
|         directory: "/pebble/" # Location of package manifests | ||||
|         labels: | ||||
|             - "🤖 Dependencies" | ||||
|         schedule: | ||||
|             interval: "daily" | ||||
|     -   package-ecosystem: "gomod" | ||||
|         directory: "/dynamodb/" # Location of package manifests | ||||
|         labels: | ||||
|             - "🤖 Dependencies" | ||||
|         schedule: | ||||
|             interval: "weekly" | ||||
|     -   package-ecosystem: "gomod" | ||||
|         directory: "/memcache/" # Location of package manifests | ||||
|         labels: | ||||
|             - "🤖 Dependencies" | ||||
|         schedule: | ||||
|             interval: "daily" | ||||
|     -   package-ecosystem: "gomod" | ||||
|         directory: "/memory/" # Location of package manifests | ||||
|         labels: | ||||
|             - "🤖 Dependencies" | ||||
|         schedule: | ||||
|             interval: "daily" | ||||
|     - package-ecosystem: "gomod" | ||||
|       directory: "/minio/" # Location of package manifests | ||||
|     - package-ecosystem: "github-actions" | ||||
|       open-pull-requests-limit: 30 | ||||
|       directory: "/" | ||||
|       labels: | ||||
|           - "🤖 Dependencies" | ||||
|       schedule: | ||||
|           interval: "daily" | ||||
|     -   package-ecosystem: "gomod" | ||||
|         directory: "/mongodb/" # Location of package manifests | ||||
|         labels: | ||||
|             - "🤖 Dependencies" | ||||
|         schedule: | ||||
|             interval: "daily" | ||||
|     -   package-ecosystem: "gomod" | ||||
|         directory: "/mysql/" # Location of package manifests | ||||
|         labels: | ||||
|             - "🤖 Dependencies" | ||||
|         schedule: | ||||
|             interval: "daily" | ||||
|     -   package-ecosystem: "gomod" | ||||
|         directory: "/postgres/" # Location of package manifests | ||||
|         labels: | ||||
|             - "🤖 Dependencies" | ||||
|         schedule: | ||||
|             interval: "daily" | ||||
|     -   package-ecosystem: "gomod" | ||||
|         directory: "/redis/" # Location of package manifests | ||||
|         labels: | ||||
|             - "🤖 Dependencies" | ||||
|         schedule: | ||||
|             interval: "daily" | ||||
|     -   package-ecosystem: "gomod" | ||||
|         directory: "/sqlite3/" # Location of package manifests | ||||
|         labels: | ||||
|             - "🤖 Dependencies" | ||||
|         schedule: | ||||
|             interval: "daily" | ||||
|     -   package-ecosystem: "gomod" | ||||
|         directory: "/ristretto/" # Location of package manifests | ||||
|         labels: | ||||
|             - "🤖 Dependencies" | ||||
|         schedule: | ||||
|             interval: "daily" | ||||
|     -   package-ecosystem: "gomod" | ||||
|         directory: "/s3/" # Location of package manifests | ||||
|         labels: | ||||
|             - "🤖 Dependencies" | ||||
|         schedule: | ||||
|             interval: "weekly" | ||||
|     -   package-ecosystem: "gomod" | ||||
|         directory: "/bbolt/" # Location of package manifests | ||||
|         labels: | ||||
|             - "🤖 Dependencies" | ||||
|         schedule: | ||||
|             interval: "daily" | ||||
|     -   package-ecosystem: "gomod" | ||||
|         directory: "/azureblob/" # Location of package manifests | ||||
|         labels: | ||||
|             - "🤖 Dependencies" | ||||
|         schedule: | ||||
|             interval: "daily" | ||||
|     -   package-ecosystem: "gomod" | ||||
|         directory: "/mssql/" # Location of package manifests | ||||
|         labels: | ||||
|             - "🤖 Dependencies" | ||||
|         schedule: | ||||
|             interval: "daily" | ||||
|     -   package-ecosystem: "gomod" | ||||
|         directory: "/rueidis/" # Location of package manifests | ||||
|         labels: | ||||
|             - "🤖 Dependencies" | ||||
|         schedule: | ||||
|             interval: "daily" | ||||
|     - package-ecosystem: "gomod" | ||||
|       open-pull-requests-limit: 30 | ||||
|       directories: | ||||
|           - "**/*" | ||||
|       labels: | ||||
|           - "🤖 Dependencies" | ||||
|       schedule: | ||||
|           interval: "daily" | ||||
|       groups: | ||||
|           testcontainers-modules: | ||||
|               patterns: | ||||
|                   - "github.com/testcontainers/testcontainers-go" | ||||
|                   - "github.com/testcontainers/testcontainers-go/modules/**" | ||||
|           utils-modules: | ||||
|               patterns: | ||||
|                   - "github.com/gofiber/utils" | ||||
|                   - "github.com/gofiber/utils/**" | ||||
|           fiber-modules: | ||||
|               patterns: | ||||
|                   - "github.com/gofiber/fiber/**" | ||||
|           fasthttp-modules: | ||||
|               patterns: | ||||
|                   - "github.com/valyala/fasthttp" | ||||
|                   - "github.com/valyala/fasthttp/**" | ||||
|           golang-modules: | ||||
|               patterns: | ||||
|                   - "golang.org/x/**" | ||||
|           aws-modules: | ||||
|               patterns: | ||||
|                   - "github.com/aws/**" | ||||
|           azure-modules: | ||||
|               patterns: | ||||
|                   - "github.com/Azure/**" | ||||
|           docker-modules: | ||||
|               patterns: | ||||
|                   - "github.com/docker/**" | ||||
|                   - "github.com/containerd/**" | ||||
|                   - "github.com/distribution/**" | ||||
|                   - "github.com/moby/**" | ||||
|           google-modules: | ||||
|               patterns: | ||||
|                   - "google.golang.org/**" | ||||
|           opentelemetry-modules: | ||||
|               patterns: | ||||
|                   - "go.opentelemetry.io/**" | ||||
|           testify-modules: | ||||
|               patterns: | ||||
|                   - "github.com/stretchr/testify" | ||||
|   | ||||
							
								
								
									
										50
									
								
								.github/release-drafter-azureblob.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										50
									
								
								.github/release-drafter-azureblob.yml
									
									
									
									
										vendored
									
									
								
							| @@ -1,50 +0,0 @@ | ||||
| name-template: 'Azure Blob - v$RESOLVED_VERSION' | ||||
| tag-template: 'azureblob/v$RESOLVED_VERSION' | ||||
| tag-prefix: azureblob/v | ||||
| include-paths: | ||||
|   - azureblob | ||||
| categories: | ||||
|     - title: '❗ Breaking Changes' | ||||
|       labels: | ||||
|           - '❗ BreakingChange' | ||||
|     - title: '🚀 New' | ||||
|       labels: | ||||
|           - '✏️ Feature' | ||||
|     - title: '🧹 Updates' | ||||
|       labels: | ||||
|           - '🧹 Updates' | ||||
|           - '🤖 Dependencies' | ||||
|     - title: '🐛 Fixes' | ||||
|       labels: | ||||
|           - '☢️ Bug' | ||||
|     - title: '📚 Documentation' | ||||
|       labels: | ||||
|           - '📒 Documentation' | ||||
| change-template: '- $TITLE (#$NUMBER)' | ||||
| change-title-escapes: '\<*_&' # You can add # and @ to disable mentions, and add ` to disable code blocks. | ||||
| exclude-contributors: | ||||
|     - dependabot | ||||
|     - dependabot[bot] | ||||
| version-resolver: | ||||
|     major: | ||||
|         labels: | ||||
|             - 'major' | ||||
|             - '❗ BreakingChange' | ||||
|     minor: | ||||
|         labels: | ||||
|             - 'minor' | ||||
|             - '✏️ Feature' | ||||
|     patch: | ||||
|         labels: | ||||
|             - 'patch' | ||||
|             - '📒 Documentation' | ||||
|             - '☢️ Bug' | ||||
|             - '🤖 Dependencies' | ||||
|             - '🧹 Updates' | ||||
|     default: patch | ||||
| template: | | ||||
|     $CHANGES | ||||
|  | ||||
|     **Full Changelog**: https://github.com/$OWNER/$REPOSITORY/compare/$PREVIOUS_TAG...azureblob/v$RESOLVED_VERSION | ||||
|  | ||||
|     Thank you $CONTRIBUTORS for making this update possible. | ||||
							
								
								
									
										50
									
								
								.github/release-drafter-badger.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										50
									
								
								.github/release-drafter-badger.yml
									
									
									
									
										vendored
									
									
								
							| @@ -1,50 +0,0 @@ | ||||
| name-template: 'Badger - v$RESOLVED_VERSION' | ||||
| tag-template: 'badger/v$RESOLVED_VERSION' | ||||
| tag-prefix: badger/v | ||||
| include-paths: | ||||
|   - badger | ||||
| categories: | ||||
|     - title: '❗ Breaking Changes' | ||||
|       labels: | ||||
|           - '❗ BreakingChange' | ||||
|     - title: '🚀 New' | ||||
|       labels: | ||||
|           - '✏️ Feature' | ||||
|     - title: '🧹 Updates' | ||||
|       labels: | ||||
|           - '🧹 Updates' | ||||
|           - '🤖 Dependencies' | ||||
|     - title: '🐛 Fixes' | ||||
|       labels: | ||||
|           - '☢️ Bug' | ||||
|     - title: '📚 Documentation' | ||||
|       labels: | ||||
|           - '📒 Documentation' | ||||
| change-template: '- $TITLE (#$NUMBER)' | ||||
| change-title-escapes: '\<*_&' # You can add # and @ to disable mentions, and add ` to disable code blocks. | ||||
| exclude-contributors: | ||||
|     - dependabot | ||||
|     - dependabot[bot] | ||||
| version-resolver: | ||||
|     major: | ||||
|         labels: | ||||
|             - 'major' | ||||
|             - '❗ BreakingChange' | ||||
|     minor: | ||||
|         labels: | ||||
|             - 'minor' | ||||
|             - '✏️ Feature' | ||||
|     patch: | ||||
|         labels: | ||||
|             - 'patch' | ||||
|             - '📒 Documentation' | ||||
|             - '☢️ Bug' | ||||
|             - '🤖 Dependencies' | ||||
|             - '🧹 Updates' | ||||
|     default: patch | ||||
| template: | | ||||
|     $CHANGES | ||||
|  | ||||
|     **Full Changelog**: https://github.com/$OWNER/$REPOSITORY/compare/$PREVIOUS_TAG...badger/v$RESOLVED_VERSION | ||||
|  | ||||
|     Thank you $CONTRIBUTORS for making this update possible. | ||||
							
								
								
									
										50
									
								
								.github/release-drafter-bbolt.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										50
									
								
								.github/release-drafter-bbolt.yml
									
									
									
									
										vendored
									
									
								
							| @@ -1,50 +0,0 @@ | ||||
| name-template: 'Bbolt - v$RESOLVED_VERSION' | ||||
| tag-template: 'bbolt/v$RESOLVED_VERSION' | ||||
| tag-prefix: bbolt/v | ||||
| include-paths: | ||||
|   - bbolt | ||||
| categories: | ||||
|     - title: '❗ Breaking Changes' | ||||
|       labels: | ||||
|           - '❗ BreakingChange' | ||||
|     - title: '🚀 New' | ||||
|       labels: | ||||
|           - '✏️ Feature' | ||||
|     - title: '🧹 Updates' | ||||
|       labels: | ||||
|           - '🧹 Updates' | ||||
|           - '🤖 Dependencies' | ||||
|     - title: '🐛 Fixes' | ||||
|       labels: | ||||
|           - '☢️ Bug' | ||||
|     - title: '📚 Documentation' | ||||
|       labels: | ||||
|           - '📒 Documentation' | ||||
| change-template: '- $TITLE (#$NUMBER)' | ||||
| change-title-escapes: '\<*_&' # You can add # and @ to disable mentions, and add ` to disable code blocks. | ||||
| exclude-contributors: | ||||
|     - dependabot | ||||
|     - dependabot[bot] | ||||
| version-resolver: | ||||
|     major: | ||||
|         labels: | ||||
|             - 'major' | ||||
|             - '❗ BreakingChange' | ||||
|     minor: | ||||
|         labels: | ||||
|             - 'minor' | ||||
|             - '✏️ Feature' | ||||
|     patch: | ||||
|         labels: | ||||
|             - 'patch' | ||||
|             - '📒 Documentation' | ||||
|             - '☢️ Bug' | ||||
|             - '🤖 Dependencies' | ||||
|             - '🧹 Updates' | ||||
|     default: patch | ||||
| template: | | ||||
|     $CHANGES | ||||
|  | ||||
|     **Full Changelog**: https://github.com/$OWNER/$REPOSITORY/compare/$PREVIOUS_TAG...bbolt/v$RESOLVED_VERSION | ||||
|  | ||||
|     Thank you $CONTRIBUTORS for making this update possible. | ||||
							
								
								
									
										50
									
								
								.github/release-drafter-coherence.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										50
									
								
								.github/release-drafter-coherence.yml
									
									
									
									
										vendored
									
									
								
							| @@ -1,50 +0,0 @@ | ||||
| name-template: 'Coherence - v$RESOLVED_VERSION' | ||||
| tag-template: 'coherence/v$RESOLVED_VERSION' | ||||
| tag-prefix: coherence/v | ||||
| include-paths: | ||||
|   - coherence | ||||
| categories: | ||||
|     - title: '❗ Breaking Changes' | ||||
|       labels: | ||||
|           - '❗ BreakingChange' | ||||
|     - title: '🚀 New' | ||||
|       labels: | ||||
|           - '✏️ Feature' | ||||
|     - title: '🧹 Updates' | ||||
|       labels: | ||||
|           - '🧹 Updates' | ||||
|           - '🤖 Dependencies' | ||||
|     - title: '🐛 Fixes' | ||||
|       labels: | ||||
|           - '☢️ Bug' | ||||
|     - title: '📚 Documentation' | ||||
|       labels: | ||||
|           - '📒 Documentation' | ||||
| change-template: '- $TITLE (#$NUMBER)' | ||||
| change-title-escapes: '\<*_&' # You can add # and @ to disable mentions, and add ` to disable code blocks. | ||||
| exclude-contributors: | ||||
|     - dependabot | ||||
|     - dependabot[bot] | ||||
| version-resolver: | ||||
|     major: | ||||
|         labels: | ||||
|             - 'major' | ||||
|             - '❗ BreakingChange' | ||||
|     minor: | ||||
|         labels: | ||||
|             - 'minor' | ||||
|             - '✏️ Feature' | ||||
|     patch: | ||||
|         labels: | ||||
|             - 'patch' | ||||
|             - '📒 Documentation' | ||||
|             - '☢️ Bug' | ||||
|             - '🤖 Dependencies' | ||||
|             - '🧹 Updates' | ||||
|     default: patch | ||||
| template: | | ||||
|     $CHANGES | ||||
|  | ||||
|     **Full Changelog**: https://github.com/$OWNER/$REPOSITORY/compare/$PREVIOUS_TAG...coherence/v$RESOLVED_VERSION | ||||
|  | ||||
|     Thank you $CONTRIBUTORS for making this update possible. | ||||
							
								
								
									
										50
									
								
								.github/release-drafter-couchbase.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										50
									
								
								.github/release-drafter-couchbase.yml
									
									
									
									
										vendored
									
									
								
							| @@ -1,50 +0,0 @@ | ||||
| name-template: 'Couchbase - v$RESOLVED_VERSION' | ||||
| tag-template: 'couchbase/v$RESOLVED_VERSION' | ||||
| tag-prefix: couchbase/v | ||||
| include-paths: | ||||
|   - couchbase | ||||
| categories: | ||||
|     - title: '❗ Breaking Changes' | ||||
|       labels: | ||||
|           - '❗ BreakingChange' | ||||
|     - title: '🚀 New' | ||||
|       labels: | ||||
|           - '✏️ Feature' | ||||
|     - title: '🧹 Updates' | ||||
|       labels: | ||||
|           - '🧹 Updates' | ||||
|           - '🤖 Dependencies' | ||||
|     - title: '🐛 Fixes' | ||||
|       labels: | ||||
|           - '☢️ Bug' | ||||
|     - title: '📚 Documentation' | ||||
|       labels: | ||||
|           - '📒 Documentation' | ||||
| change-template: '- $TITLE (#$NUMBER)' | ||||
| change-title-escapes: '\<*_&' # You can add # and @ to disable mentions, and add ` to disable code blocks. | ||||
| exclude-contributors: | ||||
|     - dependabot | ||||
|     - dependabot[bot] | ||||
| version-resolver: | ||||
|     major: | ||||
|         labels: | ||||
|             - 'major' | ||||
|             - '❗ BreakingChange' | ||||
|     minor: | ||||
|         labels: | ||||
|             - 'minor' | ||||
|             - '✏️ Feature' | ||||
|     patch: | ||||
|         labels: | ||||
|             - 'patch' | ||||
|             - '📒 Documentation' | ||||
|             - '☢️ Bug' | ||||
|             - '🤖 Dependencies' | ||||
|             - '🧹 Updates' | ||||
|     default: patch | ||||
| template: | | ||||
|   $CHANGES | ||||
|  | ||||
|   **Full Changelog**: https://github.com/$OWNER/$REPOSITORY/compare/$PREVIOUS_TAG...couchbase/v$RESOLVED_VERSION | ||||
|  | ||||
|   Thank you $CONTRIBUTORS for making this update possible. | ||||
							
								
								
									
										50
									
								
								.github/release-drafter-dynamodb.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										50
									
								
								.github/release-drafter-dynamodb.yml
									
									
									
									
										vendored
									
									
								
							| @@ -1,50 +0,0 @@ | ||||
| name-template: 'DynamoDB - v$RESOLVED_VERSION' | ||||
| tag-template: 'dynamodb/v$RESOLVED_VERSION' | ||||
| tag-prefix: dynamodb/v | ||||
| include-paths: | ||||
|   - dynamodb | ||||
| categories: | ||||
|     - title: '❗ Breaking Changes' | ||||
|       labels: | ||||
|           - '❗ BreakingChange' | ||||
|     - title: '🚀 New' | ||||
|       labels: | ||||
|           - '✏️ Feature' | ||||
|     - title: '🧹 Updates' | ||||
|       labels: | ||||
|           - '🧹 Updates' | ||||
|           - '🤖 Dependencies' | ||||
|     - title: '🐛 Fixes' | ||||
|       labels: | ||||
|           - '☢️ Bug' | ||||
|     - title: '📚 Documentation' | ||||
|       labels: | ||||
|           - '📒 Documentation' | ||||
| change-template: '- $TITLE (#$NUMBER)' | ||||
| change-title-escapes: '\<*_&' # You can add # and @ to disable mentions, and add ` to disable code blocks. | ||||
| exclude-contributors: | ||||
|     - dependabot | ||||
|     - dependabot[bot] | ||||
| version-resolver: | ||||
|     major: | ||||
|         labels: | ||||
|             - 'major' | ||||
|             - '❗ BreakingChange' | ||||
|     minor: | ||||
|         labels: | ||||
|             - 'minor' | ||||
|             - '✏️ Feature' | ||||
|     patch: | ||||
|         labels: | ||||
|             - 'patch' | ||||
|             - '📒 Documentation' | ||||
|             - '☢️ Bug' | ||||
|             - '🤖 Dependencies' | ||||
|             - '🧹 Updates' | ||||
|     default: patch | ||||
| template: | | ||||
|     $CHANGES | ||||
|  | ||||
|     **Full Changelog**: https://github.com/$OWNER/$REPOSITORY/compare/$PREVIOUS_TAG...dynamodb/v$RESOLVED_VERSION | ||||
|  | ||||
|     Thank you $CONTRIBUTORS for making this update possible. | ||||
							
								
								
									
										50
									
								
								.github/release-drafter-etcd.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										50
									
								
								.github/release-drafter-etcd.yml
									
									
									
									
										vendored
									
									
								
							| @@ -1,50 +0,0 @@ | ||||
| name-template: 'Etcd - v$RESOLVED_VERSION' | ||||
| tag-template: 'etcd/v$RESOLVED_VERSION' | ||||
| tag-prefix: etcd/v | ||||
| include-paths: | ||||
|     - etcd | ||||
| categories: | ||||
|     - title: '❗ Breaking Changes' | ||||
|       labels: | ||||
|           - '❗ BreakingChange' | ||||
|     - title: '🚀 New' | ||||
|       labels: | ||||
|           - '✏️ Feature' | ||||
|     - title: '🧹 Updates' | ||||
|       labels: | ||||
|           - '🧹 Updates' | ||||
|           - '🤖 Dependencies' | ||||
|     - title: '🐛 Fixes' | ||||
|       labels: | ||||
|           - '☢️ Bug' | ||||
|     - title: '📚 Documentation' | ||||
|       labels: | ||||
|           - '📒 Documentation' | ||||
| change-template: '- $TITLE (#$NUMBER)' | ||||
| change-title-escapes: '\<*_&' # You can add # and @ to disable mentions, and add ` to disable code blocks. | ||||
| exclude-contributors: | ||||
|     - dependabot | ||||
|     - dependabot[bot] | ||||
| version-resolver: | ||||
|     major: | ||||
|         labels: | ||||
|             - 'major' | ||||
|             - '❗ BreakingChange' | ||||
|     minor: | ||||
|         labels: | ||||
|             - 'minor' | ||||
|             - '✏️ Feature' | ||||
|     patch: | ||||
|         labels: | ||||
|             - 'patch' | ||||
|             - '📒 Documentation' | ||||
|             - '☢️ Bug' | ||||
|             - '🤖 Dependencies' | ||||
|             - '🧹 Updates' | ||||
|     default: patch | ||||
| template: | | ||||
|     $CHANGES | ||||
|  | ||||
|     **Full Changelog**: https://github.com/$OWNER/$REPOSITORY/compare/$PREVIOUS_TAG...etcd/v$RESOLVED_VERSION | ||||
|  | ||||
|     Thank you $CONTRIBUTORS for making this update possible. | ||||
							
								
								
									
										50
									
								
								.github/release-drafter-memcache.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										50
									
								
								.github/release-drafter-memcache.yml
									
									
									
									
										vendored
									
									
								
							| @@ -1,50 +0,0 @@ | ||||
| name-template: 'Memcache - v$RESOLVED_VERSION' | ||||
| tag-template: 'memcache/v$RESOLVED_VERSION' | ||||
| tag-prefix: memcache/v | ||||
| include-paths: | ||||
|   - memcache | ||||
| categories: | ||||
|     - title: '❗ Breaking Changes' | ||||
|       labels: | ||||
|           - '❗ BreakingChange' | ||||
|     - title: '🚀 New' | ||||
|       labels: | ||||
|           - '✏️ Feature' | ||||
|     - title: '🧹 Updates' | ||||
|       labels: | ||||
|           - '🧹 Updates' | ||||
|           - '🤖 Dependencies' | ||||
|     - title: '🐛 Fixes' | ||||
|       labels: | ||||
|           - '☢️ Bug' | ||||
|     - title: '📚 Documentation' | ||||
|       labels: | ||||
|           - '📒 Documentation' | ||||
| change-template: '- $TITLE (#$NUMBER)' | ||||
| change-title-escapes: '\<*_&' # You can add # and @ to disable mentions, and add ` to disable code blocks. | ||||
| exclude-contributors: | ||||
|     - dependabot | ||||
|     - dependabot[bot] | ||||
| version-resolver: | ||||
|     major: | ||||
|         labels: | ||||
|             - 'major' | ||||
|             - '❗ BreakingChange' | ||||
|     minor: | ||||
|         labels: | ||||
|             - 'minor' | ||||
|             - '✏️ Feature' | ||||
|     patch: | ||||
|         labels: | ||||
|             - 'patch' | ||||
|             - '📒 Documentation' | ||||
|             - '☢️ Bug' | ||||
|             - '🤖 Dependencies' | ||||
|             - '🧹 Updates' | ||||
|     default: patch | ||||
| template: | | ||||
|     $CHANGES | ||||
|  | ||||
|     **Full Changelog**: https://github.com/$OWNER/$REPOSITORY/compare/$PREVIOUS_TAG...memcache/v$RESOLVED_VERSION | ||||
|  | ||||
|     Thank you $CONTRIBUTORS for making this update possible. | ||||
							
								
								
									
										50
									
								
								.github/release-drafter-memory.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										50
									
								
								.github/release-drafter-memory.yml
									
									
									
									
										vendored
									
									
								
							| @@ -1,50 +0,0 @@ | ||||
| name-template: 'Memory - v$RESOLVED_VERSION' | ||||
| tag-template: 'memory/v$RESOLVED_VERSION' | ||||
| tag-prefix: memory/v | ||||
| include-paths: | ||||
|   - memory | ||||
| categories: | ||||
|     - title: '❗ Breaking Changes' | ||||
|       labels: | ||||
|           - '❗ BreakingChange' | ||||
|     - title: '🚀 New' | ||||
|       labels: | ||||
|           - '✏️ Feature' | ||||
|     - title: '🧹 Updates' | ||||
|       labels: | ||||
|           - '🧹 Updates' | ||||
|           - '🤖 Dependencies' | ||||
|     - title: '🐛 Fixes' | ||||
|       labels: | ||||
|           - '☢️ Bug' | ||||
|     - title: '📚 Documentation' | ||||
|       labels: | ||||
|           - '📒 Documentation' | ||||
| change-template: '- $TITLE (#$NUMBER)' | ||||
| change-title-escapes: '\<*_&' # You can add # and @ to disable mentions, and add ` to disable code blocks. | ||||
| exclude-contributors: | ||||
|     - dependabot | ||||
|     - dependabot[bot] | ||||
| version-resolver: | ||||
|     major: | ||||
|         labels: | ||||
|             - 'major' | ||||
|             - '❗ BreakingChange' | ||||
|     minor: | ||||
|         labels: | ||||
|             - 'minor' | ||||
|             - '✏️ Feature' | ||||
|     patch: | ||||
|         labels: | ||||
|             - 'patch' | ||||
|             - '📒 Documentation' | ||||
|             - '☢️ Bug' | ||||
|             - '🤖 Dependencies' | ||||
|             - '🧹 Updates' | ||||
|     default: patch | ||||
| template: | | ||||
|     $CHANGES | ||||
|  | ||||
|     **Full Changelog**: https://github.com/$OWNER/$REPOSITORY/compare/$PREVIOUS_TAG...memory/v$RESOLVED_VERSION | ||||
|  | ||||
|     Thank you $CONTRIBUTORS for making this update possible. | ||||
							
								
								
									
										50
									
								
								.github/release-drafter-minio.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										50
									
								
								.github/release-drafter-minio.yml
									
									
									
									
										vendored
									
									
								
							| @@ -1,50 +0,0 @@ | ||||
| name-template: 'Minio - v$RESOLVED_VERSION' | ||||
| tag-template: 'minio/v$RESOLVED_VERSION' | ||||
| tag-prefix: minio/v | ||||
| include-paths: | ||||
|   - minio | ||||
| categories: | ||||
|     - title: '❗ Breaking Changes' | ||||
|       labels: | ||||
|           - '❗ BreakingChange' | ||||
|     - title: '🚀 New' | ||||
|       labels: | ||||
|           - '✏️ Feature' | ||||
|     - title: '🧹 Updates' | ||||
|       labels: | ||||
|           - '🧹 Updates' | ||||
|           - '🤖 Dependencies' | ||||
|     - title: '🐛 Fixes' | ||||
|       labels: | ||||
|           - '☢️ Bug' | ||||
|     - title: '📚 Documentation' | ||||
|       labels: | ||||
|           - '📒 Documentation' | ||||
| change-template: '- $TITLE (#$NUMBER)' | ||||
| change-title-escapes: '\<*_&' # You can add # and @ to disable mentions, and add ` to disable code blocks. | ||||
| exclude-contributors: | ||||
|     - dependabot | ||||
|     - dependabot[bot] | ||||
| version-resolver: | ||||
|     major: | ||||
|         labels: | ||||
|             - 'major' | ||||
|             - '❗ BreakingChange' | ||||
|     minor: | ||||
|         labels: | ||||
|             - 'minor' | ||||
|             - '✏️ Feature' | ||||
|     patch: | ||||
|         labels: | ||||
|             - 'patch' | ||||
|             - '📒 Documentation' | ||||
|             - '☢️ Bug' | ||||
|             - '🤖 Dependencies' | ||||
|             - '🧹 Updates' | ||||
|     default: patch | ||||
| template: | | ||||
|     $CHANGES | ||||
|  | ||||
|     **Full Changelog**: https://github.com/$OWNER/$REPOSITORY/compare/$PREVIOUS_TAG...minio/v$RESOLVED_VERSION | ||||
|  | ||||
|     Thank you $CONTRIBUTORS for making this update possible. | ||||
							
								
								
									
										50
									
								
								.github/release-drafter-mongodb.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										50
									
								
								.github/release-drafter-mongodb.yml
									
									
									
									
										vendored
									
									
								
							| @@ -1,50 +0,0 @@ | ||||
| name-template: 'MongoDB - v$RESOLVED_VERSION' | ||||
| tag-template: 'mongodb/v$RESOLVED_VERSION' | ||||
| tag-prefix: mongodb/v | ||||
| include-paths: | ||||
|   - mongodb | ||||
| categories: | ||||
|     - title: '❗ Breaking Changes' | ||||
|       labels: | ||||
|           - '❗ BreakingChange' | ||||
|     - title: '🚀 New' | ||||
|       labels: | ||||
|           - '✏️ Feature' | ||||
|     - title: '🧹 Updates' | ||||
|       labels: | ||||
|           - '🧹 Updates' | ||||
|           - '🤖 Dependencies' | ||||
|     - title: '🐛 Fixes' | ||||
|       labels: | ||||
|           - '☢️ Bug' | ||||
|     - title: '📚 Documentation' | ||||
|       labels: | ||||
|           - '📒 Documentation' | ||||
| change-template: '- $TITLE (#$NUMBER)' | ||||
| change-title-escapes: '\<*_&' # You can add # and @ to disable mentions, and add ` to disable code blocks. | ||||
| exclude-contributors: | ||||
|     - dependabot | ||||
|     - dependabot[bot] | ||||
| version-resolver: | ||||
|     major: | ||||
|         labels: | ||||
|             - 'major' | ||||
|             - '❗ BreakingChange' | ||||
|     minor: | ||||
|         labels: | ||||
|             - 'minor' | ||||
|             - '✏️ Feature' | ||||
|     patch: | ||||
|         labels: | ||||
|             - 'patch' | ||||
|             - '📒 Documentation' | ||||
|             - '☢️ Bug' | ||||
|             - '🤖 Dependencies' | ||||
|             - '🧹 Updates' | ||||
|     default: patch | ||||
| template: | | ||||
|     $CHANGES | ||||
|  | ||||
|     **Full Changelog**: https://github.com/$OWNER/$REPOSITORY/compare/$PREVIOUS_TAG...mongodb/v$RESOLVED_VERSION | ||||
|  | ||||
|     Thank you $CONTRIBUTORS for making this update possible. | ||||
							
								
								
									
										50
									
								
								.github/release-drafter-mssql.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										50
									
								
								.github/release-drafter-mssql.yml
									
									
									
									
										vendored
									
									
								
							| @@ -1,50 +0,0 @@ | ||||
| name-template: 'MSSQL - v$RESOLVED_VERSION' | ||||
| tag-template: 'mssql/v$RESOLVED_VERSION' | ||||
| tag-prefix: mssql/v | ||||
| include-paths: | ||||
|   - mssql | ||||
| categories: | ||||
|     - title: '❗ Breaking Changes' | ||||
|       labels: | ||||
|           - '❗ BreakingChange' | ||||
|     - title: '🚀 New' | ||||
|       labels: | ||||
|           - '✏️ Feature' | ||||
|     - title: '🧹 Updates' | ||||
|       labels: | ||||
|           - '🧹 Updates' | ||||
|           - '🤖 Dependencies' | ||||
|     - title: '🐛 Fixes' | ||||
|       labels: | ||||
|           - '☢️ Bug' | ||||
|     - title: '📚 Documentation' | ||||
|       labels: | ||||
|           - '📒 Documentation' | ||||
| change-template: '- $TITLE (#$NUMBER)' | ||||
| change-title-escapes: '\<*_&' # You can add # and @ to disable mentions, and add ` to disable code blocks. | ||||
| exclude-contributors: | ||||
|     - dependabot | ||||
|     - dependabot[bot] | ||||
| version-resolver: | ||||
|     major: | ||||
|         labels: | ||||
|             - 'major' | ||||
|             - '❗ BreakingChange' | ||||
|     minor: | ||||
|         labels: | ||||
|             - 'minor' | ||||
|             - '✏️ Feature' | ||||
|     patch: | ||||
|         labels: | ||||
|             - 'patch' | ||||
|             - '📒 Documentation' | ||||
|             - '☢️ Bug' | ||||
|             - '🤖 Dependencies' | ||||
|             - '🧹 Updates' | ||||
|     default: patch | ||||
| template: | | ||||
|     $CHANGES | ||||
|  | ||||
|     **Full Changelog**: https://github.com/$OWNER/$REPOSITORY/compare/$PREVIOUS_TAG...mssql/v$RESOLVED_VERSION | ||||
|  | ||||
|     Thank you $CONTRIBUTORS for making this update possible. | ||||
							
								
								
									
										50
									
								
								.github/release-drafter-mysql.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										50
									
								
								.github/release-drafter-mysql.yml
									
									
									
									
										vendored
									
									
								
							| @@ -1,50 +0,0 @@ | ||||
| name-template: 'MySQL - v$RESOLVED_VERSION' | ||||
| tag-template: 'mysql/v$RESOLVED_VERSION' | ||||
| tag-prefix: mysql/v | ||||
| include-paths: | ||||
|   - mysql | ||||
| categories: | ||||
|     - title: '❗ Breaking Changes' | ||||
|       labels: | ||||
|           - '❗ BreakingChange' | ||||
|     - title: '🚀 New' | ||||
|       labels: | ||||
|           - '✏️ Feature' | ||||
|     - title: '🧹 Updates' | ||||
|       labels: | ||||
|           - '🧹 Updates' | ||||
|           - '🤖 Dependencies' | ||||
|     - title: '🐛 Fixes' | ||||
|       labels: | ||||
|           - '☢️ Bug' | ||||
|     - title: '📚 Documentation' | ||||
|       labels: | ||||
|           - '📒 Documentation' | ||||
| change-template: '- $TITLE (#$NUMBER)' | ||||
| change-title-escapes: '\<*_&' # You can add # and @ to disable mentions, and add ` to disable code blocks. | ||||
| exclude-contributors: | ||||
|     - dependabot | ||||
|     - dependabot[bot] | ||||
| version-resolver: | ||||
|     major: | ||||
|         labels: | ||||
|             - 'major' | ||||
|             - '❗ BreakingChange' | ||||
|     minor: | ||||
|         labels: | ||||
|             - 'minor' | ||||
|             - '✏️ Feature' | ||||
|     patch: | ||||
|         labels: | ||||
|             - 'patch' | ||||
|             - '📒 Documentation' | ||||
|             - '☢️ Bug' | ||||
|             - '🤖 Dependencies' | ||||
|             - '🧹 Updates' | ||||
|     default: patch | ||||
| template: | | ||||
|     $CHANGES | ||||
|  | ||||
|     **Full Changelog**: https://github.com/$OWNER/$REPOSITORY/compare/$PREVIOUS_TAG...mysql/v$RESOLVED_VERSION | ||||
|  | ||||
|     Thank you $CONTRIBUTORS for making this update possible. | ||||
							
								
								
									
										50
									
								
								.github/release-drafter-pebble.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										50
									
								
								.github/release-drafter-pebble.yml
									
									
									
									
										vendored
									
									
								
							| @@ -1,50 +0,0 @@ | ||||
| name-template: "Pebble - v$RESOLVED_VERSION" | ||||
| tag-template: "pebble/v$RESOLVED_VERSION" | ||||
| tag-prefix: pebble/v | ||||
| include-paths: | ||||
|   - pebble | ||||
| categories: | ||||
|     - title: '❗ Breaking Changes' | ||||
|       labels: | ||||
|           - '❗ BreakingChange' | ||||
|     - title: '🚀 New' | ||||
|       labels: | ||||
|           - '✏️ Feature' | ||||
|     - title: '🧹 Updates' | ||||
|       labels: | ||||
|           - '🧹 Updates' | ||||
|           - '🤖 Dependencies' | ||||
|     - title: '🐛 Fixes' | ||||
|       labels: | ||||
|           - '☢️ Bug' | ||||
|     - title: '📚 Documentation' | ||||
|       labels: | ||||
|           - '📒 Documentation' | ||||
| change-template: '- $TITLE (#$NUMBER)' | ||||
| change-title-escapes: '\<*_&' # You can add # and @ to disable mentions, and add ` to disable code blocks. | ||||
| exclude-contributors: | ||||
|     - dependabot | ||||
|     - dependabot[bot] | ||||
| version-resolver: | ||||
|     major: | ||||
|         labels: | ||||
|             - 'major' | ||||
|             - '❗ BreakingChange' | ||||
|     minor: | ||||
|         labels: | ||||
|             - 'minor' | ||||
|             - '✏️ Feature' | ||||
|     patch: | ||||
|         labels: | ||||
|             - 'patch' | ||||
|             - '📒 Documentation' | ||||
|             - '☢️ Bug' | ||||
|             - '🤖 Dependencies' | ||||
|             - '🧹 Updates' | ||||
|     default: patch | ||||
| template: | | ||||
|   $CHANGES | ||||
|  | ||||
|   **Full Changelog**: https://github.com/$OWNER/$REPOSITORY/compare/$PREVIOUS_TAG...pebble/v$RESOLVED_VERSION | ||||
|  | ||||
|   Thank you $CONTRIBUTORS for making this update possible. | ||||
							
								
								
									
										50
									
								
								.github/release-drafter-postgres.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										50
									
								
								.github/release-drafter-postgres.yml
									
									
									
									
										vendored
									
									
								
							| @@ -1,50 +0,0 @@ | ||||
| name-template: 'Postgres - v$RESOLVED_VERSION' | ||||
| tag-template: 'postgres/v$RESOLVED_VERSION' | ||||
| tag-prefix: postgres/v | ||||
| include-paths: | ||||
|   - postgres | ||||
| categories: | ||||
|     - title: '❗ Breaking Changes' | ||||
|       labels: | ||||
|           - '❗ BreakingChange' | ||||
|     - title: '🚀 New' | ||||
|       labels: | ||||
|           - '✏️ Feature' | ||||
|     - title: '🧹 Updates' | ||||
|       labels: | ||||
|           - '🧹 Updates' | ||||
|           - '🤖 Dependencies' | ||||
|     - title: '🐛 Fixes' | ||||
|       labels: | ||||
|           - '☢️ Bug' | ||||
|     - title: '📚 Documentation' | ||||
|       labels: | ||||
|           - '📒 Documentation' | ||||
| change-template: '- $TITLE (#$NUMBER)' | ||||
| change-title-escapes: '\<*_&' # You can add # and @ to disable mentions, and add ` to disable code blocks. | ||||
| exclude-contributors: | ||||
|     - dependabot | ||||
|     - dependabot[bot] | ||||
| version-resolver: | ||||
|     major: | ||||
|         labels: | ||||
|             - 'major' | ||||
|             - '❗ BreakingChange' | ||||
|     minor: | ||||
|         labels: | ||||
|             - 'minor' | ||||
|             - '✏️ Feature' | ||||
|     patch: | ||||
|         labels: | ||||
|             - 'patch' | ||||
|             - '📒 Documentation' | ||||
|             - '☢️ Bug' | ||||
|             - '🤖 Dependencies' | ||||
|             - '🧹 Updates' | ||||
|     default: patch | ||||
| template: | | ||||
|     $CHANGES | ||||
|  | ||||
|     **Full Changelog**: https://github.com/$OWNER/$REPOSITORY/compare/$PREVIOUS_TAG...postgres/v$RESOLVED_VERSION | ||||
|  | ||||
|     Thank you $CONTRIBUTORS for making this update possible. | ||||
							
								
								
									
										50
									
								
								.github/release-drafter-redis.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										50
									
								
								.github/release-drafter-redis.yml
									
									
									
									
										vendored
									
									
								
							| @@ -1,50 +0,0 @@ | ||||
| name-template: 'Redis - v$RESOLVED_VERSION' | ||||
| tag-template: 'redis/v$RESOLVED_VERSION' | ||||
| tag-prefix: redis/v | ||||
| include-paths: | ||||
|   - redis | ||||
| categories: | ||||
|     - title: '❗ Breaking Changes' | ||||
|       labels: | ||||
|           - '❗ BreakingChange' | ||||
|     - title: '🚀 New' | ||||
|       labels: | ||||
|           - '✏️ Feature' | ||||
|     - title: '🧹 Updates' | ||||
|       labels: | ||||
|           - '🧹 Updates' | ||||
|           - '🤖 Dependencies' | ||||
|     - title: '🐛 Fixes' | ||||
|       labels: | ||||
|           - '☢️ Bug' | ||||
|     - title: '📚 Documentation' | ||||
|       labels: | ||||
|           - '📒 Documentation' | ||||
| change-template: '- $TITLE (#$NUMBER)' | ||||
| change-title-escapes: '\<*_&' # You can add # and @ to disable mentions, and add ` to disable code blocks. | ||||
| exclude-contributors: | ||||
|     - dependabot | ||||
|     - dependabot[bot] | ||||
| version-resolver: | ||||
|     major: | ||||
|         labels: | ||||
|             - 'major' | ||||
|             - '❗ BreakingChange' | ||||
|     minor: | ||||
|         labels: | ||||
|             - 'minor' | ||||
|             - '✏️ Feature' | ||||
|     patch: | ||||
|         labels: | ||||
|             - 'patch' | ||||
|             - '📒 Documentation' | ||||
|             - '☢️ Bug' | ||||
|             - '🤖 Dependencies' | ||||
|             - '🧹 Updates' | ||||
|     default: patch | ||||
| template: | | ||||
|     $CHANGES | ||||
|  | ||||
|     **Full Changelog**: https://github.com/$OWNER/$REPOSITORY/compare/$PREVIOUS_TAG...redis/v$RESOLVED_VERSION | ||||
|  | ||||
|     Thank you $CONTRIBUTORS for making this update possible. | ||||
							
								
								
									
										50
									
								
								.github/release-drafter-ristretto.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										50
									
								
								.github/release-drafter-ristretto.yml
									
									
									
									
										vendored
									
									
								
							| @@ -1,50 +0,0 @@ | ||||
| name-template: 'Ristretto - v$RESOLVED_VERSION' | ||||
| tag-template: 'ristretto/v$RESOLVED_VERSION' | ||||
| tag-prefix: ristretto/v | ||||
| include-paths: | ||||
|   - ristretto | ||||
| categories: | ||||
|     - title: '❗ Breaking Changes' | ||||
|       labels: | ||||
|           - '❗ BreakingChange' | ||||
|     - title: '🚀 New' | ||||
|       labels: | ||||
|           - '✏️ Feature' | ||||
|     - title: '🧹 Updates' | ||||
|       labels: | ||||
|           - '🧹 Updates' | ||||
|           - '🤖 Dependencies' | ||||
|     - title: '🐛 Fixes' | ||||
|       labels: | ||||
|           - '☢️ Bug' | ||||
|     - title: '📚 Documentation' | ||||
|       labels: | ||||
|           - '📒 Documentation' | ||||
| change-template: '- $TITLE (#$NUMBER)' | ||||
| change-title-escapes: '\<*_&' # You can add # and @ to disable mentions, and add ` to disable code blocks. | ||||
| exclude-contributors: | ||||
|     - dependabot | ||||
|     - dependabot[bot] | ||||
| version-resolver: | ||||
|     major: | ||||
|         labels: | ||||
|             - 'major' | ||||
|             - '❗ BreakingChange' | ||||
|     minor: | ||||
|         labels: | ||||
|             - 'minor' | ||||
|             - '✏️ Feature' | ||||
|     patch: | ||||
|         labels: | ||||
|             - 'patch' | ||||
|             - '📒 Documentation' | ||||
|             - '☢️ Bug' | ||||
|             - '🤖 Dependencies' | ||||
|             - '🧹 Updates' | ||||
|     default: patch | ||||
| template: | | ||||
|     $CHANGES | ||||
|  | ||||
|     **Full Changelog**: https://github.com/$OWNER/$REPOSITORY/compare/$PREVIOUS_TAG...ristretto/v$RESOLVED_VERSION | ||||
|  | ||||
|     Thank you $CONTRIBUTORS for making this update possible. | ||||
							
								
								
									
										50
									
								
								.github/release-drafter-rueidis.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										50
									
								
								.github/release-drafter-rueidis.yml
									
									
									
									
										vendored
									
									
								
							| @@ -1,50 +0,0 @@ | ||||
| name-template: 'Rueidis - v$RESOLVED_VERSION' | ||||
| tag-template: 'rueidis/v$RESOLVED_VERSION' | ||||
| tag-prefix: rueidis/v | ||||
| include-paths: | ||||
|   - rueidis | ||||
| categories: | ||||
|     - title: '❗ Breaking Changes' | ||||
|       labels: | ||||
|           - '❗ BreakingChange' | ||||
|     - title: '🚀 New' | ||||
|       labels: | ||||
|           - '✏️ Feature' | ||||
|     - title: '🧹 Updates' | ||||
|       labels: | ||||
|           - '🧹 Updates' | ||||
|           - '🤖 Dependencies' | ||||
|     - title: '🐛 Fixes' | ||||
|       labels: | ||||
|           - '☢️ Bug' | ||||
|     - title: '📚 Documentation' | ||||
|       labels: | ||||
|           - '📒 Documentation' | ||||
| change-template: '- $TITLE (#$NUMBER)' | ||||
| change-title-escapes: '\<*_&' # You can add # and @ to disable mentions, and add ` to disable code blocks. | ||||
| exclude-contributors: | ||||
|     - dependabot | ||||
|     - dependabot[bot] | ||||
| version-resolver: | ||||
|     major: | ||||
|         labels: | ||||
|             - 'major' | ||||
|             - '❗ BreakingChange' | ||||
|     minor: | ||||
|         labels: | ||||
|             - 'minor' | ||||
|             - '✏️ Feature' | ||||
|     patch: | ||||
|         labels: | ||||
|             - 'patch' | ||||
|             - '📒 Documentation' | ||||
|             - '☢️ Bug' | ||||
|             - '🤖 Dependencies' | ||||
|             - '🧹 Updates' | ||||
|     default: patch | ||||
| template: | | ||||
|     $CHANGES | ||||
|  | ||||
|     **Full Changelog**: https://github.com/$OWNER/$REPOSITORY/compare/$PREVIOUS_TAG...rueidis/v$RESOLVED_VERSION | ||||
|  | ||||
|     Thank you $CONTRIBUTORS for making this update possible. | ||||
							
								
								
									
										50
									
								
								.github/release-drafter-s3.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										50
									
								
								.github/release-drafter-s3.yml
									
									
									
									
										vendored
									
									
								
							| @@ -1,50 +0,0 @@ | ||||
| name-template: 'S3 - v$RESOLVED_VERSION' | ||||
| tag-template: 's3/v$RESOLVED_VERSION' | ||||
| tag-prefix: s3/v | ||||
| include-paths: | ||||
|   - s3 | ||||
| categories: | ||||
|     - title: '❗ Breaking Changes' | ||||
|       labels: | ||||
|           - '❗ BreakingChange' | ||||
|     - title: '🚀 New' | ||||
|       labels: | ||||
|           - '✏️ Feature' | ||||
|     - title: '🧹 Updates' | ||||
|       labels: | ||||
|           - '🧹 Updates' | ||||
|           - '🤖 Dependencies' | ||||
|     - title: '🐛 Fixes' | ||||
|       labels: | ||||
|           - '☢️ Bug' | ||||
|     - title: '📚 Documentation' | ||||
|       labels: | ||||
|           - '📒 Documentation' | ||||
| change-template: '- $TITLE (#$NUMBER)' | ||||
| change-title-escapes: '\<*_&' # You can add # and @ to disable mentions, and add ` to disable code blocks. | ||||
| exclude-contributors: | ||||
|     - dependabot | ||||
|     - dependabot[bot] | ||||
| version-resolver: | ||||
|     major: | ||||
|         labels: | ||||
|             - 'major' | ||||
|             - '❗ BreakingChange' | ||||
|     minor: | ||||
|         labels: | ||||
|             - 'minor' | ||||
|             - '✏️ Feature' | ||||
|     patch: | ||||
|         labels: | ||||
|             - 'patch' | ||||
|             - '📒 Documentation' | ||||
|             - '☢️ Bug' | ||||
|             - '🤖 Dependencies' | ||||
|             - '🧹 Updates' | ||||
|     default: patch | ||||
| template: | | ||||
|     $CHANGES | ||||
|  | ||||
|     **Full Changelog**: https://github.com/$OWNER/$REPOSITORY/compare/$PREVIOUS_TAG...s3/v$RESOLVED_VERSION | ||||
|  | ||||
|     Thank you $CONTRIBUTORS for making this update possible. | ||||
							
								
								
									
										50
									
								
								.github/release-drafter-sqlite3.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										50
									
								
								.github/release-drafter-sqlite3.yml
									
									
									
									
										vendored
									
									
								
							| @@ -1,50 +0,0 @@ | ||||
| name-template: 'SQLite3 - v$RESOLVED_VERSION' | ||||
| tag-template: 'sqlite3/v$RESOLVED_VERSION' | ||||
| tag-prefix: sqlite3/v | ||||
| include-paths: | ||||
|   - sqlite3 | ||||
| categories: | ||||
|     - title: '❗ Breaking Changes' | ||||
|       labels: | ||||
|           - '❗ BreakingChange' | ||||
|     - title: '🚀 New' | ||||
|       labels: | ||||
|           - '✏️ Feature' | ||||
|     - title: '🧹 Updates' | ||||
|       labels: | ||||
|           - '🧹 Updates' | ||||
|           - '🤖 Dependencies' | ||||
|     - title: '🐛 Fixes' | ||||
|       labels: | ||||
|           - '☢️ Bug' | ||||
|     - title: '📚 Documentation' | ||||
|       labels: | ||||
|           - '📒 Documentation' | ||||
| change-template: '- $TITLE (#$NUMBER)' | ||||
| change-title-escapes: '\<*_&' # You can add # and @ to disable mentions, and add ` to disable code blocks. | ||||
| exclude-contributors: | ||||
|     - dependabot | ||||
|     - dependabot[bot] | ||||
| version-resolver: | ||||
|     major: | ||||
|         labels: | ||||
|             - 'major' | ||||
|             - '❗ BreakingChange' | ||||
|     minor: | ||||
|         labels: | ||||
|             - 'minor' | ||||
|             - '✏️ Feature' | ||||
|     patch: | ||||
|         labels: | ||||
|             - 'patch' | ||||
|             - '📒 Documentation' | ||||
|             - '☢️ Bug' | ||||
|             - '🤖 Dependencies' | ||||
|             - '🧹 Updates' | ||||
|     default: patch | ||||
| template: | | ||||
|     $CHANGES | ||||
|  | ||||
|     **Full Changelog**: https://github.com/$OWNER/$REPOSITORY/compare/$PREVIOUS_TAG...sqlite3/v$RESOLVED_VERSION | ||||
|  | ||||
|     Thank you $CONTRIBUTORS for making this update possible. | ||||
| @@ -1,8 +1,8 @@ | ||||
| name-template: 'ArangoDB - v$RESOLVED_VERSION' | ||||
| tag-template: 'arangodb/v$RESOLVED_VERSION' | ||||
| tag-prefix: arangodb/v | ||||
| name-template: '{{FOLDER}} - v$RESOLVED_VERSION' | ||||
| tag-template: '{{FOLDER}}/v$RESOLVED_VERSION' | ||||
| tag-prefix: {{FOLDER}}/v | ||||
| include-paths: | ||||
|   - arangodb | ||||
|   - {{FOLDER}} | ||||
| categories: | ||||
|     - title: '❗ Breaking Changes' | ||||
|       labels: | ||||
| @@ -45,6 +45,6 @@ version-resolver: | ||||
| template: | | ||||
|     $CHANGES | ||||
| 
 | ||||
|     **Full Changelog**: https://github.com/$OWNER/$REPOSITORY/compare/$PREVIOUS_TAG...arangodb/v$RESOLVED_VERSION | ||||
|     **Full Changelog**: https://github.com/$OWNER/$REPOSITORY/compare/$PREVIOUS_TAG...{{FOLDER}}/v$RESOLVED_VERSION | ||||
| 
 | ||||
|     Thank you $CONTRIBUTORS for making this update possible. | ||||
							
								
								
									
										27
									
								
								.github/release.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										27
									
								
								.github/release.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,27 @@ | ||||
| # .github/release.yml | ||||
|  | ||||
| changelog: | ||||
|   categories: | ||||
|     - title: '❗ Breaking Changes' | ||||
|       labels: | ||||
|         - '❗ BreakingChange' | ||||
|     - title: '🚀 New Features' | ||||
|       labels: | ||||
|         - '✏️ Feature' | ||||
|         - '📝 Proposal' | ||||
|     - title: '🧹 Updates' | ||||
|       labels: | ||||
|         - '🧹 Updates' | ||||
|         - '⚡️ Performance' | ||||
|     - title: '🐛 Bug Fixes' | ||||
|       labels: | ||||
|         - '☢️ Bug' | ||||
|     - title: '🛠️ Maintenance' | ||||
|       labels: | ||||
|         - '🤖 Dependencies' | ||||
|     - title: '📚 Documentation' | ||||
|       labels: | ||||
|         - '📒 Documentation' | ||||
|     - title: 'Other Changes' | ||||
|       labels: | ||||
|         - '*' | ||||
							
								
								
									
										62
									
								
								.github/scripts/gen-test-certs.sh
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										62
									
								
								.github/scripts/gen-test-certs.sh
									
									
									
									
										vendored
									
									
								
							| @@ -1,62 +0,0 @@ | ||||
| #!/bin/bash | ||||
|  | ||||
| # Generate some test certificates which are used by the regression test suite: | ||||
| # | ||||
| #   ./tls/ca.{crt,key}          Self signed CA certificate. | ||||
| #   ./tls/redis.{crt,key}       A certificate with no key usage/policy restrictions. | ||||
| #   ./tls/client.{crt,key}      A certificate restricted for SSL client usage. | ||||
| #   ./tls/server.{crt,key}      A certificate restricted for SSL server usage. | ||||
|  | ||||
| set -e | ||||
|  | ||||
| generate_cert() { | ||||
|     local name=$1 | ||||
|     local cn="$2" | ||||
|     local opts="$3" | ||||
|  | ||||
|     local keyfile=./tls/${name}.key | ||||
|     local certfile=./tls/${name}.crt | ||||
|  | ||||
|     [ -f $keyfile ] || openssl genrsa -out $keyfile 2048 | ||||
|     openssl req \ | ||||
|         -new -sha256 \ | ||||
|         -subj "/O=Redis Test/CN=$cn" \ | ||||
|         -key $keyfile | \ | ||||
|         openssl x509 \ | ||||
|             -req -sha256 \ | ||||
|             -CA ./tls/ca.crt \ | ||||
|             -CAkey ./tls/ca.key \ | ||||
|             -CAserial ./tls/ca.txt \ | ||||
|             -CAcreateserial \ | ||||
|             -days 365 \ | ||||
|             $opts \ | ||||
|             -out $certfile | ||||
| } | ||||
|  | ||||
| mkdir -p ./tls | ||||
| [ -f ./tls/ca.key ] || openssl genrsa -out ./tls/ca.key 4096 | ||||
| openssl req \ | ||||
|     -x509 -new -nodes -sha256 \ | ||||
|     -key ./tls/ca.key \ | ||||
|     -days 3650 \ | ||||
|     -subj '/O=Redis Test/CN=Certificate Authority' \ | ||||
|     -out ./tls/ca.crt | ||||
|  | ||||
| cat > ./tls/openssl.cnf <<_END_ | ||||
| [ server_cert ] | ||||
| keyUsage = digitalSignature, keyEncipherment | ||||
| nsCertType = server | ||||
| subjectAltName = DNS:localhost" | ||||
|  | ||||
| [ client_cert ] | ||||
| keyUsage = digitalSignature, keyEncipherment | ||||
| nsCertType = client | ||||
| _END_ | ||||
|  | ||||
| generate_cert server "Server-only" "-extfile ./tls/openssl.cnf -extensions server_cert" | ||||
| generate_cert client "Client-only" "-extfile ./tls/openssl.cnf -extensions client_cert" | ||||
| generate_cert redis "localhost" "-extfile ./tls/openssl.cnf -extensions server_cert" | ||||
|  | ||||
| # List generated certs | ||||
| ls -la ./tls | ||||
| echo "$PWD" | ||||
							
								
								
									
										107
									
								
								.github/scripts/initialize-wrangler.sh
									
									
									
									
										vendored
									
									
										Executable file
									
								
							
							
						
						
									
										107
									
								
								.github/scripts/initialize-wrangler.sh
									
									
									
									
										vendored
									
									
										Executable file
									
								
							| @@ -0,0 +1,107 @@ | ||||
| #!/bin/bash | ||||
|  | ||||
| # generate cloudflarekv/index.ts | ||||
| cat <<EOF > cloudflarekv/index.ts | ||||
| export default { async fetch(Request, env) { | ||||
|  | ||||
|   const namespace = env.TEST_NAMESPACE1; | ||||
|  | ||||
|   if (Request.url === "http://localhost:8787/health") { | ||||
|     return new Response("Success"); | ||||
|   } | ||||
|  | ||||
|   if (Request.url === "http://localhost:8787/writeworkerskvkeyvaluepair") { | ||||
|     const res = await Request.json(); | ||||
|     const { key, val } = res; | ||||
|     WriteWorkersKVKeyValuePair(namespace, key, val); | ||||
|     return new Response("Success"); | ||||
|   } | ||||
|  | ||||
|   else if (Request.url === "http://localhost:8787/listworkerskvkeys") { | ||||
|     const resp = await Request.json(); | ||||
|     const { limit, prefix, cursor } = resp; | ||||
|     const list = await ListWorkersKVKeys(namespace, limit, prefix, cursor); | ||||
|     return new Response(list); | ||||
|   } | ||||
|  | ||||
|   else if (Request.url === "http://localhost:8787/deleteworkerskvpairbykey") { | ||||
|     const res = await Request.json(); | ||||
|     const { key } = res; | ||||
|     await DeleteWorkersKVPairByKey(namespace, key); | ||||
|  | ||||
|     return new Response(key) | ||||
|   } | ||||
|  | ||||
|   else if (Request.url === "http://localhost:8787/getworkerskvvaluebykey") { | ||||
|     const key = (await Request.json()).key; | ||||
|     const res = await GetWorkersKVValueByKey(namespace, key); | ||||
|  | ||||
|     return new Response(res); | ||||
|   } | ||||
|  | ||||
|   else if (Request.url === "http://localhost:8787/deleteworkerskventries") { | ||||
|     const res = await Request.json(); | ||||
|     const { keys } = res; | ||||
|     const newKeys = keys.filter(x => x.length > 0); | ||||
|     await DeleteWorkersKVEntries(namespace, newKeys); | ||||
|  | ||||
|     return new Response("Success") | ||||
|   } | ||||
| } | ||||
| } | ||||
|  | ||||
| const GetWorkersKVValueByKey = async (NAMESPACE, key) => { | ||||
|   const val = await NAMESPACE.get(key); | ||||
|  | ||||
|   return val; | ||||
| } | ||||
|  | ||||
| const WriteWorkersKVKeyValuePair = async (NAMESPACE, key, val) => { | ||||
|   await NAMESPACE.put(key, val); | ||||
|  | ||||
|   return "Wrote Successfully" | ||||
| } | ||||
|  | ||||
| const DeleteWorkersKVPairByKey = async (NAMESPACE, key) => { | ||||
|   await NAMESPACE.delete(key); | ||||
|  | ||||
|   return "Delete Successfully" | ||||
| } | ||||
|  | ||||
| const ListWorkersKVKeys = async (NAMESPACE, limit, prefix, cursor) => { | ||||
|   const resp = await NAMESPACE.list({ limit, prefix, cursor }); | ||||
|  | ||||
|   return JSON.stringify(resp.keys); | ||||
| } | ||||
|  | ||||
| const DeleteWorkersKVEntries = async (NAMESPACE, keys) => { | ||||
|   for (let key of keys) { | ||||
|     await NAMESPACE.delete(key); | ||||
|   } | ||||
|  | ||||
|   return "Delete Successfully" | ||||
| } | ||||
|  | ||||
|  | ||||
| EOF | ||||
|  | ||||
| echo "index.ts generated" | ||||
|  | ||||
| # generate cloudflarekv/wrangler.toml | ||||
| cat <<EOF > cloudflarekv/wrangler.toml | ||||
| main = "index.ts" | ||||
|  | ||||
| kv_namespaces = [ | ||||
|   { binding = "TEST_NAMESPACE1", id = "hello", preview_id = "world" }, | ||||
| ] | ||||
|  | ||||
| workers_dev = true | ||||
|  | ||||
| compatibility_date = "2024-03-20" | ||||
|  | ||||
| [dev] | ||||
| port = 8787 | ||||
| local_protocol = "http" | ||||
| EOF | ||||
|  | ||||
| echo "wrangler.toml generated" | ||||
							
								
								
									
										1
									
								
								.github/scripts/sync_docs.sh
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								.github/scripts/sync_docs.sh
									
									
									
									
										vendored
									
									
								
							| @@ -1,4 +1,5 @@ | ||||
| #!/usr/bin/env bash | ||||
| set -e | ||||
|  | ||||
| # Some env variables | ||||
| BRANCH="main" | ||||
|   | ||||
							
								
								
									
										33
									
								
								.github/scripts/update-deps.sh
									
									
									
									
										vendored
									
									
										Executable file
									
								
							
							
						
						
									
										33
									
								
								.github/scripts/update-deps.sh
									
									
									
									
										vendored
									
									
										Executable file
									
								
							| @@ -0,0 +1,33 @@ | ||||
| #!/bin/bash | ||||
|  | ||||
| # Loop over all directories except dot-directories | ||||
| for dir in */ ; do | ||||
|   # Skip hidden directories | ||||
|   [[ "$dir" == .* ]] && continue | ||||
|  | ||||
|   if [ -d "$dir" ]; then | ||||
|     echo "Processing $dir" | ||||
|     ( | ||||
|       cd "$dir" || exit | ||||
|  | ||||
|       if [ -f "go.mod" ]; then | ||||
|         goversion=$(grep '^go ' go.mod | awk '{print $2}') | ||||
|         if [ -n "$goversion" ]; then | ||||
|           major=$(echo "$goversion" | cut -d. -f1) | ||||
|           minor=$(echo "$goversion" | cut -d. -f2) | ||||
|  | ||||
|           # If Go version is >= 1.23 | ||||
|           if [ "$major" -gt 1 ] || { [ "$major" -eq 1 ] && [ "$minor" -ge 23 ]; }; then | ||||
|             echo "Running go get -u (go.mod version: $goversion)" | ||||
|             GOTOOLCHAIN=local go get -u | ||||
|           else | ||||
|             echo "Skipping go get -u (go.mod version: $goversion < 1.23)" | ||||
|           fi | ||||
|         fi | ||||
|       fi | ||||
|  | ||||
|       GOTOOLCHAIN=local go mod tidy | ||||
|     ) | ||||
|   fi | ||||
| done | ||||
|  | ||||
							
								
								
									
										2
									
								
								.github/workflows/auto-labeler.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								.github/workflows/auto-labeler.yml
									
									
									
									
										vendored
									
									
								
							| @@ -17,6 +17,6 @@ jobs: | ||||
|         steps: | ||||
|             -   name: Check Labels | ||||
|                 id: labeler | ||||
|                 uses: fuxingloh/multi-labeler@v2 | ||||
|                 uses: fuxingloh/multi-labeler@v4 | ||||
|                 with: | ||||
|                     github-token: ${{secrets.GITHUB_TOKEN}} | ||||
|   | ||||
							
								
								
									
										200
									
								
								.github/workflows/benchmark.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										200
									
								
								.github/workflows/benchmark.yml
									
									
									
									
										vendored
									
									
								
							| @@ -17,94 +17,64 @@ permissions: | ||||
|  | ||||
| name: Benchmark | ||||
| jobs: | ||||
|   Compare: | ||||
|   changes: | ||||
|     runs-on: ubuntu-latest | ||||
|     services: | ||||
|       arangodb: | ||||
|         image: 'arangodb:latest' | ||||
|         env: | ||||
|           ARANGO_NO_AUTH: 1 | ||||
|         ports: | ||||
|           - '8529:8529' | ||||
|       dynamodb: | ||||
|         image: 'amazon/dynamodb-local:latest' | ||||
|         ports: | ||||
|           - '8000:8000' | ||||
|       memcached: | ||||
|         image: 'memcached:latest' | ||||
|         ports: | ||||
|           - '11211:11211' | ||||
|       mongo: | ||||
|         image: 'mongo:latest' | ||||
|         ports: | ||||
|           - '27017:27017' | ||||
|       mssql: | ||||
|         image: 'mcmoe/mssqldocker:latest' | ||||
|         ports: | ||||
|           - '1433:1433' | ||||
|         env: | ||||
|           ACCEPT_EULA: Y | ||||
|           SA_PASSWORD: MsSql!1234 | ||||
|           MSSQL_DB: master | ||||
|           MSSQL_USER: sa | ||||
|           MSSQL_PASSWORD: MsSql!1234 | ||||
|         options: >- | ||||
|           --health-cmd "/opt/mssql-tools/bin/sqlcmd -U sa -P $SA_PASSWORD -Q 'select 1' -b -o /dev/null" | ||||
|           --health-interval 1s | ||||
|           --health-timeout 30s | ||||
|           --health-start-period 10s | ||||
|           --health-retries 20 | ||||
|       mysql: | ||||
|         image: 'mysql:latest' | ||||
|         env: | ||||
|           MYSQL_DATABASE: fiber | ||||
|           MYSQL_USER: username | ||||
|           MYSQL_PASSWORD: password | ||||
|           MYSQL_ROOT_PASSWORD: password | ||||
|         ports: | ||||
|           - '3306:3306' | ||||
|         options: >- | ||||
|           --health-cmd "mysqladmin ping" --health-interval 10s --health-timeout | ||||
|           5s --health-retries 5 | ||||
|       postgres: | ||||
|         image: 'postgres:latest' | ||||
|         ports: | ||||
|           - '5432:5432' | ||||
|         env: | ||||
|           POSTGRES_DB: fiber | ||||
|           POSTGRES_USER: username | ||||
|           POSTGRES_PASSWORD: "pass#w%rd" | ||||
|         options: >- | ||||
|           --health-cmd pg_isready --health-interval 10s --health-timeout 5s | ||||
|           --health-retries 5 | ||||
|     permissions: | ||||
|       pull-requests: read | ||||
|     steps: | ||||
|       - name: Checkout repository | ||||
|         uses: actions/checkout@v4 | ||||
|  | ||||
|       - name: Generate filters | ||||
|         id: filter-setup | ||||
|         run: | | ||||
|           filters=$(find . -maxdepth 1 -type d ! -path ./.git ! -path . ! -path ./testhelpers -exec basename {} \; | grep -v '^\.' | awk '{printf "%s: \"%s/**\"\n", $1, $1}') | ||||
|           echo "filters<<EOF" >> $GITHUB_OUTPUT | ||||
|           echo "$filters" >> $GITHUB_OUTPUT | ||||
|           echo "EOF" >> $GITHUB_OUTPUT | ||||
|         shell: bash | ||||
|  | ||||
|       - name: Filter changes | ||||
|         id: filter | ||||
|         uses: dorny/paths-filter@v3 | ||||
|         with: | ||||
|           filters: ${{ steps.filter-setup.outputs.filters }} | ||||
|     outputs: | ||||
|       packages: ${{ steps.filter.outputs.changes || '[]' }} | ||||
|  | ||||
|   compare: | ||||
|     needs: changes | ||||
|     runs-on: ubuntu-latest | ||||
|     timeout-minutes: 30 | ||||
|     if: needs.changes.outputs.packages != '[]' # Ensure job runs only if there are changes | ||||
|     strategy: | ||||
|       matrix: | ||||
|         package: ${{ fromJSON(needs.changes.outputs.packages || '[]') }} | ||||
|       fail-fast: false | ||||
|     steps: | ||||
|       - name: Fetch Repository | ||||
|         uses: actions/checkout@v4 | ||||
|  | ||||
|       - name: Install Go | ||||
|         uses: actions/setup-go@v4 | ||||
|         uses: actions/setup-go@v5 | ||||
|         with: | ||||
|           # NOTE: Keep this in sync with the version from go.mod | ||||
|           go-version: "1.20.x" | ||||
|           go-version: "1.23.x" | ||||
|  | ||||
|       - name: Install Azurite | ||||
|         run: | | ||||
|           docker run -d -p 10000:10000 mcr.microsoft.com/azure-storage/azurite azurite-blob --blobHost 0.0.0.0 --blobPort 10000 | ||||
|       - name: Setup Node.js | ||||
|         uses: actions/setup-node@v4 | ||||
|         with: | ||||
|           node-version: '20' | ||||
|  | ||||
|       - name: Install Coherence | ||||
|         run: | | ||||
|           docker run -d -p 1408:1408 -p 30000:30000 ghcr.io/oracle/coherence-ce:22.06.5 | ||||
|           sleep 30 | ||||
|  | ||||
|       - name: Install couchbase | ||||
|         run: | | ||||
|           docker run --name couchbase -d -p 8091-8097:8091-8097 -p 9123:9123 -p 11207:11207 -p 11210:11210 -p 11280:11280 -p 18091-18097:18091-18097 couchbase:enterprise-7.1.1 | ||||
|           sleep 10 | ||||
|           docker exec --tty couchbase couchbase-cli cluster-init -c localhost:8091 --cluster-username admin --cluster-password 123456 --cluster-ramsize 256 --services data | ||||
|           sleep 10 | ||||
|           docker exec --tty couchbase couchbase-cli bucket-create -c localhost:8091 --username admin --password 123456 --bucket fiber_storage --bucket-type couchbase --bucket-ramsize 100 --enable-flush 1 | ||||
|       - name: Install Cloudflare Worker | ||||
|         if: ${{ matrix.package == 'cloudflarekv' }} | ||||
|         run : | | ||||
|           .github/scripts/initialize-wrangler.sh | ||||
|           cd cloudflarekv && npx wrangler dev & | ||||
|           npx wait-on tcp:8787 | ||||
|  | ||||
|       - name: Install etcd | ||||
|         if: ${{ matrix.package == 'etcd' }} | ||||
|         run: | | ||||
|           docker run -d --name Etcd-server \ | ||||
|             --publish 2379:2379 \ | ||||
| @@ -113,58 +83,72 @@ jobs: | ||||
|             --env ETCD_ADVERTISE_CLIENT_URLS=http://etcd-server:2379 \ | ||||
|             bitnami/etcd:latest | ||||
|  | ||||
|       - name: Install MinIO | ||||
|       - name: Install MSSQL | ||||
|         if: ${{ matrix.package == 'mssql' }} | ||||
|         run: | | ||||
|           docker run -d --restart always -p 9000:9000 --name storage-minio -e MINIO_ROOT_USER='minio-user' -e MINIO_ROOT_PASSWORD='minio-password' minio/minio server /data | ||||
|  | ||||
|       - name: Setup Redis | ||||
|         uses: shogo82148/actions-setup-redis@v1 | ||||
|         with: | ||||
|           redis-version: '7.x' | ||||
|           auto-start: 'false' | ||||
|  | ||||
|       - name: Run Redis | ||||
|         run: | | ||||
|           redis-server --port 6379 & | ||||
|           docker run -d --name mssql-server \ | ||||
|             --publish 1433:1433 \ | ||||
|             --env ACCEPT_EULA=Y \ | ||||
|             --env SA_PASSWORD=MsSql!1234 \ | ||||
|             --env MSSQL_DB=master \ | ||||
|             --env MSSQL_USER=sa \ | ||||
|             --env MSSQL_PASSWORD=MsSql!1234 \ | ||||
|             --health-cmd "/opt/mssql-tools/bin/sqlcmd -U sa -P MsSql!1234 -Q 'select 1' -b -o /dev/null" \ | ||||
|             --health-interval 1s \ | ||||
|             --health-timeout 30s \ | ||||
|             --health-start-period 10s \ | ||||
|             --health-retries 20 \ | ||||
|             mcmoe/mssqldocker:latest | ||||
|  | ||||
|       - name: Run Benchmarks | ||||
|         working-directory: ${{ matrix.package }} | ||||
|         run: | | ||||
|           set -o pipefail | ||||
|           for d in */ ; do | ||||
|             [[ $d == "tls/" ]] && continue | ||||
|  | ||||
|             cd "$d" | ||||
|             go test ./... -benchmem -run=^$ -bench . | tee -a ../output.txt | ||||
|             cd .. | ||||
|           done | ||||
|           echo "Bench dir: ${{ matrix.package }}" | ||||
|           go test ./... -timeout 900s -benchmem -run=^$ -bench . | tee -a output.txt | ||||
|         shell: bash | ||||
|         env: | ||||
|           MSSQL_DATABASE: master | ||||
|           MSSQL_USERNAME: sa | ||||
|           MSSQL_PASSWORD: MsSql!1234 | ||||
|           MYSQL_USERNAME: username | ||||
|           MYSQL_PASSWORD: password | ||||
|           MYSQL_DATABASE: fiber | ||||
|           POSTGRES_DATABASE: fiber | ||||
|           POSTGRES_USERNAME: username | ||||
|           POSTGRES_PASSWORD: "pass#w%rd" | ||||
|           TEST_AEROSPIKE_IMAGE: aerospike/aerospike-server:latest | ||||
|           TEST_ARANGODB_IMAGE: arangodb:latest | ||||
|           TEST_AZURITE_IMAGE: mcr.microsoft.com/azure-storage/azurite:latest | ||||
|           TEST_CASSANDRA_IMAGE: "cassandra:latest" | ||||
|           TEST_COHERENCE_IMAGE: "ghcr.io/oracle/coherence-ce:25.03.1-graal" | ||||
|           TEST_CLICKHOUSE_IMAGE: "clickhouse/clickhouse-server:23-alpine" | ||||
|           TEST_COUCHBASE_IMAGE: "couchbase:enterprise-7.6.5" | ||||
|           TEST_DYNAMODB_IMAGE: amazon/dynamodb-local:latest | ||||
|           TEST_MEMCACHED_IMAGE: "memcached:latest" | ||||
|           TEST_MINIO_IMAGE: "docker.io/minio/minio:latest" | ||||
|           TEST_MONGODB_IMAGE: "docker.io/mongo:7" | ||||
|           TEST_MYSQL_IMAGE: "docker.io/mysql:9" | ||||
|           TEST_NATS_IMAGE: "nats:2-alpine" | ||||
|           TEST_POSTGRES_IMAGE: "docker.io/postgres:16-alpine" | ||||
|           TEST_REDIS_IMAGE: "docker.io/redis:7" | ||||
|           TEST_SCYLLADB_IMAGE: "scylladb/scylla:6.2" | ||||
|           TEST_SURREALDB_IMAGE: "surrealdb/surrealdb:latest" | ||||
|           TEST_VALKEY_IMAGE: "valkey/valkey:8" | ||||
|           COHERENCE_LOG_LEVEL: "ERROR" | ||||
|  | ||||
|       - name: Get Previous Benchmark Results | ||||
|         uses: actions/cache@v3 | ||||
|         uses: actions/cache@v4 | ||||
|         with: | ||||
|           path: ./cache | ||||
|           key: ${{ runner.os }}-benchmark | ||||
|           key: ${{ runner.os }}-benchmark-${{ matrix.package }} | ||||
|  | ||||
|       - name: Save Benchmark Results | ||||
|         uses: benchmark-action/github-action-benchmark@v1.18.0 | ||||
|         uses: benchmark-action/github-action-benchmark@v1.20.4 | ||||
|         with: | ||||
|           tool: "go" | ||||
|           output-file-path: output.txt | ||||
|           github-token: ${{ secrets.GITHUB_TOKEN }} | ||||
|           benchmark-data-dir-path: "benchmarks" | ||||
|           output-file-path: ${{ matrix.package }}/output.txt | ||||
|           github-token: ${{ secrets.BENCHMARK_TOKEN }} | ||||
|           benchmark-data-dir-path: "benchmarks/${{ matrix.package }}" | ||||
|           alert-threshold: "300%" | ||||
|           fail-on-alert: true | ||||
|           comment-on-alert: ${{ github.event_name == 'push' || github.event_name == 'workflow_dispatch' }} | ||||
|           #summary-always: ${{ github.event_name != 'push' && github.event_name != 'workflow_dispatch' }} | ||||
|           auto-push: ${{ github.event_name == 'push' || github.event_name == 'workflow_dispatch' }} | ||||
|           save-data-file: ${{ github.event_name == 'push' || github.event_name == 'workflow_dispatch' }} | ||||
|           save-data-file: ${{ github.event_name == 'push' || github.event_name == 'workflow_dispatch' }} | ||||
|  | ||||
|  | ||||
|   | ||||
							
								
								
									
										54
									
								
								.github/workflows/codeql-analysis.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										54
									
								
								.github/workflows/codeql-analysis.yml
									
									
									
									
										vendored
									
									
								
							| @@ -1,54 +0,0 @@ | ||||
| name: "CodeQL" | ||||
|  | ||||
| on: | ||||
|   push: | ||||
|     branches: [master, main] | ||||
|   pull_request: | ||||
|     # The branches below must be a subset of the branches above | ||||
|     branches: [master, main] | ||||
|   schedule: | ||||
|     - cron: '0 3 * * 6' | ||||
|  | ||||
| jobs: | ||||
|   analyse: | ||||
|     name: Analyse | ||||
|     runs-on: ubuntu-latest | ||||
|  | ||||
|     steps: | ||||
|     - name: Checkout repository | ||||
|       uses: actions/checkout@v4 | ||||
|       with: | ||||
|         # We must fetch at least the immediate parents so that if this is | ||||
|         # a pull request then we can checkout the head. | ||||
|         fetch-depth: 2 | ||||
|  | ||||
|     # If this run was triggered by a pull request event, then checkout | ||||
|     # the head of the pull request instead of the merge commit. | ||||
|     - run: git checkout HEAD^2 | ||||
|       if: ${{ github.event_name == 'pull_request' }} | ||||
|  | ||||
|     # Initializes the CodeQL tools for scanning. | ||||
|     - name: Initialize CodeQL | ||||
|       uses: github/codeql-action/init@v2 | ||||
|       # Override language selection by uncommenting this and choosing your languages | ||||
|       with: | ||||
|         languages: go | ||||
|  | ||||
|     # Autobuild attempts to build any compiled languages  (C/C++, C#, or Java). | ||||
|     # If this step fails, then you should remove it and run the build manually (see below) | ||||
|     - name: Autobuild | ||||
|       uses: github/codeql-action/autobuild@v2 | ||||
|  | ||||
|     # ℹ️ Command-line programs to run using the OS shell. | ||||
|     # 📚 https://git.io/JvXDl | ||||
|  | ||||
|     # ✏️ If the Autobuild fails above, remove it and uncomment the following three lines | ||||
|     #    and modify them (or add more) to build your code if your project | ||||
|     #    uses a compiled language | ||||
|  | ||||
|     #- run: | | ||||
|     #   make bootstrap | ||||
|     #   make release | ||||
|  | ||||
|     - name: Perform CodeQL Analysis | ||||
|       uses: github/codeql-action/analyze@v2 | ||||
							
								
								
									
										4
									
								
								.github/workflows/dependabot_automerge.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								.github/workflows/dependabot_automerge.yml
									
									
									
									
										vendored
									
									
								
							| @@ -12,7 +12,7 @@ jobs: | ||||
|     if: ${{ github.actor == 'dependabot[bot]' }} | ||||
|     steps: | ||||
|        - name: Wait for check is finished | ||||
|          uses: lewagon/wait-on-check-action@v1.3.1 | ||||
|          uses: lewagon/wait-on-check-action@v1.4.0 | ||||
|          id: wait_for_checks | ||||
|          with: | ||||
|              ref: ${{ github.event.pull_request.head.sha || github.sha }} | ||||
| @@ -28,7 +28,7 @@ jobs: | ||||
|     steps: | ||||
|       - name: Dependabot metadata | ||||
|         id: metadata | ||||
|         uses: dependabot/fetch-metadata@v1.6.0 | ||||
|         uses: dependabot/fetch-metadata@v2.4.0 | ||||
|         with: | ||||
|           github-token: "${{ secrets.PR_TOKEN }}" | ||||
|       - name: Enable auto-merge for Dependabot PRs | ||||
|   | ||||
							
								
								
									
										41
									
								
								.github/workflows/golangci-lint.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										41
									
								
								.github/workflows/golangci-lint.yml
									
									
									
									
										vendored
									
									
								
							| @@ -1,4 +1,4 @@ | ||||
| name: Golangci Lint Check | ||||
| name: Golangci-Lint Check | ||||
|  | ||||
| on: | ||||
|   push: | ||||
| @@ -20,12 +20,47 @@ on: | ||||
|       - ".github/dependabot.yml" | ||||
|  | ||||
| jobs: | ||||
|   golangci-lint: | ||||
|   changes: | ||||
|     runs-on: ubuntu-latest | ||||
|     steps: | ||||
|       - name: Fetch Repository | ||||
|         uses: actions/checkout@v4 | ||||
|         with: | ||||
|           fetch-depth: 0 | ||||
|  | ||||
|       - name: Generate filters | ||||
|         id: filter-setup | ||||
|         run: | | ||||
|           filters=$(find . -maxdepth 1 -type d ! -path ./.git ! -path . ! -path ./testhelpers -exec basename {} \; | grep -v '^\.' | awk '{printf "%s: \"%s/**\"\n", $1, $1}') | ||||
|           # Add all testhelpers subdirectories to filters | ||||
|           testhelpers_filters=$(find ./testhelpers -mindepth 1 -maxdepth 1 -type d -exec basename {} \; | awk '{printf "testhelpers/%s: \"testhelpers/%s/**\"\n", $1, $1}') | ||||
|           echo "filters<<EOF" >> $GITHUB_OUTPUT | ||||
|           echo "$filters" >> $GITHUB_OUTPUT | ||||
|           echo "$testhelpers_filters" >> $GITHUB_OUTPUT | ||||
|           echo "EOF" >> $GITHUB_OUTPUT | ||||
|         shell: bash | ||||
|  | ||||
|       - name: Filter changes | ||||
|         id: filter | ||||
|         uses: dorny/paths-filter@v3 | ||||
|         with: | ||||
|           filters: ${{ steps.filter-setup.outputs.filters }} | ||||
|     outputs: | ||||
|       packages: ${{ steps.filter.outputs.changes || '[]' }} | ||||
|  | ||||
|   lint: | ||||
|     needs: changes | ||||
|     runs-on: ubuntu-latest | ||||
|     strategy: | ||||
|       matrix: | ||||
|         package: ${{ fromJSON(needs.changes.outputs.packages || '[]') }} | ||||
|     steps: | ||||
|       - name: Fetch Repository | ||||
|         uses: actions/checkout@v4 | ||||
|       - name: Run golangci-lint | ||||
|         uses: reviewdog/action-golangci-lint@v2 | ||||
|         with: | ||||
|           golangci_lint_flags: "--tests=false" | ||||
|           golangci_lint_flags: "--tests=false --timeout=5m" | ||||
|           workdir: ${{ matrix.package }} | ||||
|           fail_level: "warning" | ||||
|           filter_mode: nofilter | ||||
|   | ||||
							
								
								
									
										126
									
								
								.github/workflows/gosec.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										126
									
								
								.github/workflows/gosec.yml
									
									
									
									
										vendored
									
									
								
							| @@ -1,126 +0,0 @@ | ||||
| name: Gosec Security Scan | ||||
|  | ||||
| on: | ||||
|   push: | ||||
|     branches: | ||||
|       - "master" | ||||
|       - "main" | ||||
|     paths-ignore: | ||||
|       - "**.md" | ||||
|       - LICENSE | ||||
|       - ".github/ISSUE_TEMPLATE/*.yml" | ||||
|       - ".github/dependabot.yml" | ||||
|   pull_request: | ||||
|     branches: | ||||
|       - "*" | ||||
|     paths-ignore: | ||||
|       - "**.md" | ||||
|       - LICENSE | ||||
|       - ".github/ISSUE_TEMPLATE/*.yml" | ||||
|       - ".github/dependabot.yml" | ||||
|  | ||||
| jobs: | ||||
|   gosec-scan: | ||||
|     runs-on: ubuntu-latest | ||||
|     env: | ||||
|       GO111MODULE: on | ||||
|     steps: | ||||
|       - name: Fetch Repository | ||||
|         uses: actions/checkout@v4 | ||||
|       - name: Install Go | ||||
|         uses: actions/setup-go@v4 | ||||
|         with: | ||||
|           go-version: '^1.19.x' | ||||
|           check-latest: true | ||||
|           cache: false | ||||
|       - name: Install Gosec | ||||
|         run: go install github.com/securego/gosec/v2/cmd/gosec@latest | ||||
|       - name: Run Gosec (root) | ||||
|         working-directory: . | ||||
|         run: | | ||||
|           gosec . | ||||
|         # ----- | ||||
|       - name: Run Gosec (arangodb) | ||||
|         working-directory: ./arangodb | ||||
|         run: gosec ./... | ||||
|         # ----- | ||||
|       - name: Run Gosec (badger) | ||||
|         working-directory: ./badger | ||||
|         run: gosec ./... | ||||
|         # ----- | ||||
|       - name: Run Gosec (couchbase) | ||||
|         working-directory: ./couchbase | ||||
|         run: gosec ./... | ||||
|         # ----- | ||||
|       - name: Run Gosec (coherence) | ||||
|         working-directory: ./coherence | ||||
|         run: gosec ./... | ||||
|         # ----- | ||||
|       - name: Run Gosec (dynamodb) | ||||
|         working-directory: ./dynamodb | ||||
|         run: gosec ./... | ||||
|         # ----- | ||||
|       - name: Run Gosec (etcd) | ||||
|         working-directory: ./etcd | ||||
|         run: gosec ./... | ||||
|         # ----- | ||||
|       - name: Run Gosec (memcache) | ||||
|         working-directory: ./memcache | ||||
|         run: gosec ./... | ||||
|         # ----- | ||||
|       - name: Run Gosec (memory) | ||||
|         working-directory: ./memory | ||||
|         run: gosec ./... | ||||
|         # ----- | ||||
|       - name: Run Gosec (minio) | ||||
|         working-directory: ./minio | ||||
|         run: gosec ./... | ||||
|         # ----- | ||||
|       - name: Run Gosec (mongodb) | ||||
|         working-directory: ./mongodb | ||||
|         run: gosec ./... | ||||
|         # ----- | ||||
|       - name: Run Gosec (mysql) | ||||
|         working-directory: ./mysql | ||||
|         run: gosec ./... | ||||
|         # ----- | ||||
|       - name: Run Gosec (postgres) | ||||
|         working-directory: ./postgres | ||||
|         run: gosec ./... | ||||
|         # ----- | ||||
|       - name: Run Gosec (redis) | ||||
|         working-directory: ./redis | ||||
|         run: gosec ./... | ||||
|         # ----- | ||||
|       - name: Run Gosec (sqlite3) | ||||
|         working-directory: ./sqlite3 | ||||
|         run: gosec ./... | ||||
|         # ----- | ||||
|       - name: Run Gosec (s3) | ||||
|         working-directory: ./s3 | ||||
|         run: gosec ./... | ||||
|         # ----- | ||||
|       - name: Run Gosec (ristretto) | ||||
|         working-directory: ./ristretto | ||||
|         run: gosec ./... | ||||
|         # ----- | ||||
|       - name: Run Gosec (bbolt) | ||||
|         working-directory: ./bbolt | ||||
|         run: gosec ./... | ||||
|         # ----- | ||||
|       - name: Run Gosec (azureblob) | ||||
|         working-directory: ./azureblob | ||||
|         run: gosec ./... | ||||
|         # ----- | ||||
|       - name: Run Gosec (mssql) | ||||
|         working-directory: ./mssql | ||||
|         run: gosec ./... | ||||
|         # ----- | ||||
|       - name: Run Gosec (pebble) | ||||
|         working-directory: ./pebble | ||||
|         run: gosec ./... | ||||
|         # ----- | ||||
|       - name: Run Gosec (rueidis) | ||||
|         working-directory: ./rueidis | ||||
|         run: gosec ./... | ||||
|         # ----- | ||||
							
								
								
									
										39
									
								
								.github/workflows/govulncheck.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										39
									
								
								.github/workflows/govulncheck.yml
									
									
									
									
										vendored
									
									
								
							| @@ -1,39 +0,0 @@ | ||||
| name: Govulncheck Security Scan | ||||
|  | ||||
| on: | ||||
|   push: | ||||
|     branches: | ||||
|       - "master" | ||||
|       - "main" | ||||
|     paths-ignore: | ||||
|       - "**.md" | ||||
|       - LICENSE | ||||
|       - ".github/ISSUE_TEMPLATE/*.yml" | ||||
|       - ".github/dependabot.yml" | ||||
|   pull_request: | ||||
|     branches: | ||||
|       - "*" | ||||
|     paths-ignore: | ||||
|       - "**.md" | ||||
|       - LICENSE | ||||
|       - ".github/ISSUE_TEMPLATE/*.yml" | ||||
|       - ".github/dependabot.yml" | ||||
|  | ||||
| jobs: | ||||
|   govulncheck-check: | ||||
|     runs-on: ubuntu-latest | ||||
|     env: | ||||
|       GO111MODULE: on | ||||
|     steps: | ||||
|     - name: Fetch Repository | ||||
|       uses: actions/checkout@v4 | ||||
|     - name: Install Go | ||||
|       uses: actions/setup-go@v4 | ||||
|       with: | ||||
|         go-version: 'stable' | ||||
|         check-latest: true | ||||
|         cache: false | ||||
|     - name: Install Govulncheck | ||||
|       run: go install golang.org/x/vuln/cmd/govulncheck@latest | ||||
|     - name: Run Govulncheck | ||||
|       run: govulncheck ./... | ||||
							
								
								
									
										19
									
								
								.github/workflows/release-drafter-arangodb.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										19
									
								
								.github/workflows/release-drafter-arangodb.yml
									
									
									
									
										vendored
									
									
								
							| @@ -1,19 +0,0 @@ | ||||
| name: Release Drafter Arangodb | ||||
| on: | ||||
|     push: | ||||
|         # branches to consider in the event; optional, defaults to all | ||||
|         branches: | ||||
|             - master | ||||
|             - main | ||||
|         paths: | ||||
|             - 'arangodb/**' | ||||
| jobs: | ||||
|     draft_release_arangodb: | ||||
|         runs-on: ubuntu-latest | ||||
|         timeout-minutes: 30 | ||||
|         steps: | ||||
|             -   uses: release-drafter/release-drafter@v5 | ||||
|                 with: | ||||
|                     config-name: release-drafter-arangodb.yml | ||||
|                 env: | ||||
|                     GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||||
							
								
								
									
										19
									
								
								.github/workflows/release-drafter-azureblob.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										19
									
								
								.github/workflows/release-drafter-azureblob.yml
									
									
									
									
										vendored
									
									
								
							| @@ -1,19 +0,0 @@ | ||||
| name: Release Drafter Azureblob | ||||
| on: | ||||
|     push: | ||||
|         # branches to consider in the event; optional, defaults to all | ||||
|         branches: | ||||
|             - master | ||||
|             - main | ||||
|         paths: | ||||
|             - 'azureblob/**' | ||||
| jobs: | ||||
|     draft_release_azureblob: | ||||
|         runs-on: ubuntu-latest | ||||
|         timeout-minutes: 30 | ||||
|         steps: | ||||
|             -   uses: release-drafter/release-drafter@v5 | ||||
|                 with: | ||||
|                     config-name: release-drafter-azureblob.yml | ||||
|                 env: | ||||
|                     GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||||
							
								
								
									
										19
									
								
								.github/workflows/release-drafter-badger.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										19
									
								
								.github/workflows/release-drafter-badger.yml
									
									
									
									
										vendored
									
									
								
							| @@ -1,19 +0,0 @@ | ||||
| name: Release Drafter Badger | ||||
| on: | ||||
|     push: | ||||
|         # branches to consider in the event; optional, defaults to all | ||||
|         branches: | ||||
|             - master | ||||
|             - main | ||||
|         paths: | ||||
|             - 'badger/**' | ||||
| jobs: | ||||
|     draft_release_badger: | ||||
|         runs-on: ubuntu-latest | ||||
|         timeout-minutes: 30 | ||||
|         steps: | ||||
|             -   uses: release-drafter/release-drafter@v5 | ||||
|                 with: | ||||
|                     config-name: release-drafter-badger.yml | ||||
|                 env: | ||||
|                     GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||||
							
								
								
									
										19
									
								
								.github/workflows/release-drafter-bbolt.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										19
									
								
								.github/workflows/release-drafter-bbolt.yml
									
									
									
									
										vendored
									
									
								
							| @@ -1,19 +0,0 @@ | ||||
| name: Release Drafter Bbolt | ||||
| on: | ||||
|     push: | ||||
|         # branches to consider in the event; optional, defaults to all | ||||
|         branches: | ||||
|             - master | ||||
|             - main | ||||
|         paths: | ||||
|             - 'bbolt/**' | ||||
| jobs: | ||||
|     draft_release_bbolt: | ||||
|         runs-on: ubuntu-latest | ||||
|         timeout-minutes: 30 | ||||
|         steps: | ||||
|             -   uses: release-drafter/release-drafter@v5 | ||||
|                 with: | ||||
|                     config-name: release-drafter-bbolt.yml | ||||
|                 env: | ||||
|                     GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||||
							
								
								
									
										19
									
								
								.github/workflows/release-drafter-coherence.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										19
									
								
								.github/workflows/release-drafter-coherence.yml
									
									
									
									
										vendored
									
									
								
							| @@ -1,19 +0,0 @@ | ||||
| name: Release Drafter Coherence | ||||
| on: | ||||
|     push: | ||||
|         # branches to consider in the event; optional, defaults to all | ||||
|         branches: | ||||
|             - master | ||||
|             - main | ||||
|         paths: | ||||
|             - 'coherence/**' | ||||
| jobs: | ||||
|     draft_release_coherence: | ||||
|         runs-on: ubuntu-latest | ||||
|         timeout-minutes: 30 | ||||
|         steps: | ||||
|             -   uses: release-drafter/release-drafter@v5 | ||||
|                 with: | ||||
|                     config-name: release-drafter-coherence.yml | ||||
|                 env: | ||||
|                     GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||||
							
								
								
									
										19
									
								
								.github/workflows/release-drafter-couchbase.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										19
									
								
								.github/workflows/release-drafter-couchbase.yml
									
									
									
									
										vendored
									
									
								
							| @@ -1,19 +0,0 @@ | ||||
| name: Release Drafter Couchbase | ||||
| on: | ||||
|   push: | ||||
|     # branches to consider in the event; optional, defaults to all | ||||
|     branches: | ||||
|       - master | ||||
|       - main | ||||
|     paths: | ||||
|       - 'couchbase/**' | ||||
| jobs: | ||||
|   draft_release_couchbase: | ||||
|     runs-on: ubuntu-latest | ||||
|     timeout-minutes: 30 | ||||
|     steps: | ||||
|       -   uses: release-drafter/release-drafter@v5 | ||||
|           with: | ||||
|             config-name: release-drafter-couchbase.yml | ||||
|           env: | ||||
|             GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||||
							
								
								
									
										19
									
								
								.github/workflows/release-drafter-dynamodb.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										19
									
								
								.github/workflows/release-drafter-dynamodb.yml
									
									
									
									
										vendored
									
									
								
							| @@ -1,19 +0,0 @@ | ||||
| name: Release Drafter Dynamodb | ||||
| on: | ||||
|     push: | ||||
|         # branches to consider in the event; optional, defaults to all | ||||
|         branches: | ||||
|             - master | ||||
|             - main | ||||
|         paths: | ||||
|             - 'dynamodb/**' | ||||
| jobs: | ||||
|     draft_release_dynamodb: | ||||
|         runs-on: ubuntu-latest | ||||
|         timeout-minutes: 30 | ||||
|         steps: | ||||
|             -   uses: release-drafter/release-drafter@v5 | ||||
|                 with: | ||||
|                     config-name: release-drafter-dynamodb.yml | ||||
|                 env: | ||||
|                     GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||||
							
								
								
									
										19
									
								
								.github/workflows/release-drafter-etcd.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										19
									
								
								.github/workflows/release-drafter-etcd.yml
									
									
									
									
										vendored
									
									
								
							| @@ -1,19 +0,0 @@ | ||||
| name: Release Drafter Etcd | ||||
| on: | ||||
|     push: | ||||
|         # branches to consider in the event; optional, defaults to all | ||||
|         branches: | ||||
|             - master | ||||
|             - main | ||||
|         paths: | ||||
|             - 'etcd/**' | ||||
| jobs: | ||||
|     draft_release_etcd: | ||||
|         runs-on: ubuntu-latest | ||||
|         timeout-minutes: 30 | ||||
|         steps: | ||||
|             -   uses: release-drafter/release-drafter@v5 | ||||
|                 with: | ||||
|                     config-name: release-drafter-etcd.yml | ||||
|                 env: | ||||
|                     GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||||
							
								
								
									
										19
									
								
								.github/workflows/release-drafter-memcache.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										19
									
								
								.github/workflows/release-drafter-memcache.yml
									
									
									
									
										vendored
									
									
								
							| @@ -1,19 +0,0 @@ | ||||
| name: Release Drafter Memcache | ||||
| on: | ||||
|     push: | ||||
|         # branches to consider in the event; optional, defaults to all | ||||
|         branches: | ||||
|             - master | ||||
|             - main | ||||
|         paths: | ||||
|             - 'memcache/**' | ||||
| jobs: | ||||
|     draft_release_memcache: | ||||
|         runs-on: ubuntu-latest | ||||
|         timeout-minutes: 30 | ||||
|         steps: | ||||
|             -   uses: release-drafter/release-drafter@v5 | ||||
|                 with: | ||||
|                     config-name: release-drafter-memcache.yml | ||||
|                 env: | ||||
|                     GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||||
							
								
								
									
										19
									
								
								.github/workflows/release-drafter-memory.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										19
									
								
								.github/workflows/release-drafter-memory.yml
									
									
									
									
										vendored
									
									
								
							| @@ -1,19 +0,0 @@ | ||||
| name: Release Drafter Memory | ||||
| on: | ||||
|     push: | ||||
|         # branches to consider in the event; optional, defaults to all | ||||
|         branches: | ||||
|             - master | ||||
|             - main | ||||
|         paths: | ||||
|             - 'memory/**' | ||||
| jobs: | ||||
|     draft_release_memcache: | ||||
|         runs-on: ubuntu-latest | ||||
|         timeout-minutes: 30 | ||||
|         steps: | ||||
|             -   uses: release-drafter/release-drafter@v5 | ||||
|                 with: | ||||
|                     config-name: release-drafter-memory.yml | ||||
|                 env: | ||||
|                     GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||||
							
								
								
									
										19
									
								
								.github/workflows/release-drafter-minio.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										19
									
								
								.github/workflows/release-drafter-minio.yml
									
									
									
									
										vendored
									
									
								
							| @@ -1,19 +0,0 @@ | ||||
| name: Release Drafter Minio | ||||
| on: | ||||
|     push: | ||||
|         # branches to consider in the event; optional, defaults to all | ||||
|         branches: | ||||
|             - master | ||||
|             - main | ||||
|         paths: | ||||
|             - 'minio/**' | ||||
| jobs: | ||||
|     draft_release_minio: | ||||
|         runs-on: ubuntu-latest | ||||
|         timeout-minutes: 30 | ||||
|         steps: | ||||
|             -   uses: release-drafter/release-drafter@v5 | ||||
|                 with: | ||||
|                     config-name: release-drafter-minio.yml | ||||
|                 env: | ||||
|                     GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||||
							
								
								
									
										19
									
								
								.github/workflows/release-drafter-mongodb.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										19
									
								
								.github/workflows/release-drafter-mongodb.yml
									
									
									
									
										vendored
									
									
								
							| @@ -1,19 +0,0 @@ | ||||
| name: Release Drafter Mongodb | ||||
| on: | ||||
|     push: | ||||
|         # branches to consider in the event; optional, defaults to all | ||||
|         branches: | ||||
|             - master | ||||
|             - main | ||||
|         paths: | ||||
|             - 'mongodb/**' | ||||
| jobs: | ||||
|     draft_release_mongodb: | ||||
|         runs-on: ubuntu-latest | ||||
|         timeout-minutes: 30 | ||||
|         steps: | ||||
|             -   uses: release-drafter/release-drafter@v5 | ||||
|                 with: | ||||
|                     config-name: release-drafter-mongodb.yml | ||||
|                 env: | ||||
|                     GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||||
							
								
								
									
										19
									
								
								.github/workflows/release-drafter-mssql.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										19
									
								
								.github/workflows/release-drafter-mssql.yml
									
									
									
									
										vendored
									
									
								
							| @@ -1,19 +0,0 @@ | ||||
| name: Release Drafter Mssql | ||||
| on: | ||||
|     push: | ||||
|         # branches to consider in the event; optional, defaults to all | ||||
|         branches: | ||||
|             - master | ||||
|             - main | ||||
|         paths: | ||||
|             - 'mssql/**' | ||||
| jobs: | ||||
|     draft_release_mssql: | ||||
|         runs-on: ubuntu-latest | ||||
|         timeout-minutes: 30 | ||||
|         steps: | ||||
|             -   uses: release-drafter/release-drafter@v5 | ||||
|                 with: | ||||
|                     config-name: release-drafter-mssql.yml | ||||
|                 env: | ||||
|                     GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||||
							
								
								
									
										19
									
								
								.github/workflows/release-drafter-mysql.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										19
									
								
								.github/workflows/release-drafter-mysql.yml
									
									
									
									
										vendored
									
									
								
							| @@ -1,19 +0,0 @@ | ||||
| name: Release Drafter Mysql | ||||
| on: | ||||
|     push: | ||||
|         # branches to consider in the event; optional, defaults to all | ||||
|         branches: | ||||
|             - master | ||||
|             - main | ||||
|         paths: | ||||
|             - 'mysql/**' | ||||
| jobs: | ||||
|     draft_release_mysql: | ||||
|         runs-on: ubuntu-latest | ||||
|         timeout-minutes: 30 | ||||
|         steps: | ||||
|             -   uses: release-drafter/release-drafter@v5 | ||||
|                 with: | ||||
|                     config-name: release-drafter-mysql.yml | ||||
|                 env: | ||||
|                     GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||||
							
								
								
									
										19
									
								
								.github/workflows/release-drafter-pebble.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										19
									
								
								.github/workflows/release-drafter-pebble.yml
									
									
									
									
										vendored
									
									
								
							| @@ -1,19 +0,0 @@ | ||||
| name: Release Drafter Pebble | ||||
| on: | ||||
|   push: | ||||
|     # branches to consider in the event; optional, defaults to all | ||||
|     branches: | ||||
|       - master | ||||
|       - main | ||||
|     paths: | ||||
|       - "pebble/**" | ||||
| jobs: | ||||
|   draft_release_pebble: | ||||
|     runs-on: ubuntu-latest | ||||
|     timeout-minutes: 30 | ||||
|     steps: | ||||
|       - uses: release-drafter/release-drafter@v5 | ||||
|         with: | ||||
|           config-name: release-drafter-pebble.yml | ||||
|         env: | ||||
|           GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||||
							
								
								
									
										19
									
								
								.github/workflows/release-drafter-postgres.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										19
									
								
								.github/workflows/release-drafter-postgres.yml
									
									
									
									
										vendored
									
									
								
							| @@ -1,19 +0,0 @@ | ||||
| name: Release Drafter Postgres | ||||
| on: | ||||
|     push: | ||||
|         # branches to consider in the event; optional, defaults to all | ||||
|         branches: | ||||
|             - master | ||||
|             - main | ||||
|         paths: | ||||
|             - 'postgres/**' | ||||
| jobs: | ||||
|     draft_release_postgres: | ||||
|         runs-on: ubuntu-latest | ||||
|         timeout-minutes: 30 | ||||
|         steps: | ||||
|             -   uses: release-drafter/release-drafter@v5 | ||||
|                 with: | ||||
|                     config-name: release-drafter-postgres.yml | ||||
|                 env: | ||||
|                     GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||||
							
								
								
									
										19
									
								
								.github/workflows/release-drafter-redis.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										19
									
								
								.github/workflows/release-drafter-redis.yml
									
									
									
									
										vendored
									
									
								
							| @@ -1,19 +0,0 @@ | ||||
| name: Release Drafter Redis | ||||
| on: | ||||
|     push: | ||||
|         # branches to consider in the event; optional, defaults to all | ||||
|         branches: | ||||
|             - master | ||||
|             - main | ||||
|         paths: | ||||
|             - 'redis/**' | ||||
| jobs: | ||||
|     draft_release_redis: | ||||
|         runs-on: ubuntu-latest | ||||
|         timeout-minutes: 30 | ||||
|         steps: | ||||
|             -   uses: release-drafter/release-drafter@v5 | ||||
|                 with: | ||||
|                     config-name: release-drafter-redis.yml | ||||
|                 env: | ||||
|                     GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||||
							
								
								
									
										19
									
								
								.github/workflows/release-drafter-ristretto.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										19
									
								
								.github/workflows/release-drafter-ristretto.yml
									
									
									
									
										vendored
									
									
								
							| @@ -1,19 +0,0 @@ | ||||
| name: Release Drafter Ristretto | ||||
| on: | ||||
|     push: | ||||
|         # branches to consider in the event; optional, defaults to all | ||||
|         branches: | ||||
|             - master | ||||
|             - main | ||||
|         paths: | ||||
|             - 'ristretto/**' | ||||
| jobs: | ||||
|     draft_release_ristretto: | ||||
|         runs-on: ubuntu-latest | ||||
|         timeout-minutes: 30 | ||||
|         steps: | ||||
|             -   uses: release-drafter/release-drafter@v5 | ||||
|                 with: | ||||
|                     config-name: release-drafter-ristretto.yml | ||||
|                 env: | ||||
|                     GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||||
							
								
								
									
										19
									
								
								.github/workflows/release-drafter-rueidis.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										19
									
								
								.github/workflows/release-drafter-rueidis.yml
									
									
									
									
										vendored
									
									
								
							| @@ -1,19 +0,0 @@ | ||||
| name: Release Drafter Rueidis | ||||
| on: | ||||
|     push: | ||||
|         # branches to consider in the event; optional, defaults to all | ||||
|         branches: | ||||
|             - master | ||||
|             - main | ||||
|         paths: | ||||
|             - 'rueidis/**' | ||||
| jobs: | ||||
|     draft_release_rueidis: | ||||
|         runs-on: ubuntu-latest | ||||
|         timeout-minutes: 30 | ||||
|         steps: | ||||
|             -   uses: release-drafter/release-drafter@v5 | ||||
|                 with: | ||||
|                     config-name: release-drafter-rueidis.yml | ||||
|                 env: | ||||
|                     GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||||
							
								
								
									
										19
									
								
								.github/workflows/release-drafter-s3.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										19
									
								
								.github/workflows/release-drafter-s3.yml
									
									
									
									
										vendored
									
									
								
							| @@ -1,19 +0,0 @@ | ||||
| name: Release Drafter S3 | ||||
| on: | ||||
|     push: | ||||
|         # branches to consider in the event; optional, defaults to all | ||||
|         branches: | ||||
|             - master | ||||
|             - main | ||||
|         paths: | ||||
|             - 's3/**' | ||||
| jobs: | ||||
|     draft_release_s3: | ||||
|         runs-on: ubuntu-latest | ||||
|         timeout-minutes: 30 | ||||
|         steps: | ||||
|             -   uses: release-drafter/release-drafter@v5 | ||||
|                 with: | ||||
|                     config-name: release-drafter-s3.yml | ||||
|                 env: | ||||
|                     GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||||
							
								
								
									
										20
									
								
								.github/workflows/release-drafter-sqlite3.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										20
									
								
								.github/workflows/release-drafter-sqlite3.yml
									
									
									
									
										vendored
									
									
								
							| @@ -1,20 +0,0 @@ | ||||
| name: Release Drafter Sqlite3 | ||||
| on: | ||||
|     push: | ||||
|         # branches to consider in the event; optional, defaults to all | ||||
|         branches: | ||||
|             - master | ||||
|             - main | ||||
|         paths: | ||||
|             - 'sqlite3/**' | ||||
| jobs: | ||||
|     draft_release_sqlite3: | ||||
|         runs-on: ubuntu-latest | ||||
|         timeout-minutes: 30 | ||||
|         steps: | ||||
|             -   uses: release-drafter/release-drafter@v5 | ||||
|                 with: | ||||
|                     config-name: release-drafter-sqlite3.yml | ||||
|                 env: | ||||
|                     GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||||
|  | ||||
							
								
								
									
										61
									
								
								.github/workflows/release-drafter.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										61
									
								
								.github/workflows/release-drafter.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,61 @@ | ||||
| name: Release Drafter (All) | ||||
|  | ||||
| on: | ||||
|     push: | ||||
|         branches: | ||||
|             - master | ||||
|             - main | ||||
|  | ||||
| jobs: | ||||
|     changes: | ||||
|         runs-on: ubuntu-latest | ||||
|         permissions: | ||||
|             pull-requests: read | ||||
|         steps: | ||||
|             - name: Checkout repository | ||||
|               uses: actions/checkout@v4 | ||||
|  | ||||
|             - name: Generate filters | ||||
|               id: filter-setup | ||||
|               run: | | ||||
|                   filters=$(find . -maxdepth 1 -type d ! -path ./.git ! -path . ! -path ./testhelpers -exec basename {} \; | grep -v '^\.' | awk '{printf "%s: \"%s/**\"\n", $1, $1}') | ||||
|                   echo "filters<<EOF" >> $GITHUB_OUTPUT | ||||
|                   echo "$filters" >> $GITHUB_OUTPUT | ||||
|                   echo "EOF" >> $GITHUB_OUTPUT | ||||
|               shell: bash | ||||
|             - name: Filter changes | ||||
|               id: filter | ||||
|               uses: dorny/paths-filter@v3 | ||||
|               with: | ||||
|                   filters: ${{ steps.filter-setup.outputs.filters }} | ||||
|  | ||||
|         outputs: | ||||
|             packages: ${{ steps.filter.outputs.changes || '[]' }} | ||||
|  | ||||
|     release-drafter: | ||||
|         needs: changes | ||||
|         runs-on: ubuntu-latest | ||||
|         timeout-minutes: 30 | ||||
|         if: needs.changes.outputs.packages != '[]' # Ensure job runs only if there are changes | ||||
|         env: | ||||
|             GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||||
|         strategy: | ||||
|             matrix: | ||||
|                 package: ${{ fromJSON(needs.changes.outputs.packages || '[]') }} | ||||
|         steps: | ||||
|             - name: Checkout repository | ||||
|               uses: actions/checkout@v4 | ||||
|  | ||||
|             - name: Generate dynamic config from template | ||||
|               id: generate-config | ||||
|               run: | | ||||
|                 folder="${{ matrix.package }}" | ||||
|                 sed "s|{{FOLDER}}|$folder|g" .github/release-drafter-template.yml > .github/release-drafter-$folder.yml | ||||
|                 echo "config<<EOF" >> $GITHUB_OUTPUT | ||||
|                 cat .github/release-drafter-$folder.yml >> $GITHUB_OUTPUT | ||||
|                 echo "EOF" >> $GITHUB_OUTPUT | ||||
|  | ||||
|             - name: Use dynamic release-drafter configuration | ||||
|               uses: ReneWerner87/release-drafter@6dec4ceb1fb86b6514f11a2e7a39e1dedce709d0 | ||||
|               with: | ||||
|                   config: ${{ steps.generate-config.outputs.config }} | ||||
							
								
								
									
										4
									
								
								.github/workflows/sync-docs.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								.github/workflows/sync-docs.yml
									
									
									
									
										vendored
									
									
								
							| @@ -23,9 +23,9 @@ jobs: | ||||
|                   fetch-depth: 2 | ||||
|  | ||||
|             - name: Setup Node.js environment | ||||
|               uses: actions/setup-node@v3 | ||||
|               uses: actions/setup-node@v4 | ||||
|               with: | ||||
|                   node-version: '18' | ||||
|                   node-version: '20' | ||||
|  | ||||
|             - name: Install JQ | ||||
|               run: sudo apt-get install jq | ||||
|   | ||||
							
								
								
									
										30
									
								
								.github/workflows/test-aerospike.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										30
									
								
								.github/workflows/test-aerospike.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,30 @@ | ||||
| on: | ||||
|     push: | ||||
|         branches: | ||||
|             - master | ||||
|             - main | ||||
|         paths: | ||||
|             - 'aerospike/**' | ||||
|     pull_request: | ||||
|         paths: | ||||
|             - 'aerospike/**' | ||||
| name: "Tests Aerospike" | ||||
| jobs: | ||||
|     Tests: | ||||
|         runs-on: ubuntu-latest         | ||||
|         strategy: | ||||
|             matrix: | ||||
|                 go-version: | ||||
|                     - 1.23.x | ||||
|                     - 1.24.x | ||||
|         steps: | ||||
|             -   name: Fetch Repository | ||||
|                 uses: actions/checkout@v4 | ||||
|             -   name: Install Go | ||||
|                 uses: actions/setup-go@v5 | ||||
|                 with: | ||||
|                     go-version: '${{ matrix.go-version }}' | ||||
|             -   name: Run Test | ||||
|                 env: | ||||
|                     TEST_AEROSPIKE_IMAGE: aerospike/aerospike-server:latest | ||||
|                 run: cd ./aerospike && go test ./... -v -race | ||||
							
								
								
									
										16
									
								
								.github/workflows/test-arangodb.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										16
									
								
								.github/workflows/test-arangodb.yml
									
									
									
									
										vendored
									
									
								
							| @@ -12,25 +12,19 @@ name: "Tests ArangoDB" | ||||
| jobs: | ||||
|     Tests: | ||||
|         runs-on: ubuntu-latest | ||||
|         services: | ||||
|             arangodb: | ||||
|                 image: 'arangodb:latest' | ||||
|                 env: | ||||
|                     ARANGO_NO_AUTH: 1 | ||||
|                 ports: | ||||
|                     - '8529:8529' | ||||
|         strategy: | ||||
|             matrix: | ||||
|                 go-version: | ||||
|                     - 1.19.x | ||||
|                     - 1.20.x | ||||
|                     - 1.21.x | ||||
|                     - 1.23.x | ||||
|                     - 1.24.x | ||||
|         steps: | ||||
|             -   name: Fetch Repository | ||||
|                 uses: actions/checkout@v4 | ||||
|             -   name: Install Go | ||||
|                 uses: actions/setup-go@v4 | ||||
|                 uses: actions/setup-go@v5 | ||||
|                 with: | ||||
|                     go-version: '${{ matrix.go-version }}' | ||||
|             -   name: Run Test | ||||
|                 env: | ||||
|                     TEST_ARANGODB_IMAGE: arangodb:latest | ||||
|                 run: cd ./arangodb && go test ./... -v -race | ||||
|   | ||||
							
								
								
									
										12
									
								
								.github/workflows/test-azureblob.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										12
									
								
								.github/workflows/test-azureblob.yml
									
									
									
									
										vendored
									
									
								
							| @@ -15,18 +15,16 @@ jobs: | ||||
|         strategy: | ||||
|             matrix: | ||||
|                 go-version: | ||||
|                     - 1.19.x | ||||
|                     - 1.20.x | ||||
|                     - 1.21.x | ||||
|                     - 1.23.x | ||||
|                     - 1.24.x | ||||
|         steps: | ||||
|         -   name: Install Azurite | ||||
|             run: | | ||||
|                 docker run -d -p 10000:10000 mcr.microsoft.com/azure-storage/azurite azurite-blob --blobHost 0.0.0.0 --blobPort 10000 | ||||
|         -   name: Fetch Repository | ||||
|             uses: actions/checkout@v4 | ||||
|         -   name: Install Go | ||||
|             uses: actions/setup-go@v4 | ||||
|             uses: actions/setup-go@v5 | ||||
|             with: | ||||
|                 go-version: '${{ matrix.go-version }}' | ||||
|         -   name: Run Test | ||||
|             env: | ||||
|                 TEST_AZURITE_IMAGE: mcr.microsoft.com/azure-storage/azurite:latest | ||||
|             run: cd ./azureblob && go test ./... -v -race | ||||
|   | ||||
							
								
								
									
										7
									
								
								.github/workflows/test-badger.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										7
									
								
								.github/workflows/test-badger.yml
									
									
									
									
										vendored
									
									
								
							| @@ -14,15 +14,14 @@ jobs: | ||||
|         strategy: | ||||
|             matrix: | ||||
|                 go-version: | ||||
|                     - 1.19.x | ||||
|                     - 1.20.x | ||||
|                     - 1.21.x | ||||
|                     - 1.23.x | ||||
|                     - 1.24.x | ||||
|         runs-on: ubuntu-latest | ||||
|         steps: | ||||
|             -   name: Fetch Repository | ||||
|                 uses: actions/checkout@v4 | ||||
|             -   name: Install Go | ||||
|                 uses: actions/setup-go@v4 | ||||
|                 uses: actions/setup-go@v5 | ||||
|                 with: | ||||
|                     go-version: '${{ matrix.go-version }}' | ||||
|             -   name: Test Badger | ||||
|   | ||||
							
								
								
									
										7
									
								
								.github/workflows/test-bbolt.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										7
									
								
								.github/workflows/test-bbolt.yml
									
									
									
									
										vendored
									
									
								
							| @@ -15,14 +15,13 @@ jobs: | ||||
|         strategy: | ||||
|             matrix: | ||||
|                 go-version: | ||||
|                     - 1.19.x | ||||
|                     - 1.20.x | ||||
|                     - 1.21.x | ||||
|                     - 1.23.x | ||||
|                     - 1.24.x | ||||
|         steps: | ||||
|             -   name: Fetch Repository | ||||
|                 uses: actions/checkout@v4 | ||||
|             -   name: Install Go | ||||
|                 uses: actions/setup-go@v4 | ||||
|                 uses: actions/setup-go@v5 | ||||
|                 with: | ||||
|                     go-version: '${{ matrix.go-version }}' | ||||
|             -   name: Run Test | ||||
|   | ||||
							
								
								
									
										30
									
								
								.github/workflows/test-cassandra.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										30
									
								
								.github/workflows/test-cassandra.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,30 @@ | ||||
| on: | ||||
|   push: | ||||
|     branches: | ||||
|       - master | ||||
|       - main | ||||
|     paths: | ||||
|       - 'cassandra/**' | ||||
|   pull_request: | ||||
|     paths: | ||||
|       - 'cassandra/**' | ||||
| name: 'Tests Cassandra' | ||||
| jobs: | ||||
|   Tests: | ||||
|     runs-on: ubuntu-latest | ||||
|     strategy: | ||||
|       matrix: | ||||
|         go-version: | ||||
|           - 1.23.x | ||||
|           - 1.24.x | ||||
|     steps: | ||||
|       - name: Fetch Repository | ||||
|         uses: actions/checkout@v4 | ||||
|       - name: Install Go | ||||
|         uses: actions/setup-go@v5 | ||||
|         with: | ||||
|           go-version: '${{ matrix.go-version }}' | ||||
|       - name: Run Test | ||||
|         env: | ||||
|           TEST_CASSANDRA_IMAGE: cassandra:latest | ||||
|         run: cd ./cassandra && go clean -testcache && go test ./... -v -race | ||||
							
								
								
									
										30
									
								
								.github/workflows/test-clickhouse.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										30
									
								
								.github/workflows/test-clickhouse.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,30 @@ | ||||
| on: | ||||
|   push: | ||||
|     branches: | ||||
|       - master | ||||
|       - main | ||||
|     paths: | ||||
|       - 'clickhouse/**' | ||||
|   pull_request: | ||||
|     paths: | ||||
|       - 'clickhouse/**' | ||||
| name: 'Tests Clickhouse' | ||||
| jobs: | ||||
|   Tests: | ||||
|     runs-on: ubuntu-latest | ||||
|     strategy: | ||||
|       matrix: | ||||
|         go-version: | ||||
|           - 1.23.x | ||||
|           - 1.24.x | ||||
|     steps: | ||||
|       - name: Fetch Repository | ||||
|         uses: actions/checkout@v4 | ||||
|       - name: Install Go | ||||
|         uses: actions/setup-go@v5 | ||||
|         with: | ||||
|           go-version: '${{ matrix.go-version }}' | ||||
|       - name: Run Test | ||||
|         env: | ||||
|           TEST_CLICKHOUSE_IMAGE: clickhouse/clickhouse-server:23-alpine | ||||
|         run: cd ./clickhouse && go clean -testcache && go test ./... -v -race | ||||
							
								
								
									
										43
									
								
								.github/workflows/test-cloudflarekv.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										43
									
								
								.github/workflows/test-cloudflarekv.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,43 @@ | ||||
| name: Tests CloudflareKV | ||||
|  | ||||
| on: | ||||
|   push: | ||||
|     branches: | ||||
|       - master | ||||
|       - main | ||||
|     paths: | ||||
|       - 'cloudflarekv/**' | ||||
|   pull_request: | ||||
|     paths: | ||||
|       - 'cloudflarekv/**' | ||||
|  | ||||
| jobs: | ||||
|   Tests: | ||||
|     runs-on: ubuntu-latest | ||||
|     strategy: | ||||
|       matrix: | ||||
|           go-version: | ||||
|               - 1.23.x | ||||
|               - 1.24.x | ||||
|     steps: | ||||
|       - name: Checkout Repository | ||||
|         uses: actions/checkout@v4 | ||||
|  | ||||
|       - name: Setup Go | ||||
|         uses: actions/setup-go@v5 | ||||
|         with: | ||||
|           go-version: ${{ matrix.go-version }} | ||||
|  | ||||
|       - name: Setup Node.js | ||||
|         uses: actions/setup-node@v4 | ||||
|         with: | ||||
|           node-version: '20' | ||||
|  | ||||
|       - name: Start Wrangler Dev | ||||
|         run: | | ||||
|           .github/scripts/initialize-wrangler.sh | ||||
|           cd cloudflarekv && npx wrangler dev & | ||||
|           npx wait-on tcp:8787 | ||||
|  | ||||
|       - name: Run Go Tests | ||||
|         run: cd cloudflarekv && go test ./... -v -race | ||||
							
								
								
									
										23
									
								
								.github/workflows/test-coherence.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										23
									
								
								.github/workflows/test-coherence.yml
									
									
									
									
										vendored
									
									
								
							| @@ -15,19 +15,16 @@ jobs: | ||||
|     strategy: | ||||
|       matrix: | ||||
|         go-version: | ||||
|           - 1.19.x | ||||
|           - 1.20.x | ||||
|           - 1.21.x | ||||
|           - 1.23.x | ||||
|           - 1.24.x | ||||
|     steps: | ||||
|       - name: Fetch Repository | ||||
|         uses: actions/checkout@v4 | ||||
|       - name: Startup Coherence | ||||
|         run: | | ||||
|           docker run -d -p 1408:1408 -p 30000:30000 ghcr.io/oracle/coherence-ce:22.06.5 | ||||
|           sleep 30 | ||||
|       -   name: Install Go | ||||
|           uses: actions/setup-go@v4 | ||||
|           with: | ||||
|             go-version: '${{ matrix.go-version }}' | ||||
|       -   name: Run Test | ||||
|           run: cd ./coherence && go clean -testcache && go test ./... -v | ||||
|       - name: Install Go | ||||
|         uses: actions/setup-go@v5 | ||||
|         with: | ||||
|           go-version: '${{ matrix.go-version }}' | ||||
|       - name: Run Test | ||||
|         env: | ||||
|           TEST_COHERENCE_IMAGE: "ghcr.io/oracle/coherence-ce:25.03.1-graal" | ||||
|         run: cd ./coherence && COHERENCE_SESSION_DEBUG=true go clean -testcache && go test ./... -v -race | ||||
|   | ||||
							
								
								
									
										16
									
								
								.github/workflows/test-couchbase.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										16
									
								
								.github/workflows/test-couchbase.yml
									
									
									
									
										vendored
									
									
								
							| @@ -15,22 +15,16 @@ jobs: | ||||
|     strategy: | ||||
|       matrix: | ||||
|         go-version: | ||||
|           - 1.19.x | ||||
|           - 1.20.x | ||||
|           - 1.21.x | ||||
|           - 1.23.x | ||||
|           - 1.24.x | ||||
|     steps: | ||||
|       - name: Fetch Repository | ||||
|         uses: actions/checkout@v4 | ||||
|       - name: Install couchbase | ||||
|         run: | | ||||
|           docker run --name couchbase -d -p 8091-8097:8091-8097 -p 9123:9123 -p 11207:11207 -p 11210:11210 -p 11280:11280 -p 18091-18097:18091-18097 couchbase:enterprise-7.1.1 | ||||
|           sleep 10 | ||||
|           docker exec --tty couchbase couchbase-cli cluster-init -c localhost:8091 --cluster-username admin --cluster-password 123456 --cluster-ramsize 256 --services data | ||||
|           sleep 10 | ||||
|           docker exec --tty couchbase couchbase-cli bucket-create -c localhost:8091 --username admin --password 123456 --bucket fiber_storage --bucket-type couchbase --bucket-ramsize 100 --enable-flush 1 | ||||
|       -   name: Install Go | ||||
|           uses: actions/setup-go@v4 | ||||
|           uses: actions/setup-go@v5 | ||||
|           with: | ||||
|             go-version: '${{ matrix.go-version }}' | ||||
|       -   name: Run Test | ||||
|           env: | ||||
|             TEST_COUCHBASE_IMAGE: couchbase:enterprise-7.6.5 | ||||
|           run: cd ./couchbase && go test ./... -v -race | ||||
|   | ||||
							
								
								
									
										9
									
								
								.github/workflows/test-dynamodb.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										9
									
								
								.github/workflows/test-dynamodb.yml
									
									
									
									
										vendored
									
									
								
							| @@ -20,15 +20,16 @@ jobs: | ||||
|         strategy: | ||||
|             matrix: | ||||
|                 go-version: | ||||
|                     - 1.19.x | ||||
|                     - 1.20.x | ||||
|                     - 1.21.x | ||||
|                     - 1.23.x | ||||
|                     - 1.24.x | ||||
|         steps: | ||||
|             -   name: Fetch Repository | ||||
|                 uses: actions/checkout@v4 | ||||
|             -   name: Install Go | ||||
|                 uses: actions/setup-go@v4 | ||||
|                 uses: actions/setup-go@v5 | ||||
|                 with: | ||||
|                     go-version: '${{ matrix.go-version }}' | ||||
|             -   name: Run Test | ||||
|                 env: | ||||
|                     TEST_DYNAMODB_IMAGE: amazon/dynamodb-local:latest | ||||
|                 run: cd ./dynamodb && go test ./... -v -race | ||||
|   | ||||
							
								
								
									
										7
									
								
								.github/workflows/test-etcd.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										7
									
								
								.github/workflows/test-etcd.yml
									
									
									
									
										vendored
									
									
								
							| @@ -15,9 +15,8 @@ jobs: | ||||
|         strategy: | ||||
|             matrix: | ||||
|                 go-version: | ||||
|                     - 1.19.x | ||||
|                     - 1.20.x | ||||
|                     - 1.21.x | ||||
|                     - 1.23.x | ||||
|                     - 1.24.x | ||||
|         steps: | ||||
|             -   name: Fetch Repository | ||||
|                 uses: actions/checkout@v4 | ||||
| @@ -31,7 +30,7 @@ jobs: | ||||
|                       bitnami/etcd:latest | ||||
|  | ||||
|             -   name: Install Go | ||||
|                 uses: actions/setup-go@v4 | ||||
|                 uses: actions/setup-go@v5 | ||||
|                 with: | ||||
|                     go-version: '${{ matrix.go-version }}' | ||||
|             -   name: Run Test | ||||
|   | ||||
							
								
								
									
										28
									
								
								.github/workflows/test-leveldb.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										28
									
								
								.github/workflows/test-leveldb.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,28 @@ | ||||
| on: | ||||
|     push: | ||||
|         branches: | ||||
|             - master | ||||
|             - main | ||||
|         paths: | ||||
|             - 'leveldb/**' | ||||
|     pull_request: | ||||
|         paths: | ||||
|             - 'leveldb/**' | ||||
| name: "Tests LevelDB" | ||||
| jobs: | ||||
|     Tests: | ||||
|         strategy: | ||||
|             matrix: | ||||
|                 go-version: | ||||
|                     - 1.23.x | ||||
|                     - 1.24.x | ||||
|         runs-on: ubuntu-latest | ||||
|         steps: | ||||
|             -   name: Fetch Repository | ||||
|                 uses: actions/checkout@v4 | ||||
|             -   name: Install Go | ||||
|                 uses: actions/setup-go@v5 | ||||
|                 with: | ||||
|                     go-version: '${{ matrix.go-version }}' | ||||
|             -   name: Test LevelDB | ||||
|                 run: cd ./leveldb && go test ./... -v -race | ||||
							
								
								
									
										14
									
								
								.github/workflows/test-memcache.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										14
									
								
								.github/workflows/test-memcache.yml
									
									
									
									
										vendored
									
									
								
							| @@ -12,23 +12,19 @@ name: "Tests Memcache" | ||||
| jobs: | ||||
|     Tests: | ||||
|         runs-on: ubuntu-latest | ||||
|         services: | ||||
|             mongo: | ||||
|                 image: 'memcached:latest' | ||||
|                 ports: | ||||
|                     - '11211:11211' | ||||
|         strategy: | ||||
|             matrix: | ||||
|                 go-version: | ||||
|                     - 1.19.x | ||||
|                     - 1.20.x | ||||
|                     - 1.21.x | ||||
|                     - 1.23.x | ||||
|                     - 1.24.x | ||||
|         steps: | ||||
|             -   name: Fetch Repository | ||||
|                 uses: actions/checkout@v4 | ||||
|             -   name: Install Go | ||||
|                 uses: actions/setup-go@v4 | ||||
|                 uses: actions/setup-go@v5 | ||||
|                 with: | ||||
|                     go-version: '${{ matrix.go-version }}' | ||||
|             -   name: Run Test | ||||
|                 env: | ||||
|                     TEST_MEMCACHED_IMAGE: "memcached:latest" | ||||
|                 run: cd ./memcache && go test ./... -v -race | ||||
|   | ||||
							
								
								
									
										7
									
								
								.github/workflows/test-memory.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										7
									
								
								.github/workflows/test-memory.yml
									
									
									
									
										vendored
									
									
								
							| @@ -14,15 +14,14 @@ jobs: | ||||
|         strategy: | ||||
|             matrix: | ||||
|                 go-version: | ||||
|                     - 1.19.x | ||||
|                     - 1.20.x | ||||
|                     - 1.21.x | ||||
|                     - 1.23.x | ||||
|                     - 1.24.x | ||||
|         runs-on: ubuntu-latest | ||||
|         steps: | ||||
|             -   name: Fetch Repository | ||||
|                 uses: actions/checkout@v4 | ||||
|             -   name: Install Go | ||||
|                 uses: actions/setup-go@v4 | ||||
|                 uses: actions/setup-go@v5 | ||||
|                 with: | ||||
|                     go-version: '${{ matrix.go-version }}' | ||||
|             -   name: Test Memory | ||||
|   | ||||
							
								
								
									
										13
									
								
								.github/workflows/test-minio.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										13
									
								
								.github/workflows/test-minio.yml
									
									
									
									
										vendored
									
									
								
							| @@ -15,19 +15,16 @@ jobs: | ||||
|         strategy: | ||||
|             matrix: | ||||
|                 go-version: | ||||
|                     - 1.19.x | ||||
|                     - 1.20.x | ||||
|                     - 1.21.x | ||||
|                     - 1.23.x | ||||
|                     - 1.24.x | ||||
|         steps: | ||||
|             -   name: Install MinIO | ||||
|                 run: | | ||||
|                     docker run -d --restart always -p 9000:9000 --name storage-minio -e MINIO_ROOT_USER='minio-user' -e MINIO_ROOT_PASSWORD='minio-password' minio/minio server /data | ||||
|  | ||||
|             -   name: Fetch Repository | ||||
|                 uses: actions/checkout@v4 | ||||
|             -   name: Install Go | ||||
|                 uses: actions/setup-go@v4 | ||||
|                 uses: actions/setup-go@v5 | ||||
|                 with: | ||||
|                     go-version: '${{ matrix.go-version }}' | ||||
|             -   name: Run Test | ||||
|                 env: | ||||
|                     TEST_MINIO_IMAGE: docker.io/minio/minio:latest | ||||
|                 run: cd ./minio && go test ./... -v -race | ||||
|   | ||||
							
								
								
									
										28
									
								
								.github/workflows/test-mockstorage.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										28
									
								
								.github/workflows/test-mockstorage.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,28 @@ | ||||
| on: | ||||
|     push: | ||||
|         branches: | ||||
|             - master | ||||
|             - main | ||||
|         paths: | ||||
|             - 'mockstorage/**' | ||||
|     pull_request: | ||||
|         paths: | ||||
|             - 'mockstorage/**' | ||||
| name: "Tests Local Storage" | ||||
| jobs: | ||||
|     Tests: | ||||
|         strategy: | ||||
|             matrix: | ||||
|                 go-version: | ||||
|                     - 1.23.x | ||||
|                     - 1.24.x | ||||
|         runs-on: ubuntu-latest | ||||
|         steps: | ||||
|             -   name: Fetch Repository | ||||
|                 uses: actions/checkout@v4 | ||||
|             -   name: Install Go | ||||
|                 uses: actions/setup-go@v5 | ||||
|                 with: | ||||
|                     go-version: '${{ matrix.go-version }}' | ||||
|             -   name: Test Mockstorage | ||||
|                 run: cd ./mockstorage && go test ./... -v -race | ||||
							
								
								
									
										14
									
								
								.github/workflows/test-mongodb.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										14
									
								
								.github/workflows/test-mongodb.yml
									
									
									
									
										vendored
									
									
								
							| @@ -12,24 +12,20 @@ name: "Tests Mongodb" | ||||
| jobs: | ||||
|     Tests: | ||||
|         runs-on: ubuntu-latest | ||||
|         services: | ||||
|             mongo: | ||||
|                 image: 'mongo:latest' | ||||
|                 ports: | ||||
|                     - '27017:27017' | ||||
|         strategy: | ||||
|             matrix: | ||||
|                 go-version: | ||||
|                     - 1.19.x | ||||
|                     - 1.20.x | ||||
|                     - 1.21.x | ||||
|                     - 1.23.x | ||||
|                     - 1.24.x | ||||
|         steps: | ||||
|             -   name: Fetch Repository | ||||
|                 uses: actions/checkout@v4 | ||||
|             -   name: Install Go | ||||
|                 uses: actions/setup-go@v4 | ||||
|                 uses: actions/setup-go@v5 | ||||
|                 with: | ||||
|                     go-version: '${{ matrix.go-version }}' | ||||
|             -   name: Run Test | ||||
|                 env: | ||||
|                     TEST_MONGODB_IMAGE: docker.io/mongo:7 | ||||
|                 run: cd ./mongodb && go test ./... -v -race | ||||
|  | ||||
|   | ||||
							
								
								
									
										7
									
								
								.github/workflows/test-mssql.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										7
									
								
								.github/workflows/test-mssql.yml
									
									
									
									
										vendored
									
									
								
							| @@ -32,14 +32,13 @@ jobs: | ||||
|         strategy: | ||||
|             matrix: | ||||
|                 go-version: | ||||
|                     - 1.19.x | ||||
|                     - 1.20.x | ||||
|                     - 1.21.x | ||||
|                     - 1.23.x | ||||
|                     - 1.24.x | ||||
|         steps: | ||||
|             -   name: Fetch Repository | ||||
|                 uses: actions/checkout@v4 | ||||
|             -   name: Install Go | ||||
|                 uses: actions/setup-go@v4 | ||||
|                 uses: actions/setup-go@v5 | ||||
|                 with: | ||||
|                     go-version: '${{ matrix.go-version }}' | ||||
|             -   name: Run Test | ||||
|   | ||||
							
								
								
									
										26
									
								
								.github/workflows/test-mysql.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										26
									
								
								.github/workflows/test-mysql.yml
									
									
									
									
										vendored
									
									
								
							| @@ -12,35 +12,19 @@ name: "Tests MySQL" | ||||
| jobs: | ||||
|     Tests: | ||||
|         runs-on: ubuntu-latest | ||||
|         services: | ||||
|             mysql: | ||||
|                 image: 'mysql:latest' | ||||
|                 env: | ||||
|                     MYSQL_DATABASE: fiber | ||||
|                     MYSQL_USER: username | ||||
|                     MYSQL_PASSWORD: password | ||||
|                     MYSQL_ROOT_PASSWORD: password | ||||
|                 ports: | ||||
|                     - '3306:3306' | ||||
|                 options: >- | ||||
|                     --health-cmd "mysqladmin ping" --health-interval 10s --health-timeout | ||||
|                     5s --health-retries 5 | ||||
|         strategy: | ||||
|             matrix: | ||||
|                 go-version: | ||||
|                     - 1.19.x | ||||
|                     - 1.20.x | ||||
|                     - 1.21.x | ||||
|                     - 1.23.x | ||||
|                     - 1.24.x | ||||
|         steps: | ||||
|             -   name: Fetch Repository | ||||
|                 uses: actions/checkout@v4 | ||||
|             -   name: Install Go | ||||
|                 uses: actions/setup-go@v4 | ||||
|                 uses: actions/setup-go@v5 | ||||
|                 with: | ||||
|                     go-version: '${{ matrix.go-version }}' | ||||
|             -   name: Run Test | ||||
|                 run: cd ./mysql && go test ./... -v -race | ||||
|                 env: | ||||
|                     MYSQL_USERNAME: username | ||||
|                     MYSQL_PASSWORD: password | ||||
|                     MYSQL_DATABASE: fiber | ||||
|                     TEST_MYSQL_IMAGE: docker.io/mysql:9 | ||||
|                 run: cd ./mysql && go test ./... -v -race | ||||
|   | ||||
							
								
								
									
										30
									
								
								.github/workflows/test-nats.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										30
									
								
								.github/workflows/test-nats.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,30 @@ | ||||
| on: | ||||
|     push: | ||||
|         branches: | ||||
|             - master | ||||
|             - main | ||||
|         paths: | ||||
|             - 'nats/**' | ||||
|     pull_request: | ||||
|         paths: | ||||
|             - 'nats/**' | ||||
| name: "Tests Nats Driver" | ||||
| jobs: | ||||
|     Tests: | ||||
|         strategy: | ||||
|             matrix: | ||||
|                 go-version: | ||||
|                     - 1.23.x | ||||
|                     - 1.24.x | ||||
|         runs-on: ubuntu-latest | ||||
|         steps: | ||||
|             -   name: Fetch Repository | ||||
|                 uses: actions/checkout@v4 | ||||
|             -   name: Install Go | ||||
|                 uses: actions/setup-go@v5 | ||||
|                 with: | ||||
|                     go-version: '${{ matrix.go-version }}' | ||||
|             -   name: Test Nats | ||||
|                 env: | ||||
|                     TEST_NATS_IMAGE: "nats:2-alpine" | ||||
|                 run: cd ./nats && go test ./... -v -race | ||||
							
								
								
									
										28
									
								
								.github/workflows/test-neo4j.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										28
									
								
								.github/workflows/test-neo4j.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,28 @@ | ||||
| on: | ||||
|     push: | ||||
|         branches: | ||||
|             - master | ||||
|             - main | ||||
|         paths: | ||||
|             - 'neo4j/**' | ||||
|     pull_request: | ||||
|         paths: | ||||
|             - 'neo4j/**' | ||||
| name: "Tests Neo4j" | ||||
| jobs: | ||||
|     Tests: | ||||
|         runs-on: ubuntu-latest | ||||
|         strategy: | ||||
|             matrix: | ||||
|                 go-version: | ||||
|                     - 1.23.x | ||||
|                     - 1.24.x | ||||
|         steps: | ||||
|             -   name: Fetch Repository | ||||
|                 uses: actions/checkout@v4 | ||||
|             -   name: Install Go | ||||
|                 uses: actions/setup-go@v5 | ||||
|                 with: | ||||
|                     go-version: '${{ matrix.go-version }}' | ||||
|             -   name: Run Test | ||||
|                 run: cd ./neo4j && go test ./... -v -race | ||||
							
								
								
									
										7
									
								
								.github/workflows/test-pebble.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										7
									
								
								.github/workflows/test-pebble.yml
									
									
									
									
										vendored
									
									
								
							| @@ -14,15 +14,14 @@ jobs: | ||||
|     strategy: | ||||
|       matrix: | ||||
|         go-version: | ||||
|           - 1.19.x | ||||
|           - 1.20.x | ||||
|           - 1.21.x | ||||
|           - 1.23.x | ||||
|           - 1.24.x | ||||
|     runs-on: ubuntu-latest | ||||
|     steps: | ||||
|     -   name: Fetch Repository | ||||
|         uses: actions/checkout@v4 | ||||
|     -   name: Install Go | ||||
|         uses: actions/setup-go@v4 | ||||
|         uses: actions/setup-go@v5 | ||||
|         with: | ||||
|             go-version: '${{ matrix.go-version }}' | ||||
|     -   name: Test Pebble | ||||
|   | ||||
							
								
								
									
										25
									
								
								.github/workflows/test-postgres.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										25
									
								
								.github/workflows/test-postgres.yml
									
									
									
									
										vendored
									
									
								
							| @@ -12,34 +12,19 @@ name: "Tests Postgres" | ||||
| jobs: | ||||
|     Tests: | ||||
|         runs-on: ubuntu-latest | ||||
|         services: | ||||
|             postgres: | ||||
|                 image: 'postgres:latest' | ||||
|                 ports: | ||||
|                     - '5432:5432' | ||||
|                 env: | ||||
|                     POSTGRES_DB: fiber | ||||
|                     POSTGRES_USER: username | ||||
|                     POSTGRES_PASSWORD: "pass#w%rd" | ||||
|                 options: >- | ||||
|                     --health-cmd pg_isready --health-interval 10s --health-timeout 5s | ||||
|                     --health-retries 5 | ||||
|         strategy: | ||||
|             matrix: | ||||
|                 go-version: | ||||
|                     - 1.19.x | ||||
|                     - 1.20.x | ||||
|                     - 1.21.x | ||||
|                     - 1.23.x | ||||
|                     - 1.24.x | ||||
|         steps: | ||||
|             -   name: Fetch Repository | ||||
|                 uses: actions/checkout@v4 | ||||
|             -   name: Install Go | ||||
|                 uses: actions/setup-go@v4 | ||||
|                 uses: actions/setup-go@v5 | ||||
|                 with: | ||||
|                     go-version: '${{ matrix.go-version }}' | ||||
|             -   name: Run Test | ||||
|                 run: cd ./postgres && go test ./... -v -race | ||||
|                 env: | ||||
|                     POSTGRES_DATABASE: fiber | ||||
|                     POSTGRES_USERNAME: username | ||||
|                     POSTGRES_PASSWORD: "pass#w%rd" | ||||
|                     TEST_POSTGRES_IMAGE: "docker.io/postgres:16-alpine" | ||||
|                 run: cd ./postgres && go test ./... -v -race | ||||
|   | ||||
							
								
								
									
										46
									
								
								.github/workflows/test-redis.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										46
									
								
								.github/workflows/test-redis.yml
									
									
									
									
										vendored
									
									
								
							| @@ -15,46 +15,15 @@ jobs: | ||||
|         strategy: | ||||
|             matrix: | ||||
|                 go-version: | ||||
|                     - 1.19.x | ||||
|                     - 1.20.x | ||||
|                     - 1.21.x | ||||
|                     - 1.23.x | ||||
|                     - 1.24.x | ||||
|                 redis: | ||||
|                     - '6.x' | ||||
|                     - '7.x' | ||||
|                     - '6' | ||||
|                     - '7' | ||||
|         steps: | ||||
|             -   name: Fetch Repository | ||||
|                 uses: actions/checkout@v4 | ||||
|  | ||||
|             -   name: Generate TLS certs | ||||
|                 run: ./.github/scripts/gen-test-certs.sh | ||||
|  | ||||
|             -   name: Add Custom CA cert | ||||
|                 run: sudo cp /home/runner/work/storage/storage/tls/ca.crt /usr/local/share/ca-certificates/custom.crt | ||||
|  | ||||
|             -   name: Trust Custom CA Cert | ||||
|                 run: sudo update-ca-certificates | ||||
|  | ||||
|             -   name: Setup Redis | ||||
|                 uses: shogo82148/actions-setup-redis@v1 | ||||
|                 with: | ||||
|                     redis-version: ${{ matrix.redis }} | ||||
|                     auto-start: 'false' | ||||
|  | ||||
|             -   name: Run Redis | ||||
|                 run: | | ||||
|                     redis-server --tls-port 6380 --port 6379 \ | ||||
|                     --tls-cert-file /home/runner/work/storage/storage/tls/redis.crt \ | ||||
|                     --tls-key-file /home/runner/work/storage/storage/tls/redis.key \ | ||||
|                     --tls-ca-cert-file /home/runner/work/storage/storage/tls/ca.crt & | ||||
|  | ||||
|             -   name: Run Redis instance with MTLS disabled | ||||
|                 run: | | ||||
|                     redis-server --tls-port 16380 --port 16379 \ | ||||
|                     --tls-cert-file /home/runner/work/storage/storage/tls/redis.crt \ | ||||
|                     --tls-key-file /home/runner/work/storage/storage/tls/redis.key \ | ||||
|                     --tls-ca-cert-file /home/runner/work/storage/storage/tls/ca.crt \ | ||||
|                     --tls-auth-clients no & | ||||
|  | ||||
|             -   name: Setup Redis Cluster | ||||
|                 uses: vishnudxb/redis-cluster@1.0.9 | ||||
|                 with: | ||||
| @@ -66,10 +35,15 @@ jobs: | ||||
|                     slave3-port: 7005 | ||||
|                     sleep-duration: 10 | ||||
|  | ||||
|             -   name: Wait for Redis to Start | ||||
|                 run: sleep 15 | ||||
|  | ||||
|             -   name: Install Go | ||||
|                 uses: actions/setup-go@v4 | ||||
|                 uses: actions/setup-go@v5 | ||||
|                 with: | ||||
|                     go-version: '${{ matrix.go-version }}' | ||||
|  | ||||
|             -   name: Run Test | ||||
|                 env: | ||||
|                     TEST_REDIS_IMAGE: "docker.io/redis:${{ matrix.redis }}" | ||||
|                 run: cd ./redis && go test ./... -v -race | ||||
|   | ||||
							
								
								
									
										7
									
								
								.github/workflows/test-ristretto.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										7
									
								
								.github/workflows/test-ristretto.yml
									
									
									
									
										vendored
									
									
								
							| @@ -15,14 +15,13 @@ jobs: | ||||
|         strategy: | ||||
|             matrix: | ||||
|                 go-version: | ||||
|                     - 1.19.x | ||||
|                     - 1.20.x | ||||
|                     - 1.21.x | ||||
|                     - 1.23.x | ||||
|                     - 1.24.x | ||||
|         steps: | ||||
|             -   name: Fetch Repository | ||||
|                 uses: actions/checkout@v4 | ||||
|             -   name: Install Go | ||||
|                 uses: actions/setup-go@v4 | ||||
|                 uses: actions/setup-go@v5 | ||||
|                 with: | ||||
|                     go-version: '${{ matrix.go-version }}' | ||||
|             -   name: Run Test | ||||
|   | ||||
							
								
								
									
										30
									
								
								.github/workflows/test-rueidis.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										30
									
								
								.github/workflows/test-rueidis.yml
									
									
									
									
										vendored
									
									
								
							| @@ -15,33 +15,15 @@ jobs: | ||||
|         strategy: | ||||
|             matrix: | ||||
|                 go-version: | ||||
|                     - 1.20.x | ||||
|                     - 1.21.x | ||||
|                     - 1.23.x | ||||
|                     - 1.24.x | ||||
|                 redis: | ||||
|                     - '6.x' | ||||
|                     - '7.x' | ||||
|                     - '6' | ||||
|                     - '7' | ||||
|         steps: | ||||
|             -   name: Fetch Repository | ||||
|                 uses: actions/checkout@v4 | ||||
|  | ||||
|             -   name: Generate TLS certs | ||||
|                 run: ./.github/scripts/gen-test-certs.sh | ||||
|  | ||||
|             -   name: Setup Redis | ||||
|                 uses: shogo82148/actions-setup-redis@v1 | ||||
|                 with: | ||||
|                     redis-version: ${{ matrix.redis }} | ||||
|                     auto-start: 'false' | ||||
|                     redis-port: '6379' | ||||
|                     redis-tls-port: '6380' | ||||
|  | ||||
|             -   name: Run Redis | ||||
|                 run: | | ||||
|                     redis-server --tls-port 6380 --port 6379 \ | ||||
|                     --tls-cert-file /home/runner/work/storage/storage/tls/redis.crt \ | ||||
|                     --tls-key-file /home/runner/work/storage/storage/tls/redis.key \ | ||||
|                     --tls-ca-cert-file /home/runner/work/storage/storage/tls/ca.crt & | ||||
|  | ||||
|             -   name: Setup Redis Cluster | ||||
|                 uses: vishnudxb/redis-cluster@1.0.9 | ||||
|                 with: | ||||
| @@ -54,9 +36,11 @@ jobs: | ||||
|                     sleep-duration: 10 | ||||
|  | ||||
|             -   name: Install Go | ||||
|                 uses: actions/setup-go@v4 | ||||
|                 uses: actions/setup-go@v5 | ||||
|                 with: | ||||
|                     go-version: '${{ matrix.go-version }}' | ||||
|  | ||||
|             -   name: Run Test | ||||
|                 env: | ||||
|                     TEST_REDIS_IMAGE: "docker.io/redis:${{ matrix.redis }}" | ||||
|                 run: cd ./rueidis && go test ./... -v -race | ||||
|   | ||||
							
								
								
									
										11
									
								
								.github/workflows/test-s3.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										11
									
								
								.github/workflows/test-s3.yml
									
									
									
									
										vendored
									
									
								
							| @@ -15,17 +15,16 @@ jobs: | ||||
|         strategy: | ||||
|             matrix: | ||||
|                 go-version: | ||||
|                     - 1.19.x | ||||
|                     - 1.20.x | ||||
|                     - 1.21.x | ||||
|                     - 1.23.x | ||||
|                     - 1.24.x | ||||
|         steps: | ||||
|         -   name: Install MinIO | ||||
|             run:  docker run -d --restart always -p 9000:9000 --name storage-minio -e MINIO_ROOT_USER='minio-user' -e MINIO_ROOT_PASSWORD='minio-password' minio/minio server /data | ||||
|         -   name: Fetch Repository | ||||
|             uses: actions/checkout@v4 | ||||
|         -   name: Install Go | ||||
|             uses: actions/setup-go@v4 | ||||
|             uses: actions/setup-go@v5 | ||||
|             with: | ||||
|                 go-version: '${{ matrix.go-version }}' | ||||
|         -   name: Run Test | ||||
|             env: | ||||
|                 TEST_MINIO_IMAGE: docker.io/minio/minio:latest | ||||
|             run: cd ./s3 && go test ./... -v -race | ||||
|   | ||||
							
								
								
									
										36
									
								
								.github/workflows/test-scylladb.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										36
									
								
								.github/workflows/test-scylladb.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,36 @@ | ||||
| on: | ||||
|   push: | ||||
|     branches: | ||||
|       - master | ||||
|       - main | ||||
|     paths: | ||||
|       - 'scylladb/**' | ||||
|   pull_request: | ||||
|     paths: | ||||
|       - 'scylladb/**' | ||||
|  | ||||
| name: "Tests ScyllaDb" | ||||
|  | ||||
| jobs: | ||||
|   Tests: | ||||
|     runs-on: ubuntu-latest | ||||
|  | ||||
|     strategy: | ||||
|       matrix: | ||||
|         go-version: | ||||
|           - 1.23.x | ||||
|           - 1.24.x | ||||
|  | ||||
|     steps: | ||||
|       - name: Fetch Repository | ||||
|         uses: actions/checkout@v4 | ||||
|  | ||||
|       - name: Install Go | ||||
|         uses: actions/setup-go@v5 | ||||
|         with: | ||||
|           go-version: '${{ matrix.go-version }}' | ||||
|  | ||||
|       - name: Run Test | ||||
|         env: | ||||
|           TEST_SCYLLADB_IMAGE: "scylladb/scylla:6.2" | ||||
|         run: cd ./scylladb && go test ./... -v -race | ||||
							
								
								
									
										7
									
								
								.github/workflows/test-sqlite3.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										7
									
								
								.github/workflows/test-sqlite3.yml
									
									
									
									
										vendored
									
									
								
							| @@ -14,15 +14,14 @@ jobs: | ||||
|         strategy: | ||||
|             matrix: | ||||
|                 go-version: | ||||
|                     - 1.19.x | ||||
|                     - 1.20.x | ||||
|                     - 1.21.x | ||||
|                     - 1.23.x | ||||
|                     - 1.24.x | ||||
|         runs-on: ubuntu-latest | ||||
|         steps: | ||||
|             -   name: Fetch Repository | ||||
|                 uses: actions/checkout@v4 | ||||
|             -   name: Install Go | ||||
|                 uses: actions/setup-go@v4 | ||||
|                 uses: actions/setup-go@v5 | ||||
|                 with: | ||||
|                     go-version: '${{ matrix.go-version }}' | ||||
|             -   name: Test SQLite3 - with -race check | ||||
|   | ||||
							
								
								
									
										31
									
								
								.github/workflows/test-surrealdb.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										31
									
								
								.github/workflows/test-surrealdb.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,31 @@ | ||||
| on: | ||||
|   push: | ||||
|     branches: | ||||
|       - master | ||||
|       - main | ||||
|     paths: | ||||
|       - 'surrealdb/**' | ||||
|   pull_request: | ||||
|     paths: | ||||
|       - 'surrealdb/**' | ||||
| name: "Tests SurrealDB" | ||||
| jobs: | ||||
|   Tests: | ||||
|     runs-on: ubuntu-latest | ||||
|     strategy: | ||||
|       matrix: | ||||
|         go-version: | ||||
|           - 1.23.x | ||||
|           - 1.24.x | ||||
|     steps: | ||||
|       - name: Fetch Repository | ||||
|         uses: actions/checkout@v4 | ||||
|       - name: Install Go | ||||
|         uses: actions/setup-go@v5 | ||||
|         with: | ||||
|           go-version: '${{ matrix.go-version }}' | ||||
|  | ||||
|       - name: Run Test | ||||
|         env: | ||||
|           TEST_SURREALDB_IMAGE: surrealdb/surrealdb:latest | ||||
|         run: cd ./surrealdb && go test ./... -v -race | ||||
							
								
								
									
										36
									
								
								.github/workflows/test-teshelpers-redis.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										36
									
								
								.github/workflows/test-teshelpers-redis.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,36 @@ | ||||
| on: | ||||
|     push: | ||||
|         branches: | ||||
|             - master | ||||
|             - main | ||||
|         paths: | ||||
|             - 'testhelpers/redis/**' | ||||
|     pull_request: | ||||
|         paths: | ||||
|             - 'testhelpers/redis/**' | ||||
| name: "Tests TestHelper Redis" | ||||
| jobs: | ||||
|     Tests: | ||||
|         runs-on: ubuntu-latest | ||||
|         strategy: | ||||
|             matrix: | ||||
|                 go-version: | ||||
|                     - 1.23.x | ||||
|                     - 1.24.x | ||||
|                 redis: | ||||
|                     - '6' | ||||
|                     - '7' | ||||
|         steps: | ||||
|             -   name: Fetch Repository | ||||
|                 uses: actions/checkout@v4 | ||||
|  | ||||
|             -   name: Install Go | ||||
|                 uses: actions/setup-go@v5 | ||||
|                 with: | ||||
|                     go-version: '${{ matrix.go-version }}' | ||||
|  | ||||
|             -   name: Run Test | ||||
|                 env: | ||||
|                     TEST_REDIS_IMAGE: "docker.io/redis:${{ matrix.redis }}" | ||||
|                 working-directory: testhelpers/redis | ||||
|                 run: go test ./... -v -race | ||||
							
								
								
									
										47
									
								
								.github/workflows/test-valkey.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										47
									
								
								.github/workflows/test-valkey.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,47 @@ | ||||
| on: | ||||
|     push: | ||||
|         branches: | ||||
|             - master | ||||
|             - main | ||||
|         paths: | ||||
|             - 'valkey/**' | ||||
|     pull_request: | ||||
|         paths: | ||||
|             - 'valkey/**' | ||||
|             - '.github/workflows/test-valkey.yml' | ||||
| name: "Tests Valkey" | ||||
| jobs: | ||||
|     Tests: | ||||
|         runs-on: ubuntu-latest | ||||
|         strategy: | ||||
|             matrix: | ||||
|                 go-version: | ||||
|                     - 1.23.x | ||||
|                     - 1.24.x | ||||
|                 valkey: | ||||
|                     - '7' | ||||
|                     - '8' | ||||
|         steps: | ||||
|             -   name: Fetch Repository | ||||
|                 uses: actions/checkout@v4 | ||||
|  | ||||
|             -   name: Setup Valkey Cluster | ||||
|                 uses: vishnudxb/redis-cluster@1.0.9 | ||||
|                 with: | ||||
|                     master1-port: 7000 | ||||
|                     master2-port: 7001 | ||||
|                     master3-port: 7002 | ||||
|                     slave1-port: 7003 | ||||
|                     slave2-port: 7004 | ||||
|                     slave3-port: 7005 | ||||
|                     sleep-duration: 10 | ||||
|  | ||||
|             -   name: Install Go | ||||
|                 uses: actions/setup-go@v5 | ||||
|                 with: | ||||
|                     go-version: '${{ matrix.go-version }}' | ||||
|  | ||||
|             -   name: Run Test | ||||
|                 env: | ||||
|                     TEST_VALKEY_IMAGE: "valkey/valkey:${{ matrix.valkey }}" | ||||
|                 run: cd ./valkey && go test ./... -v -race | ||||
							
								
								
									
										5
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										5
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							| @@ -22,9 +22,14 @@ | ||||
| *.fasthttp.gz | ||||
| *.pprof | ||||
| *.workspace | ||||
| /tmp/ | ||||
|  | ||||
| # Dependencies | ||||
| /vendor/ | ||||
| vendor/ | ||||
| vendor | ||||
| /Godeps/ | ||||
| node_modules/ | ||||
|  | ||||
| # Go workspace file | ||||
| go.work.sum | ||||
|   | ||||
							
								
								
									
										31
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										31
									
								
								README.md
									
									
									
									
									
								
							| @@ -22,23 +22,40 @@ sidebar_position: 1 | ||||
|  | ||||
| Premade storage drivers that implement the [`Storage`](https://github.com/gofiber/storage/blob/main/storage.go) interface, designed to be used with various [Fiber middlewares](https://github.com/gofiber/fiber/tree/master/middleware). | ||||
|  | ||||
| **Note:** All storages are tested with the latest two [Go version](https://go.dev/doc/devel/release#policy). Older Go versions may also work, but are not guaranteed to be supported. | ||||
|  | ||||
| ```go | ||||
| // Storage interface for communicating with different database/key-value | ||||
| // providers. Visit https://github.com/gofiber/storage for more info. | ||||
| type Storage interface { | ||||
| 	// GetWithContext gets the value for the given key with a context. | ||||
| 	// `nil, nil` is returned when the key does not exist | ||||
| 	GetWithContext(ctx context.Context, key string) ([]byte, error) | ||||
|  | ||||
| 	// Get gets the value for the given key. | ||||
| 	// `nil, nil` is returned when the key does not exist | ||||
| 	Get(key string) ([]byte, error) | ||||
|  | ||||
| 	// SetWithContext stores the given value for the given key | ||||
| 	// with an expiration value, 0 means no expiration. | ||||
| 	SetWithContext(ctx context.Context, key string, val []byte, exp time.Duration) error | ||||
|  | ||||
| 	// Set stores the given value for the given key along | ||||
| 	// with an expiration value, 0 means no expiration. | ||||
| 	// Empty key or value will be ignored without an error. | ||||
| 	Set(key string, val []byte, exp time.Duration) error | ||||
|  | ||||
| 	// DeleteWithContext deletes the value for the given key with a context. | ||||
| 	// It returns no error if the storage does not contain the key, | ||||
| 	DeleteWithContext(ctx context.Context, key string) error | ||||
|  | ||||
| 	// Delete deletes the value for the given key. | ||||
| 	// It returns no error if the storage does not contain the key, | ||||
| 	Delete(key string) error | ||||
|  | ||||
| 	// ResetWithContext resets the storage and deletes all keys with a context. | ||||
| 	ResetWithContext(ctx context.Context) error | ||||
|  | ||||
| 	// Reset resets the storage and delete all keys. | ||||
| 	Reset() error | ||||
|  | ||||
| @@ -46,28 +63,38 @@ type Storage interface { | ||||
| 	// collectors and open connections. | ||||
| 	Close() error | ||||
| } | ||||
|  | ||||
| ``` | ||||
|  | ||||
| ## 📑 Storage Implementations | ||||
|  | ||||
| - [Aerospike](./aerospike/README.md) <a href="https://github.com/gofiber/storage/actions?query=workflow%3A%22Tests+Aerospike%22"> <img src="https://img.shields.io/github/actions/workflow/status/gofiber/storage/test-aerospike.yml?branch=main&label=%F0%9F%A7%AA%20&style=flat&color=75C46B" /> </a> | ||||
| - [ArangoDB](./arangodb/README.md) <a href="https://github.com/gofiber/storage/actions?query=workflow%3A%22Tests+ArangoDB%22"> <img src="https://img.shields.io/github/actions/workflow/status/gofiber/storage/test-arangodb.yml?branch=main&label=%F0%9F%A7%AA%20&style=flat&color=75C46B" /> </a> | ||||
| - [AzureBlob](./azureblob/README.md) <a href="https://github.com/gofiber/storage/actions?query=workflow%3A%22Tests+Azure+Blob%22"> <img src="https://img.shields.io/github/actions/workflow/status/gofiber/storage/test-azureblob.yml?branch=main&label=%F0%9F%A7%AA%20&style=flat&color=75C46B" /> </a> | ||||
| - [Badger](./badger/README.md) <a href="https://github.com/gofiber/storage/actions?query=workflow%3A%22Tests+Badger%22"> <img src="https://img.shields.io/github/actions/workflow/status/gofiber/storage/test-badger.yml?branch=main&label=%F0%9F%A7%AA%20&style=flat&color=75C46B" /> </a> | ||||
| - [Bbolt](./bbolt) <a href="https://github.com/gofiber/storage/actions?query=workflow%3A%22Tests+Bbolt%22"> <img src="https://img.shields.io/github/actions/workflow/status/gofiber/storage/test-bbolt.yml?branch=main&label=%F0%9F%A7%AA%20&style=flat&color=75C46B" /> </a> | ||||
| - [Cassandra](./cassandra/README.md) <a href="https://github.com/gofiber/storage/actions?query=workflow%3A%22Tests+Cassandra%22"> <img src="https://img.shields.io/github/actions/workflow/status/gofiber/storage/test-cassandra.yml?branch=main&label=%F0%9F%A7%AA%20&style=flat&color=75C46B" /> </a> | ||||
| - [CloudflareKV](./cloudflarekv/README.md) <a href="https://github.com/gofiber/storage/actions?query=workflow%3A%22Tests+CloudflareKV%22"> <img src="https://img.shields.io/github/actions/workflow/status/gofiber/storage/test-cloudflarekv.yml?branch=main&label=%F0%9F%A7%AA%20&style=flat&color=75C46B" /> </a> | ||||
| - [Coherence](./coherence/README.md) <a href="https://github.com/gofiber/storage/actions?query=workflow%3A%22Tests+Coherence%22"> <img src="https://img.shields.io/github/actions/workflow/status/gofiber/storage/test-coherence.yml?branch=main&label=%F0%9F%A7%AA%20&style=flat&color=75C46B" /> </a> | ||||
| - [Couchbase](./couchbase/README.md) <a href="https://github.com/gofiber/storage/actions?query=workflow%3A%22Tests+Couchbase%22"> <img src="https://img.shields.io/github/actions/workflow/status/gofiber/storage/test-couchbase.yml?branch=main&label=%F0%9F%A7%AA%20&style=flat&color=75C46B" /> </a> | ||||
| - [DynamoDB](./dynamodb/README.md) <a href="https://github.com/gofiber/storage/actions?query=workflow%3A%22Tests+DynamoDB%22"> <img src="https://img.shields.io/github/actions/workflow/status/gofiber/storage/test-dynamodb.yml?branch=main&label=%F0%9F%A7%AA%20&style=flat&color=75C46B" /> </a> | ||||
| - [Etcd](./etcd/README.md) <a href="https://github.com/gofiber/storage/actions?query=workflow%3A%22Tests+Etcd%22"> <img src="https://img.shields.io/github/actions/workflow/status/gofiber/storage/test-etcd.yml?branch=main&label=%F0%9F%A7%AA%20&style=flat&color=75C46B" /> </a> | ||||
| - [LevelDB](./leveldb/README.md) <a href="https://github.com/gofiber/storage/actions?query=workflow%3A%22Tests+LevelDB%22"> <img src="https://img.shields.io/github/actions/workflow/status/gofiber/storage/test-leveldb.yml?branch=main&label=%F0%9F%A7%AA%20&style=flat&color=75C46B" alt="LevelDB Tests Status"/> </a> | ||||
| - [Memcache](./memcache/README.md) <a href="https://github.com/gofiber/storage/actions?query=workflow%3A%22Tests+Memcache%22"> <img src="https://img.shields.io/github/actions/workflow/status/gofiber/storage/test-memcache.yml?branch=main&label=%F0%9F%A7%AA%20&style=flat&color=75C46B" /> </a> | ||||
| - [Memory](./memory/README.md) <a href="https://github.com/gofiber/storage/actions?query=workflow%3A%22Tests+Local+Storage%22"> <img src="https://img.shields.io/github/actions/workflow/status/gofiber/storage/test-memory.yml?branch=main&label=%F0%9F%A7%AA%20&style=flat&color=75C46B" /> </a> | ||||
| - [Minio](./minio/README.md) <a href="https://github.com/gofiber/storage/actions?query=workflow%3A%22Tests+Minio%22"> <img src="https://img.shields.io/github/actions/workflow/status/gofiber/storage/test-minio.yml?branch=main&label=%F0%9F%A7%AA%20&style=flat&color=75C46B" /> </a> | ||||
| - [MockStorage](./mockstorage/README.md) <a href="https://github.com/gofiber/storage/actions?query=workflow%3A%22Tests+MockStorage%22"> <img src="https://img.shields.io/github/actions/workflow/status/gofiber/storage/test-mockstorage.yml?branch=main&label=%F0%9F%A7%AA%20&style=flat&color=75C46B" /> </a> | ||||
| - [MongoDB](./mongodb/README.md) <a href="https://github.com/gofiber/storage/actions?query=workflow%3A%22Tests+Mongodb%22"> <img src="https://img.shields.io/github/actions/workflow/status/gofiber/storage/test-mongodb.yml?branch=main&label=%F0%9F%A7%AA%20&style=flat&color=75C46B" /> </a> | ||||
| - [MSSQL](./mssql/README.md) <a href="https://github.com/gofiber/storage/actions?query=workflow%3A%22Tests+MSSQL%22"> <img src="https://img.shields.io/github/actions/workflow/status/gofiber/storage/test-mssql.yml?branch=main&label=%F0%9F%A7%AA%20&style=flat&color=75C46B" /> </a> | ||||
| - [MySQL](./mysql/README.md) <a href="https://github.com/gofiber/storage/actions?query=workflow%3A%22Tests+MySQL%22"> <img src="https://img.shields.io/github/actions/workflow/status/gofiber/storage/test-mysql.yml?branch=main&label=%F0%9F%A7%AA%20&style=flat&color=75C46B" /> </a> | ||||
| - [NATS](./nats/README.md) <a href="https://github.com/gofiber/storage/actions?query=workflow%3A%22Tests%20Nats%20Driver%22"> <img src="https://img.shields.io/github/actions/workflow/status/gofiber/storage/test-nats.yml?branch=main&label=%F0%9F%A7%AA%20&style=flat&color=75C46B" /> </a> | ||||
| - [Neo4j](./neo4j/README.md) <a href="https://github.com/gofiber/storage/actions?query=workflow%3A%22Tests+Neo4j%22"> <img src="https://img.shields.io/github/actions/workflow/status/gofiber/storage/test-neo4j.yml?branch=main&label=%F0%9F%A7%AA%20&style=flat&color=75C46B" /> </a> | ||||
| - [Pebble](./pebble/README.md) <a href="https://github.com/gofiber/storage/actions?query=workflow%3A%22Tests+Pebble%22"> <img src="https://img.shields.io/github/actions/workflow/status/gofiber/storage/test-pebble.yml?branch=main&label=%F0%9F%A7%AA%20&style=flat&color=75C46B" /> </a> | ||||
| - [Postgres](./postgres/README.md) <a href="https://github.com/gofiber/storage/actions?query=workflow%3A%22Tests+Postgres%22"> <img src="https://img.shields.io/github/actions/workflow/status/gofiber/storage/test-postgres.yml?branch=main&label=%F0%9F%A7%AA%20&style=flat&color=75C46B" /> </a> | ||||
| - [Redis](./redis/README.md) <a href="https://github.com/gofiber/storage/actions?query=workflow%3A%22Tests+Redis%22"> <img src="https://img.shields.io/github/actions/workflow/status/gofiber/storage/test-redis.yml?branch=main&label=%F0%9F%A7%AA%20&style=flat&color=75C46B" /> </a> | ||||
| - [Rueidis](./rueidis/README.md) <a href="https://github.com/gofiber/storage/actions?query=workflow%3A%22Tests+rueidis%22"> <img src="https://img.shields.io/github/actions/workflow/status/gofiber/storage/test-rueidis.yml?branch=main&label=%F0%9F%A7%AA%20&style=flat&color=75C46B" /> </a> | ||||
| - [S3](./s3/README.md) <a href="https://github.com/gofiber/storage/actions?query=workflow%3A%22Tests+S3%22"> <img src="https://img.shields.io/github/actions/workflow/status/gofiber/storage/test-s3.yml?branch=main&label=%F0%9F%A7%AA%20&style=flat&color=75C46B" /> </a> | ||||
| - [ScyllaDB](./scylladb/README.md) <a href="https://github.com/gofiber/storage/actions?query=workflow%3A%22Tests+scylladb%22"> <img src="https://img.shields.io/github/actions/workflow/status/gofiber/storage/test-scylladb.yml?branch=main&label=%F0%9F%A7%AA%20&style=flat&color=75C46B" /> </a> | ||||
| - [SQLite3](./sqlite3/README.md) <a href="https://github.com/gofiber/storage/actions?query=workflow%3A%22Tests+Sqlite3%22"> <img src="https://img.shields.io/github/actions/workflow/status/gofiber/storage/test-sqlite3.yml?branch=main&label=%F0%9F%A7%AA%20&style=flat&color=75C46B" /> </a> | ||||
|  | ||||
| - [ClickHouse](./clickhouse/README.md) <a href="https://github.com/gofiber/storage/actions?query=workflow%3A%22Tests+Clickhouse%22"> <img src="https://img.shields.io/github/actions/workflow/status/gofiber/storage/test-clickhouse.yml?branch=main&label=%F0%9F%A7%AA%20&style=flat&color=75C46B" /> </a> | ||||
| - [Valkey](./valkey/README.md) <a href="https://github.com/gofiber/storage/actions?query=workflow%3A%22Tests+valkey%22"> <img src="https://img.shields.io/github/actions/workflow/status/gofiber/storage/test-valkey.yml?branch=main&label=%F0%9F%A7%AA%20&style=flat&color=75C46B" /> </a> | ||||
| - [SurrealDB](./surrealdb/README.md) <a href="https://github.com/gofiber/storage/actions?query=workflow%3A%22Tests+surrealdb%22"> <img src="https://img.shields.io/github/actions/workflow/status/gofiber/storage/test-surrealdb.yml?branch=main&label=%F0%9F%A7%AA%20&style=flat&color=75C46B" /> </a> | ||||
							
								
								
									
										123
									
								
								aerospike/README.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										123
									
								
								aerospike/README.md
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,123 @@ | ||||
| --- | ||||
| id: aerospike | ||||
| title: Aerospike | ||||
| --- | ||||
|  | ||||
|  | ||||
| [](https://gofiber.io/discord) | ||||
|  | ||||
|  | ||||
| An Aerospike client driver using `aerospike/aerospike-client-go` and [aerospike/aerospike-client-go](https://github.com/aerospike/aerospike-client-go). | ||||
|  | ||||
| ### Table of Contents | ||||
|  | ||||
| - [Signatures](#signatures) | ||||
| - [Installation](#installation) | ||||
| - [Examples](#examples) | ||||
| - [Config](#config) | ||||
| - [Default Config](#default-config) | ||||
|  | ||||
| ### Signatures | ||||
|  | ||||
| ```go | ||||
| func New(config ...Config) Storage | ||||
| func (s *Storage) Get(key string) ([]byte, error) | ||||
| func (s *Storage) GetWithContext(ctx context.Context, key string) ([]byte, error) | ||||
| func (s *Storage) Set(key string, val []byte, exp time.Duration) error | ||||
| func (s *Storage) SetWithContext(ctx context.Context, key string, val []byte, exp time.Duration) error | ||||
| func (s *Storage) Delete(key string) error | ||||
| func (s *Storage) DeleteWithContext(ctx context.Context, key string) error | ||||
| func (s *Storage) Reset() error | ||||
| func (s *Storage) ResetWithContext(ctx context.Context) error | ||||
| func (s *Storage) Close() error | ||||
| func (s *Storage) Conn() driver.Client | ||||
| func (s *Storage) GetSchemaInfo() *SchemaInfo | ||||
| ``` | ||||
|  | ||||
| **Note:** The context methods are dummy methods and don't have any functionality, as Aerospike does not support context cancellation in its client library. They are provided for compliance with the Fiber storage interface. | ||||
|  | ||||
| ### Installation | ||||
|  | ||||
| Aerospike is tested on the 2 last [Go versions](https://golang.org/dl/) with support for modules. So make sure to initialize one first if you didn't do that yet: | ||||
|  | ||||
| ```bash | ||||
| go mod init github.com/<user>/<repo> | ||||
| ``` | ||||
|  | ||||
| And then install the aerospike implementation: | ||||
|  | ||||
| ```bash | ||||
| go get github.com/gofiber/storage/aerospike | ||||
| ``` | ||||
|  | ||||
| ### Examples | ||||
|  | ||||
| Import the storage package. | ||||
|  | ||||
| ```go | ||||
| import "github.com/gofiber/storage/aerospike" | ||||
| ``` | ||||
|  | ||||
| You can use the following possibilities to create a storage: | ||||
|  | ||||
| ```go | ||||
| // Initialize default config | ||||
| store := aerospike.New() | ||||
|  | ||||
| // Initialize custom config | ||||
| store := aerospike.New(aerospike.Config{ | ||||
| 	Hosts:             []*aerospike.Host{aerospike.NewHost("localhost", 3000)}, | ||||
| 	Namespace:         "test", // Default namespace | ||||
| 	SetName:           "fiber", | ||||
| 	Reset:             false, | ||||
| 	Expiration:        1 * time.Hour, | ||||
| 	SchemaVersion:     1, | ||||
| 	SchemaDescription: "Default Fiber storage schema", | ||||
| 	ForceSchemaUpdate: false, | ||||
| }) | ||||
| ``` | ||||
|  | ||||
| ### Config | ||||
|  | ||||
| ```go | ||||
| type Config struct { | ||||
| 	// Hosts is a list of Aerospike server hosts | ||||
| 	Hosts []*aerospike.Host | ||||
|  | ||||
| 	// Namespace is the Aerospike namespace | ||||
| 	Namespace string | ||||
|  | ||||
| 	// Set is the Aerospike set | ||||
| 	SetName string | ||||
|  | ||||
| 	// Reset clears any existing keys in existing Set | ||||
| 	Reset bool | ||||
|  | ||||
| 	// Expiration is the default expiration time of entries | ||||
| 	Expiration time.Duration | ||||
|  | ||||
| 	// SchemaVersion indicates the schema version to use | ||||
| 	SchemaVersion int | ||||
|  | ||||
| 	// SchemaDescription provides additional info about the schema | ||||
| 	SchemaDescription string | ||||
|  | ||||
| 	// ForceSchemaUpdate forces schema update even if version matches | ||||
| 	ForceSchemaUpdate bool | ||||
| } | ||||
| ``` | ||||
|  | ||||
| ### Default Config | ||||
| Used only for optional fields | ||||
| ```go | ||||
| var ConfigDefault = Config{ | ||||
| 	Hosts:             []*aerospike.Host{aerospike.NewHost("localhost", 3000)}, | ||||
| 	Namespace:         "test", // Default namespace | ||||
| 	SetName:               "fiber", | ||||
| 	Reset:             false, | ||||
| 	Expiration:        1 * time.Hour, | ||||
| 	SchemaVersion:     1, | ||||
| 	SchemaDescription: "Default Fiber storage schema", | ||||
| 	ForceSchemaUpdate: false, | ||||
| } | ||||
| ``` | ||||
							
								
								
									
										321
									
								
								aerospike/aerospike.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										321
									
								
								aerospike/aerospike.go
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,321 @@ | ||||
| package aerospike | ||||
|  | ||||
| import ( | ||||
| 	"context" | ||||
| 	"log" | ||||
| 	"time" | ||||
|  | ||||
| 	"github.com/aerospike/aerospike-client-go/v8" | ||||
| ) | ||||
|  | ||||
| // Storage interface that is implemented by storage drivers | ||||
| type Storage struct { | ||||
| 	client     *aerospike.Client | ||||
| 	namespace  string | ||||
| 	setName    string | ||||
| 	reset      bool | ||||
| 	expiration time.Duration | ||||
| 	schemaInfo *SchemaInfo | ||||
| } | ||||
|  | ||||
| // SchemaInfo holds information about the schema structure | ||||
| type SchemaInfo struct { | ||||
| 	Version     int | ||||
| 	CreatedAt   time.Time | ||||
| 	UpdatedAt   time.Time | ||||
| 	Description string | ||||
| } | ||||
|  | ||||
| // New creates a new storage | ||||
| func New(config ...Config) *Storage { | ||||
|  | ||||
| 	// Set default config | ||||
| 	cfg := configDefault(config...) | ||||
|  | ||||
| 	// connect to the host | ||||
| 	cp := aerospike.NewClientPolicy() | ||||
| 	cp.Timeout = cfg.InitialConnectionTimeout | ||||
|  | ||||
| 	// Create client | ||||
| 	client, err := aerospike.NewClientWithPolicyAndHost(cp, cfg.Hosts...) | ||||
| 	if err != nil { | ||||
| 		panic(err) | ||||
| 	} | ||||
|  | ||||
| 	// Create storage | ||||
| 	store := &Storage{ | ||||
| 		client:     client, | ||||
| 		namespace:  cfg.Namespace, | ||||
| 		setName:    cfg.SetName, | ||||
| 		reset:      cfg.Reset, | ||||
| 		expiration: cfg.Expiration, | ||||
| 	} | ||||
|  | ||||
| 	// Reset keys if set | ||||
| 	if cfg.Reset { | ||||
| 		if err := store.Reset(); err != nil { | ||||
| 			panic(err) | ||||
| 		} | ||||
| 	} | ||||
|  | ||||
| 	// Check and create schema | ||||
| 	if err := store.createOrVerifySchema(cfg.SchemaVersion, cfg.SchemaDescription, cfg.ForceSchemaUpdate); err != nil { | ||||
| 		panic(err) | ||||
| 	} | ||||
|  | ||||
| 	// No additional GC needed as Aerospike handles TTL internally | ||||
|  | ||||
| 	return store | ||||
| } | ||||
|  | ||||
| // createOrVerifySchema checks if schema exists and creates or updates if needed | ||||
| func (s *Storage) createOrVerifySchema(version int, description string, forceUpdate bool) error { | ||||
|  | ||||
| 	// Schema info is stored with a special key | ||||
| 	schemaKey, err := aerospike.NewKey(s.namespace, s.setName, "_schema_info") | ||||
| 	if err != nil { | ||||
| 		return err | ||||
| 	} | ||||
|  | ||||
| 	// Try to get existing schema | ||||
| 	record, err := s.client.Get(nil, schemaKey, "version", "created_at", "updated_at", "description") | ||||
| 	if err != nil { | ||||
| 		if err.Matches(aerospike.ErrKeyNotFound.ResultCode) { | ||||
| 			// Schema doesn't exist, create it | ||||
| 			return s.createSchema(schemaKey, version, description) | ||||
| 		} | ||||
| 		return err | ||||
| 	} | ||||
|  | ||||
| 	// Schema exists, check version | ||||
| 	existingVersion, _ := record.Bins["version"].(int) | ||||
| 	existingDescription, _ := record.Bins["description"].(string) | ||||
|  | ||||
| 	if existingVersion < version || forceUpdate { | ||||
| 		// Update schema if version is higher or force update is true | ||||
| 		return s.updateSchema(schemaKey, version, description, existingVersion) | ||||
| 	} | ||||
|  | ||||
| 	// Load existing schema info | ||||
| 	createdAtStr, _ := record.Bins["created_at"].(string) | ||||
| 	updatedAtStr, _ := record.Bins["updated_at"].(string) | ||||
|  | ||||
| 	createdAt, _ := time.Parse(time.RFC3339, createdAtStr) | ||||
| 	updatedAt, _ := time.Parse(time.RFC3339, updatedAtStr) | ||||
|  | ||||
| 	// Store schema info | ||||
| 	s.schemaInfo = &SchemaInfo{ | ||||
| 		Version:     existingVersion, | ||||
| 		CreatedAt:   createdAt, | ||||
| 		UpdatedAt:   updatedAt, | ||||
| 		Description: existingDescription, | ||||
| 	} | ||||
|  | ||||
| 	return nil | ||||
| } | ||||
|  | ||||
| // createSchema creates a new schema | ||||
| func (s *Storage) createSchema(schemaKey *aerospike.Key, version int, description string) error { | ||||
|  | ||||
| 	now := time.Now() | ||||
| 	nowStr := now.Format(time.RFC3339) | ||||
|  | ||||
| 	// Create schema record | ||||
| 	bins := aerospike.BinMap{ | ||||
| 		"version":     version, | ||||
| 		"created_at":  nowStr, | ||||
| 		"updated_at":  nowStr, | ||||
| 		"description": description, | ||||
| 	} | ||||
|  | ||||
| 	// Never expire the schema info | ||||
| 	writePolicy := aerospike.NewWritePolicy(0, 0) | ||||
|  | ||||
| 	// Store in Aerospike | ||||
| 	err := s.client.Put(writePolicy, schemaKey, bins) | ||||
| 	if err != nil { | ||||
| 		return err | ||||
| 	} | ||||
|  | ||||
| 	// Store schema info | ||||
| 	s.schemaInfo = &SchemaInfo{ | ||||
| 		Version:     version, | ||||
| 		CreatedAt:   now, | ||||
| 		UpdatedAt:   now, | ||||
| 		Description: description, | ||||
| 	} | ||||
|  | ||||
| 	return nil | ||||
| } | ||||
|  | ||||
| // updateSchema updates an existing schema | ||||
| func (s *Storage) updateSchema(schemaKey *aerospike.Key, version int, description string, oldVersion int) error { | ||||
| 	now := time.Now() | ||||
| 	nowStr := now.Format(time.RFC3339) | ||||
|  | ||||
| 	// Update schema record | ||||
| 	bins := aerospike.BinMap{ | ||||
| 		"version":     version, | ||||
| 		"updated_at":  nowStr, | ||||
| 		"description": description, | ||||
| 	} | ||||
|  | ||||
| 	// Never expire the schema info | ||||
| 	writePolicy := aerospike.NewWritePolicy(0, 0) | ||||
|  | ||||
| 	// Store in Aerospike | ||||
| 	err := s.client.Put(writePolicy, schemaKey, bins) | ||||
| 	if err != nil { | ||||
| 		return err | ||||
| 	} | ||||
|  | ||||
| 	// Get creation date (it shouldn't change on update) | ||||
| 	createdAtRecord, err := s.client.Get(nil, schemaKey, "created_at") | ||||
| 	if err != nil { | ||||
| 		return err | ||||
| 	} | ||||
|  | ||||
| 	createdAtStr, _ := createdAtRecord.Bins["created_at"].(string) | ||||
| 	createdAt, _ := time.Parse(time.RFC3339, createdAtStr) | ||||
|  | ||||
| 	// Store schema info | ||||
| 	s.schemaInfo = &SchemaInfo{ | ||||
| 		Version:     version, | ||||
| 		CreatedAt:   createdAt, | ||||
| 		UpdatedAt:   now, | ||||
| 		Description: description, | ||||
| 	} | ||||
|  | ||||
| 	return nil | ||||
| } | ||||
|  | ||||
| // GetSchemaInfo returns the current schema information | ||||
| func (s *Storage) GetSchemaInfo() *SchemaInfo { | ||||
| 	return s.schemaInfo | ||||
| } | ||||
|  | ||||
| // Get value by key | ||||
| func (s *Storage) Get(key string) ([]byte, error) { | ||||
| 	k, err := aerospike.NewKey(s.namespace, s.setName, key) | ||||
| 	if err != nil { | ||||
| 		return nil, err | ||||
| 	} | ||||
|  | ||||
| 	record, err := s.client.Get(nil, k, "value") | ||||
| 	if err != nil { | ||||
| 		if err.Matches(aerospike.ErrKeyNotFound.ResultCode) { | ||||
| 			return nil, nil | ||||
| 		} | ||||
| 		return nil, err | ||||
| 	} | ||||
|  | ||||
| 	data, ok := record.Bins["value"].([]byte) | ||||
| 	if !ok { | ||||
| 		return nil, nil | ||||
| 	} | ||||
|  | ||||
| 	return data, nil | ||||
| } | ||||
|  | ||||
| // GetWithContext gets value by key (dummy context support) | ||||
| func (s *Storage) GetWithContext(ctx context.Context, key string) ([]byte, error) { | ||||
| 	return s.Get(key) | ||||
| } | ||||
|  | ||||
| // Set key with value | ||||
| func (s *Storage) Set(key string, val []byte, exp time.Duration) error { | ||||
| 	k, err := aerospike.NewKey(s.namespace, s.setName, key) | ||||
| 	if err != nil { | ||||
| 		return err | ||||
| 	} | ||||
|  | ||||
| 	expiration := s.expiration | ||||
| 	if exp != 0 { | ||||
| 		expiration = exp | ||||
| 	} | ||||
|  | ||||
| 	// Convert to seconds with a minimum of 1 | ||||
| 	ttl := uint32(expiration.Seconds()) | ||||
| 	if ttl < 1 { | ||||
| 		ttl = 1 | ||||
| 	} | ||||
|  | ||||
| 	writePolicy := aerospike.NewWritePolicy(0, ttl) | ||||
| 	bins := aerospike.BinMap{ | ||||
| 		"value": val, | ||||
| 	} | ||||
|  | ||||
| 	return s.client.Put(writePolicy, k, bins) | ||||
| } | ||||
|  | ||||
| // SetWithContext sets value by key (dummy context support) | ||||
| func (s *Storage) SetWithContext(ctx context.Context, key string, val []byte, exp time.Duration) error { | ||||
| 	return s.Set(key, val, exp) | ||||
| } | ||||
|  | ||||
| // Delete key | ||||
| func (s *Storage) Delete(key string) error { | ||||
| 	k, err := aerospike.NewKey(s.namespace, s.setName, key) | ||||
| 	if err != nil { | ||||
| 		return err | ||||
| 	} | ||||
|  | ||||
| 	_, err = s.client.Delete(nil, k) | ||||
| 	return err | ||||
| } | ||||
|  | ||||
| // DeleteWithContext deletes key (dummy context support) | ||||
| func (s *Storage) DeleteWithContext(ctx context.Context, key string) error { | ||||
| 	return s.Delete(key) | ||||
| } | ||||
|  | ||||
| // Reset all keys | ||||
| func (s *Storage) Reset() error { | ||||
| 	// Use ScanAll which returns a Recordset | ||||
| 	scanPolicy := aerospike.NewScanPolicy() | ||||
| 	// Note: ConcurrentNodes no longer exists in v8 | ||||
|  | ||||
| 	recordset, err := s.client.ScanAll(scanPolicy, s.namespace, s.setName) | ||||
| 	if err != nil { | ||||
| 		return err | ||||
| 	} | ||||
|  | ||||
| 	// Ensure recordset is closed when we're done | ||||
| 	defer func() { | ||||
| 		if err := recordset.Close(); err != nil { | ||||
| 			log.Printf("Error closing recordset: %v\n", err) | ||||
| 		} | ||||
| 	}() | ||||
|  | ||||
| 	// Create a write policy for deletes | ||||
| 	writePolicy := aerospike.NewWritePolicy(0, 0) | ||||
|  | ||||
| 	// Iterate through all records and delete them | ||||
| 	for result := range recordset.Results() { | ||||
| 		if result.Err != nil { | ||||
| 			// Log the error but continue with other records | ||||
| 			log.Printf("Error scanning: %v\n", result.Err) | ||||
| 			continue | ||||
| 		} | ||||
|  | ||||
| 		// Delete the record | ||||
| 		_, err = s.client.Delete(writePolicy, result.Record.Key) | ||||
| 		if err != nil { | ||||
| 			// Log the error but continue with other records | ||||
| 			log.Printf("Error deleting key %v: %v\n", result.Record.Key, err) | ||||
| 		} | ||||
| 	} | ||||
|  | ||||
| 	return nil | ||||
| } | ||||
|  | ||||
| // ResetWithContext resets all keys (dummy context support) | ||||
| func (s *Storage) ResetWithContext(ctx context.Context) error { | ||||
| 	return s.Reset() | ||||
| } | ||||
|  | ||||
| // Close the storage | ||||
| func (s *Storage) Close() error { | ||||
| 	s.client.Close() | ||||
| 	return nil | ||||
| } | ||||
							
								
								
									
										229
									
								
								aerospike/aerospike_test.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										229
									
								
								aerospike/aerospike_test.go
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,229 @@ | ||||
| package aerospike | ||||
|  | ||||
| import ( | ||||
| 	"context" | ||||
| 	"os" | ||||
| 	"testing" | ||||
| 	"time" | ||||
|  | ||||
| 	"github.com/aerospike/aerospike-client-go/v8" | ||||
| 	"github.com/stretchr/testify/require" | ||||
| 	"github.com/testcontainers/testcontainers-go" | ||||
| 	tcaerospike "github.com/testcontainers/testcontainers-go/modules/aerospike" | ||||
| ) | ||||
|  | ||||
| const ( | ||||
| 	// aerospikeImage is the default image used for running Aerospike in tests. | ||||
| 	aerospikeImage              = "aerospike/aerospike-server:latest" | ||||
| 	aerospikeImageEnvVar string = "TEST_AEROSPIKE_IMAGE" | ||||
| 	aerospikePort               = "3000/tcp" | ||||
| 	fabricPort                  = "3001/tcp" | ||||
| 	heartbeatPort               = "3002/tcp" | ||||
| 	infoPort                    = "3003/tcp" | ||||
| 	aerospikeReadyLog           = "migrations: complete" | ||||
| 	aerospikeNamespace          = "test" | ||||
| ) | ||||
|  | ||||
| // startAerospikeContainer starts an Aerospike container for testing | ||||
| func startAerospikeContainer(t testing.TB, ctx context.Context) testcontainers.Container { | ||||
| 	t.Helper() | ||||
|  | ||||
| 	// Get custom image from env if specified | ||||
| 	image := aerospikeImage | ||||
| 	if envImage := os.Getenv(aerospikeImageEnvVar); envImage != "" { | ||||
| 		image = envImage | ||||
| 	} | ||||
|  | ||||
| 	// Start container | ||||
| 	ctr, err := tcaerospike.Run(ctx, image) | ||||
| 	testcontainers.CleanupContainer(t, ctr) | ||||
| 	require.NoError(t, err) | ||||
|  | ||||
| 	return ctr | ||||
| } | ||||
|  | ||||
| // newTestStore creates a client connected to the test container | ||||
| func newTestStore(t testing.TB) *Storage { | ||||
| 	t.Helper() | ||||
|  | ||||
| 	c := startAerospikeContainer(t, context.Background()) | ||||
|  | ||||
| 	// Extract host and port | ||||
| 	host, err := c.Host(context.TODO()) | ||||
| 	require.NoError(t, err) | ||||
|  | ||||
| 	port, err := c.MappedPort(context.TODO(), aerospikePort) | ||||
| 	require.NoError(t, err) | ||||
|  | ||||
| 	return New(Config{ | ||||
| 		Hosts:     []*aerospike.Host{aerospike.NewHost(host, port.Int())}, | ||||
| 		Reset:     true, | ||||
| 		Namespace: aerospikeNamespace, | ||||
| 	}) | ||||
| } | ||||
|  | ||||
| // Test_AeroSpikeDB_Get tests the Get method | ||||
| func Test_AeroSpikeDB_Get(t *testing.T) { | ||||
| 	var ( | ||||
| 		key = "john" | ||||
| 		val = []byte("doe") | ||||
| 	) | ||||
|  | ||||
| 	testStore := newTestStore(t) | ||||
| 	defer testStore.Close() | ||||
|  | ||||
| 	// Set a value | ||||
| 	err := testStore.Set(key, val, 0) | ||||
| 	require.NoError(t, err) | ||||
|  | ||||
| 	// Get the value | ||||
| 	retrievedVal, err := testStore.Get(key) | ||||
| 	require.NoError(t, err) | ||||
| 	require.Equal(t, val, retrievedVal) | ||||
| } | ||||
|  | ||||
| // Test_AeroSpikeDB_Delete tests the Delete method | ||||
| func Test_AeroSpikeDB_Delete(t *testing.T) { | ||||
|  | ||||
| 	var ( | ||||
| 		key = "john" | ||||
| 		val = []byte("doe") | ||||
| 	) | ||||
|  | ||||
| 	testStore := newTestStore(t) | ||||
| 	defer testStore.Close() | ||||
|  | ||||
| 	// Set a value | ||||
| 	err := testStore.Set(key, val, 0) | ||||
| 	require.NoError(t, err) | ||||
|  | ||||
| 	// Delete the value | ||||
| 	err = testStore.Delete(key) | ||||
| 	require.NoError(t, err) | ||||
|  | ||||
| 	// Try to get the deleted value | ||||
| 	retrievedVal, err := testStore.Get(key) | ||||
| 	require.NoError(t, err) | ||||
| 	require.Nil(t, retrievedVal) | ||||
| } | ||||
|  | ||||
| // Test_AeroSpikeDB_SetWithExpiration tests the Set method with expiration | ||||
| func Test_AeroSpikeDB_SetWithExpiration(t *testing.T) { | ||||
| 	var ( | ||||
| 		key = "temp" | ||||
| 		val = []byte("value") | ||||
| 	) | ||||
|  | ||||
| 	testStore := newTestStore(t) | ||||
| 	defer testStore.Close() | ||||
|  | ||||
| 	// Set a value with 1 second expiration | ||||
| 	err := testStore.Set(key, val, 1*time.Second) | ||||
| 	require.NoError(t, err) | ||||
|  | ||||
| 	// Verify the value exists initially | ||||
| 	retrievedVal, err := testStore.Get(key) | ||||
| 	require.NoError(t, err) | ||||
| 	require.Equal(t, val, retrievedVal) | ||||
|  | ||||
| 	// Wait for expiration | ||||
| 	time.Sleep(2 * time.Second) | ||||
|  | ||||
| 	// Verify the value is gone | ||||
| 	retrievedVal, err = testStore.Get(key) | ||||
| 	require.NoError(t, err) | ||||
| 	require.Nil(t, retrievedVal) | ||||
| } | ||||
|  | ||||
| // Test_AeroSpikeDB_Reset tests the Reset method | ||||
| func Test_AeroSpikeDB_Reset(t *testing.T) { | ||||
|  | ||||
| 	var ( | ||||
| 		key1 = "john" | ||||
| 		val1 = []byte("doe") | ||||
| 		key2 = "jane" | ||||
| 		val2 = []byte("smith") | ||||
| 	) | ||||
|  | ||||
| 	testStore := newTestStore(t) | ||||
| 	defer testStore.Close() | ||||
|  | ||||
| 	// Set multiple values | ||||
| 	err := testStore.Set(key1, val1, 0) | ||||
| 	require.NoError(t, err) | ||||
| 	err = testStore.Set(key2, val2, 0) | ||||
| 	require.NoError(t, err) | ||||
|  | ||||
| 	// Reset the store | ||||
| 	err = testStore.Reset() | ||||
| 	require.NoError(t, err) | ||||
|  | ||||
| 	// Ensure keys are deleted | ||||
| 	retrievedVal1, err := testStore.Get(key1) | ||||
| 	require.NoError(t, err) | ||||
| 	require.Nil(t, retrievedVal1) | ||||
|  | ||||
| 	retrievedVal2, err := testStore.Get(key2) | ||||
| 	require.NoError(t, err) | ||||
| 	require.Nil(t, retrievedVal2) | ||||
| } | ||||
|  | ||||
| // Test_AeroSpikeDB_GetSchemaInfo tests the GetSchemaInfo method | ||||
| func Test_AeroSpikeDB_GetSchemaInfo(t *testing.T) { | ||||
|  | ||||
| 	testStore := newTestStore(t) | ||||
| 	defer testStore.Close() | ||||
|  | ||||
| 	// Get schema info | ||||
| 	schemaInfo := testStore.GetSchemaInfo() | ||||
| 	require.NotNil(t, schemaInfo) | ||||
| 	require.GreaterOrEqual(t, schemaInfo.Version, 1) | ||||
| } | ||||
|  | ||||
| func Benchmark_AeroSpikeDB_Set(b *testing.B) { | ||||
| 	b.ReportAllocs() | ||||
| 	b.ResetTimer() | ||||
|  | ||||
| 	testStore := newTestStore(b) | ||||
| 	defer testStore.Close() | ||||
|  | ||||
| 	var err error | ||||
| 	for i := 0; i < b.N; i++ { | ||||
| 		err = testStore.Set("john", []byte("doe"), 0) | ||||
| 	} | ||||
|  | ||||
| 	require.NoError(b, err) | ||||
| } | ||||
|  | ||||
| func Benchmark_AeroSpikeDB_Get(b *testing.B) { | ||||
| 	testStore := newTestStore(b) | ||||
| 	defer testStore.Close() | ||||
|  | ||||
| 	err := testStore.Set("john", []byte("doe"), 0) | ||||
| 	require.NoError(b, err) | ||||
|  | ||||
| 	b.ReportAllocs() | ||||
| 	b.ResetTimer() | ||||
|  | ||||
| 	for i := 0; i < b.N; i++ { | ||||
| 		_, err = testStore.Get("john") | ||||
| 	} | ||||
|  | ||||
| 	require.NoError(b, err) | ||||
| } | ||||
|  | ||||
| func Benchmark_AeroSpikeDB_SetAndDelete(b *testing.B) { | ||||
| 	b.ReportAllocs() | ||||
| 	b.ResetTimer() | ||||
|  | ||||
| 	testStore := newTestStore(b) | ||||
| 	defer testStore.Close() | ||||
|  | ||||
| 	var err error | ||||
| 	for i := 0; i < b.N; i++ { | ||||
| 		_ = testStore.Set("john", []byte("doe"), 0) | ||||
| 		err = testStore.Delete("john") | ||||
| 	} | ||||
|  | ||||
| 	require.NoError(b, err) | ||||
| } | ||||
							
								
								
									
										89
									
								
								aerospike/config.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										89
									
								
								aerospike/config.go
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,89 @@ | ||||
| package aerospike | ||||
|  | ||||
| import ( | ||||
| 	"time" | ||||
|  | ||||
| 	"github.com/aerospike/aerospike-client-go/v8" | ||||
| ) | ||||
|  | ||||
| // Config defines the config for storage. | ||||
| type Config struct { | ||||
| 	// Hosts is a list of Aerospike server hosts | ||||
| 	Hosts []*aerospike.Host | ||||
|  | ||||
| 	// Namespace is the Aerospike namespace | ||||
| 	Namespace string | ||||
|  | ||||
| 	// SetName is the Aerospike Set name | ||||
| 	SetName string | ||||
|  | ||||
| 	// Reset clears any existing keys in existing Set | ||||
| 	Reset bool | ||||
|  | ||||
| 	// Expiration is the default expiration time of entries | ||||
| 	Expiration time.Duration | ||||
|  | ||||
| 	// SchemaVersion indicates the schema version to use | ||||
| 	SchemaVersion int | ||||
|  | ||||
| 	// SchemaDescription provides additional info about the schema | ||||
| 	SchemaDescription string | ||||
|  | ||||
| 	// ForceSchemaUpdate forces schema update even if version matches | ||||
| 	ForceSchemaUpdate bool | ||||
|  | ||||
| 	// Initial host connection timeout duration.  The timeout when opening a connection | ||||
| 	// to the server host for the first time. | ||||
| 	InitialConnectionTimeout time.Duration | ||||
| } | ||||
|  | ||||
| // ConfigDefault is the default config | ||||
| var ConfigDefault = Config{ | ||||
| 	Hosts:                    []*aerospike.Host{aerospike.NewHost("localhost", 3000)}, | ||||
| 	Namespace:                "test", // Default namespace | ||||
| 	SetName:                  "fiber", | ||||
| 	Reset:                    false, | ||||
| 	Expiration:               1 * time.Hour, | ||||
| 	SchemaVersion:            1, | ||||
| 	SchemaDescription:        "Default Fiber storage schema", | ||||
| 	ForceSchemaUpdate:        false, | ||||
| 	InitialConnectionTimeout: 10 * time.Second, | ||||
| } | ||||
|  | ||||
| // Helper function to set default values | ||||
| func configDefault(config ...Config) Config { | ||||
| 	// Return default config if nothing provided | ||||
| 	if len(config) < 1 { | ||||
| 		return ConfigDefault | ||||
| 	} | ||||
|  | ||||
| 	// Override default config | ||||
| 	cfg := config[0] | ||||
|  | ||||
| 	// Set default values for missing fields | ||||
| 	if cfg.Hosts == nil { | ||||
| 		cfg.Hosts = ConfigDefault.Hosts | ||||
| 	} | ||||
| 	if cfg.Namespace == "" { | ||||
| 		cfg.Namespace = ConfigDefault.Namespace | ||||
| 	} | ||||
| 	if cfg.SetName == "" { | ||||
| 		cfg.SetName = ConfigDefault.SetName | ||||
| 	} | ||||
| 	// Reset is a boolean, so we can't check for zero value | ||||
| 	// It's maintained as-is from user config | ||||
| 	if cfg.Expiration == 0 { | ||||
| 		cfg.Expiration = ConfigDefault.Expiration | ||||
| 	} | ||||
| 	if cfg.SchemaVersion == 0 { | ||||
| 		cfg.SchemaVersion = ConfigDefault.SchemaVersion | ||||
| 	} | ||||
| 	if cfg.SchemaDescription == "" { | ||||
| 		cfg.SchemaDescription = ConfigDefault.SchemaDescription | ||||
| 	} | ||||
| 	if cfg.InitialConnectionTimeout == 0 { | ||||
| 		cfg.InitialConnectionTimeout = ConfigDefault.InitialConnectionTimeout | ||||
| 	} | ||||
|  | ||||
| 	return cfg | ||||
| } | ||||
							
								
								
									
										71
									
								
								aerospike/go.mod
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										71
									
								
								aerospike/go.mod
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,71 @@ | ||||
| module github.com/gofiber/storage/aerospike | ||||
|  | ||||
| go 1.23.0 | ||||
|  | ||||
| require ( | ||||
| 	github.com/aerospike/aerospike-client-go/v8 v8.2.2 | ||||
| 	github.com/stretchr/testify v1.10.0 | ||||
| 	github.com/testcontainers/testcontainers-go v0.38.0 | ||||
| 	github.com/testcontainers/testcontainers-go/modules/aerospike v0.38.0 | ||||
| ) | ||||
|  | ||||
| require ( | ||||
| 	dario.cat/mergo v1.0.1 // indirect | ||||
| 	github.com/Azure/go-ansiterm v0.0.0-20250102033503-faa5f7b0171c // indirect | ||||
| 	github.com/Microsoft/go-winio v0.6.2 // indirect | ||||
| 	github.com/cenkalti/backoff/v4 v4.3.0 // indirect | ||||
| 	github.com/containerd/errdefs v1.0.0 // indirect | ||||
| 	github.com/containerd/errdefs/pkg v0.3.0 // indirect | ||||
| 	github.com/containerd/log v0.1.0 // indirect | ||||
| 	github.com/containerd/platforms v0.2.1 // indirect | ||||
| 	github.com/cpuguy83/dockercfg v0.3.2 // indirect | ||||
| 	github.com/davecgh/go-spew v1.1.1 // indirect | ||||
| 	github.com/distribution/reference v0.6.0 // indirect | ||||
| 	github.com/docker/docker v28.2.2+incompatible // indirect | ||||
| 	github.com/docker/go-connections v0.5.0 // indirect | ||||
| 	github.com/docker/go-units v0.5.0 // indirect | ||||
| 	github.com/ebitengine/purego v0.8.4 // indirect | ||||
| 	github.com/felixge/httpsnoop v1.0.4 // indirect | ||||
| 	github.com/go-logr/logr v1.4.2 // indirect | ||||
| 	github.com/go-logr/stdr v1.2.2 // indirect | ||||
| 	github.com/go-ole/go-ole v1.3.0 // indirect | ||||
| 	github.com/gogo/protobuf v1.3.2 // indirect | ||||
| 	github.com/google/uuid v1.6.0 // indirect | ||||
| 	github.com/grpc-ecosystem/grpc-gateway/v2 v2.25.1 // indirect | ||||
| 	github.com/klauspost/compress v1.18.0 // indirect | ||||
| 	github.com/lufia/plan9stats v0.0.0-20250317134145-8bc96cf8fc35 // indirect | ||||
| 	github.com/magiconair/properties v1.8.10 // indirect | ||||
| 	github.com/moby/docker-image-spec v1.3.1 // indirect | ||||
| 	github.com/moby/go-archive v0.1.0 // indirect | ||||
| 	github.com/moby/patternmatcher v0.6.0 // indirect | ||||
| 	github.com/moby/sys/sequential v0.6.0 // indirect | ||||
| 	github.com/moby/sys/user v0.4.0 // indirect | ||||
| 	github.com/moby/sys/userns v0.1.0 // indirect | ||||
| 	github.com/moby/term v0.5.2 // indirect | ||||
| 	github.com/morikuni/aec v1.0.0 // indirect | ||||
| 	github.com/opencontainers/go-digest v1.0.0 // indirect | ||||
| 	github.com/opencontainers/image-spec v1.1.1 // indirect | ||||
| 	github.com/pkg/errors v0.9.1 // indirect | ||||
| 	github.com/pmezard/go-difflib v1.0.0 // indirect | ||||
| 	github.com/power-devops/perfstat v0.0.0-20240221224432-82ca36839d55 // indirect | ||||
| 	github.com/rogpeppe/go-internal v1.14.1 // indirect | ||||
| 	github.com/shirou/gopsutil/v4 v4.25.5 // indirect | ||||
| 	github.com/sirupsen/logrus v1.9.3 // indirect | ||||
| 	github.com/tklauser/go-sysconf v0.3.15 // indirect | ||||
| 	github.com/tklauser/numcpus v0.10.0 // indirect | ||||
| 	github.com/wadey/gocovmerge v0.0.0-20160331181800-b5bfa59ec0ad // indirect | ||||
| 	github.com/yuin/gopher-lua v1.1.1 // indirect | ||||
| 	github.com/yusufpapurcu/wmi v1.2.4 // indirect | ||||
| 	go.opentelemetry.io/auto/sdk v1.1.0 // indirect | ||||
| 	go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.60.0 // indirect | ||||
| 	go.opentelemetry.io/otel v1.35.0 // indirect | ||||
| 	go.opentelemetry.io/otel/metric v1.35.0 // indirect | ||||
| 	go.opentelemetry.io/otel/trace v1.35.0 // indirect | ||||
| 	golang.org/x/crypto v0.37.0 // indirect | ||||
| 	golang.org/x/sync v0.13.0 // indirect | ||||
| 	golang.org/x/sys v0.32.0 // indirect | ||||
| 	golang.org/x/tools v0.32.0 // indirect | ||||
| 	google.golang.org/genproto/googleapis/api v0.0.0-20250102185135-69823020774d // indirect | ||||
| 	google.golang.org/grpc v1.69.2 // indirect | ||||
| 	gopkg.in/yaml.v3 v3.0.1 // indirect | ||||
| ) | ||||
							
								
								
									
										213
									
								
								aerospike/go.sum
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										213
									
								
								aerospike/go.sum
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,213 @@ | ||||
| dario.cat/mergo v1.0.1 h1:Ra4+bf83h2ztPIQYNP99R6m+Y7KfnARDfID+a+vLl4s= | ||||
| dario.cat/mergo v1.0.1/go.mod h1:uNxQE+84aUszobStD9th8a29P2fMDhsBdgRYvZOxGmk= | ||||
| github.com/AdaLogics/go-fuzz-headers v0.0.0-20240806141605-e8a1dd7889d6 h1:He8afgbRMd7mFxO99hRNu+6tazq8nFF9lIwo9JFroBk= | ||||
| github.com/AdaLogics/go-fuzz-headers v0.0.0-20240806141605-e8a1dd7889d6/go.mod h1:8o94RPi1/7XTJvwPpRSzSUedZrtlirdB3r9Z20bi2f8= | ||||
| github.com/Azure/go-ansiterm v0.0.0-20250102033503-faa5f7b0171c h1:udKWzYgxTojEKWjV8V+WSxDXJ4NFATAsZjh8iIbsQIg= | ||||
| github.com/Azure/go-ansiterm v0.0.0-20250102033503-faa5f7b0171c/go.mod h1:xomTg63KZ2rFqZQzSB4Vz2SUXa1BpHTVz9L5PTmPC4E= | ||||
| github.com/Microsoft/go-winio v0.6.2 h1:F2VQgta7ecxGYO8k3ZZz3RS8fVIXVxONVUPlNERoyfY= | ||||
| github.com/Microsoft/go-winio v0.6.2/go.mod h1:yd8OoFMLzJbo9gZq8j5qaps8bJ9aShtEA8Ipt1oGCvU= | ||||
| github.com/aerospike/aerospike-client-go/v8 v8.2.2 h1:NV1GxB+ATUb1cQtwaIS731A/6EkwuAX4/heh8CpvQOI= | ||||
| github.com/aerospike/aerospike-client-go/v8 v8.2.2/go.mod h1:H6CzKDoHxBj1yY/oQPci1bUIbEx2ATQtJ2GtZ+N64Wg= | ||||
| github.com/cenkalti/backoff/v4 v4.3.0 h1:MyRJ/UdXutAwSAT+s3wNd7MfTIcy71VQueUuFK343L8= | ||||
| github.com/cenkalti/backoff/v4 v4.3.0/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE= | ||||
| github.com/containerd/errdefs v1.0.0 h1:tg5yIfIlQIrxYtu9ajqY42W3lpS19XqdxRQeEwYG8PI= | ||||
| github.com/containerd/errdefs v1.0.0/go.mod h1:+YBYIdtsnF4Iw6nWZhJcqGSg/dwvV7tyJ/kCkyJ2k+M= | ||||
| github.com/containerd/errdefs/pkg v0.3.0 h1:9IKJ06FvyNlexW690DXuQNx2KA2cUJXx151Xdx3ZPPE= | ||||
| github.com/containerd/errdefs/pkg v0.3.0/go.mod h1:NJw6s9HwNuRhnjJhM7pylWwMyAkmCQvQ4GpJHEqRLVk= | ||||
| github.com/containerd/log v0.1.0 h1:TCJt7ioM2cr/tfR8GPbGf9/VRAX8D2B4PjzCpfX540I= | ||||
| github.com/containerd/log v0.1.0/go.mod h1:VRRf09a7mHDIRezVKTRCrOq78v577GXq3bSa3EhrzVo= | ||||
| github.com/containerd/platforms v0.2.1 h1:zvwtM3rz2YHPQsF2CHYM8+KtB5dvhISiXh5ZpSBQv6A= | ||||
| github.com/containerd/platforms v0.2.1/go.mod h1:XHCb+2/hzowdiut9rkudds9bE5yJ7npe7dG/wG+uFPw= | ||||
| github.com/cpuguy83/dockercfg v0.3.2 h1:DlJTyZGBDlXqUZ2Dk2Q3xHs/FtnooJJVaad2S9GKorA= | ||||
| github.com/cpuguy83/dockercfg v0.3.2/go.mod h1:sugsbF4//dDlL/i+S+rtpIWp+5h0BHJHfjj5/jFyUJc= | ||||
| github.com/creack/pty v1.1.18 h1:n56/Zwd5o6whRC5PMGretI4IdRLlmBXYNjScPaBgsbY= | ||||
| github.com/creack/pty v1.1.18/go.mod h1:MOBLtS5ELjhRRrroQr9kyvTxUAFNvYEK993ew/Vr4O4= | ||||
| github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= | ||||
| github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= | ||||
| github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= | ||||
| github.com/distribution/reference v0.6.0 h1:0IXCQ5g4/QMHHkarYzh5l+u8T3t73zM5QvfrDyIgxBk= | ||||
| github.com/distribution/reference v0.6.0/go.mod h1:BbU0aIcezP1/5jX/8MP0YiH4SdvB5Y4f/wlDRiLyi3E= | ||||
| github.com/docker/docker v28.2.2+incompatible h1:CjwRSksz8Yo4+RmQ339Dp/D2tGO5JxwYeqtMOEe0LDw= | ||||
| github.com/docker/docker v28.2.2+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= | ||||
| github.com/docker/go-connections v0.5.0 h1:USnMq7hx7gwdVZq1L49hLXaFtUdTADjXGp+uj1Br63c= | ||||
| github.com/docker/go-connections v0.5.0/go.mod h1:ov60Kzw0kKElRwhNs9UlUHAE/F9Fe6GLaXnqyDdmEXc= | ||||
| github.com/docker/go-units v0.5.0 h1:69rxXcBk27SvSaaxTtLh/8llcHD8vYHT7WSdRZ/jvr4= | ||||
| github.com/docker/go-units v0.5.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk= | ||||
| github.com/ebitengine/purego v0.8.4 h1:CF7LEKg5FFOsASUj0+QwaXf8Ht6TlFxg09+S9wz0omw= | ||||
| github.com/ebitengine/purego v0.8.4/go.mod h1:iIjxzd6CiRiOG0UyXP+V1+jWqUXVjPKLAI0mRfJZTmQ= | ||||
| github.com/felixge/httpsnoop v1.0.4 h1:NFTV2Zj1bL4mc9sqWACXbQFVBBg2W3GPvqp8/ESS2Wg= | ||||
| github.com/felixge/httpsnoop v1.0.4/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= | ||||
| github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= | ||||
| github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= | ||||
| github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= | ||||
| github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= | ||||
| github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= | ||||
| github.com/go-ole/go-ole v1.2.6/go.mod h1:pprOEPIfldk/42T2oK7lQ4v4JSDwmV0As9GaiUsvbm0= | ||||
| github.com/go-ole/go-ole v1.3.0 h1:Dt6ye7+vXGIKZ7Xtk4s6/xVdGDQynvom7xCFEdWr6uE= | ||||
| github.com/go-ole/go-ole v1.3.0/go.mod h1:5LS6F96DhAwUc7C+1HLexzMXY1xGRSryjyPPKW6zv78= | ||||
| github.com/go-task/slim-sprig/v3 v3.0.0 h1:sUs3vkvUymDpBKi3qH1YSqBQk9+9D/8M2mN1vB6EwHI= | ||||
| github.com/go-task/slim-sprig/v3 v3.0.0/go.mod h1:W848ghGpv3Qj3dhTPRyJypKRiqCdHZiAzKg9hl15HA8= | ||||
| github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= | ||||
| github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= | ||||
| github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8= | ||||
| github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU= | ||||
| github.com/google/pprof v0.0.0-20241210010833-40e02aabc2ad h1:a6HEuzUHeKH6hwfN/ZoQgRgVIWFJljSWa/zetS2WTvg= | ||||
| github.com/google/pprof v0.0.0-20241210010833-40e02aabc2ad/go.mod h1:vavhavw2zAxS5dIdcRluK6cSGGPlZynqzFM8NdvU144= | ||||
| github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= | ||||
| github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= | ||||
| github.com/grpc-ecosystem/grpc-gateway/v2 v2.25.1 h1:VNqngBF40hVlDloBruUehVYC3ArSgIyScOAyMRqBxRg= | ||||
| github.com/grpc-ecosystem/grpc-gateway/v2 v2.25.1/go.mod h1:RBRO7fro65R6tjKzYgLAFo0t1QEXY1Dp+i/bvpRiqiQ= | ||||
| github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= | ||||
| github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= | ||||
| github.com/klauspost/compress v1.18.0 h1:c/Cqfb0r+Yi+JtIEq73FWXVkRonBlf0CRNYc8Zttxdo= | ||||
| github.com/klauspost/compress v1.18.0/go.mod h1:2Pp+KzxcywXVXMr50+X0Q/Lsb43OQHYWRCY2AiWywWQ= | ||||
| github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= | ||||
| github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= | ||||
| github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= | ||||
| github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= | ||||
| github.com/lufia/plan9stats v0.0.0-20250317134145-8bc96cf8fc35 h1:PpXWgLPs+Fqr325bN2FD2ISlRRztXibcX6e8f5FR5Dc= | ||||
| github.com/lufia/plan9stats v0.0.0-20250317134145-8bc96cf8fc35/go.mod h1:autxFIvghDt3jPTLoqZ9OZ7s9qTGNAWmYCjVFWPX/zg= | ||||
| github.com/magiconair/properties v1.8.10 h1:s31yESBquKXCV9a/ScB3ESkOjUYYv+X0rg8SYxI99mE= | ||||
| github.com/magiconair/properties v1.8.10/go.mod h1:Dhd985XPs7jluiymwWYZ0G4Z61jb3vdS329zhj2hYo0= | ||||
| github.com/moby/docker-image-spec v1.3.1 h1:jMKff3w6PgbfSa69GfNg+zN/XLhfXJGnEx3Nl2EsFP0= | ||||
| github.com/moby/docker-image-spec v1.3.1/go.mod h1:eKmb5VW8vQEh/BAr2yvVNvuiJuY6UIocYsFu/DxxRpo= | ||||
| github.com/moby/go-archive v0.1.0 h1:Kk/5rdW/g+H8NHdJW2gsXyZ7UnzvJNOy6VKJqueWdcQ= | ||||
| github.com/moby/go-archive v0.1.0/go.mod h1:G9B+YoujNohJmrIYFBpSd54GTUB4lt9S+xVQvsJyFuo= | ||||
| github.com/moby/patternmatcher v0.6.0 h1:GmP9lR19aU5GqSSFko+5pRqHi+Ohk1O69aFiKkVGiPk= | ||||
| github.com/moby/patternmatcher v0.6.0/go.mod h1:hDPoyOpDY7OrrMDLaYoY3hf52gNCR/YOUYxkhApJIxc= | ||||
| github.com/moby/sys/atomicwriter v0.1.0 h1:kw5D/EqkBwsBFi0ss9v1VG3wIkVhzGvLklJ+w3A14Sw= | ||||
| github.com/moby/sys/atomicwriter v0.1.0/go.mod h1:Ul8oqv2ZMNHOceF643P6FKPXeCmYtlQMvpizfsSoaWs= | ||||
| github.com/moby/sys/sequential v0.6.0 h1:qrx7XFUd/5DxtqcoH1h438hF5TmOvzC/lspjy7zgvCU= | ||||
| github.com/moby/sys/sequential v0.6.0/go.mod h1:uyv8EUTrca5PnDsdMGXhZe6CCe8U/UiTWd+lL+7b/Ko= | ||||
| github.com/moby/sys/user v0.4.0 h1:jhcMKit7SA80hivmFJcbB1vqmw//wU61Zdui2eQXuMs= | ||||
| github.com/moby/sys/user v0.4.0/go.mod h1:bG+tYYYJgaMtRKgEmuueC0hJEAZWwtIbZTB+85uoHjs= | ||||
| github.com/moby/sys/userns v0.1.0 h1:tVLXkFOxVu9A64/yh59slHVv9ahO9UIev4JZusOLG/g= | ||||
| github.com/moby/sys/userns v0.1.0/go.mod h1:IHUYgu/kao6N8YZlp9Cf444ySSvCmDlmzUcYfDHOl28= | ||||
| github.com/moby/term v0.5.2 h1:6qk3FJAFDs6i/q3W/pQ97SX192qKfZgGjCQqfCJkgzQ= | ||||
| github.com/moby/term v0.5.2/go.mod h1:d3djjFCrjnB+fl8NJux+EJzu0msscUP+f8it8hPkFLc= | ||||
| github.com/morikuni/aec v1.0.0 h1:nP9CBfwrvYnBRgY6qfDQkygYDmYwOilePFkwzv4dU8A= | ||||
| github.com/morikuni/aec v1.0.0/go.mod h1:BbKIizmSmc5MMPqRYbxO4ZU0S0+P200+tUnFx7PXmsc= | ||||
| github.com/onsi/ginkgo/v2 v2.22.2 h1:/3X8Panh8/WwhU/3Ssa6rCKqPLuAkVY2I0RoyDLySlU= | ||||
| github.com/onsi/ginkgo/v2 v2.22.2/go.mod h1:oeMosUL+8LtarXBHu/c0bx2D/K9zyQ6uX3cTyztHwsk= | ||||
| github.com/onsi/gomega v1.36.2 h1:koNYke6TVk6ZmnyHrCXba/T/MoLBXFjeC1PtvYgw0A8= | ||||
| github.com/onsi/gomega v1.36.2/go.mod h1:DdwyADRjrc825LhMEkD76cHR5+pUnjhUN8GlHlRPHzY= | ||||
| github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U= | ||||
| github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM= | ||||
| github.com/opencontainers/image-spec v1.1.1 h1:y0fUlFfIZhPF1W537XOLg0/fcx6zcHCJwooC2xJA040= | ||||
| github.com/opencontainers/image-spec v1.1.1/go.mod h1:qpqAh3Dmcf36wStyyWU+kCeDgrGnAve2nCC8+7h8Q0M= | ||||
| github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= | ||||
| github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= | ||||
| github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= | ||||
| github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= | ||||
| github.com/power-devops/perfstat v0.0.0-20240221224432-82ca36839d55 h1:o4JXh1EVt9k/+g42oCprj/FisM4qX9L3sZB3upGN2ZU= | ||||
| github.com/power-devops/perfstat v0.0.0-20240221224432-82ca36839d55/go.mod h1:OmDBASR4679mdNQnz2pUhc2G8CO2JrUAVFDRBDP/hJE= | ||||
| github.com/rogpeppe/go-internal v1.14.1 h1:UQB4HGPB6osV0SQTLymcB4TgvyWu6ZyliaW0tI/otEQ= | ||||
| github.com/rogpeppe/go-internal v1.14.1/go.mod h1:MaRKkUm5W0goXpeCfT7UZI6fk/L7L7so1lCWt35ZSgc= | ||||
| github.com/shirou/gopsutil/v4 v4.25.5 h1:rtd9piuSMGeU8g1RMXjZs9y9luK5BwtnG7dZaQUJAsc= | ||||
| github.com/shirou/gopsutil/v4 v4.25.5/go.mod h1:PfybzyydfZcN+JMMjkF6Zb8Mq1A/VcogFFg7hj50W9c= | ||||
| github.com/sirupsen/logrus v1.9.3 h1:dueUQJ1C2q9oE3F7wvmSGAaVtTmUizReu6fjN8uqzbQ= | ||||
| github.com/sirupsen/logrus v1.9.3/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ= | ||||
| github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= | ||||
| github.com/stretchr/objx v0.5.2 h1:xuMeJ0Sdp5ZMRXx/aWO6RZxdr3beISkG5/G/aIRr3pY= | ||||
| github.com/stretchr/objx v0.5.2/go.mod h1:FRsXN1f5AsAjCGJKqEizvkpNtU+EGNCLh3NxZ/8L+MA= | ||||
| github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= | ||||
| github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA= | ||||
| github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= | ||||
| github.com/testcontainers/testcontainers-go v0.38.0 h1:d7uEapLcv2P8AvH8ahLqDMMxda2W9gQN1nRbHS28HBw= | ||||
| github.com/testcontainers/testcontainers-go v0.38.0/go.mod h1:C52c9MoHpWO+C4aqmgSU+hxlR5jlEayWtgYrb8Pzz1w= | ||||
| github.com/testcontainers/testcontainers-go/modules/aerospike v0.38.0 h1:SxKx/r8ux1166pM9DpoQY0Bqn4xupUku5gkxKFYmL5A= | ||||
| github.com/testcontainers/testcontainers-go/modules/aerospike v0.38.0/go.mod h1:mFjTELw58PVUQYtgPxKh2th6Dw8XaYAnJOFBkYVb+dU= | ||||
| github.com/tklauser/go-sysconf v0.3.15 h1:VE89k0criAymJ/Os65CSn1IXaol+1wrsFHEB8Ol49K4= | ||||
| github.com/tklauser/go-sysconf v0.3.15/go.mod h1:Dmjwr6tYFIseJw7a3dRLJfsHAMXZ3nEnL/aZY+0IuI4= | ||||
| github.com/tklauser/numcpus v0.10.0 h1:18njr6LDBk1zuna922MgdjQuJFjrdppsZG60sHGfjso= | ||||
| github.com/tklauser/numcpus v0.10.0/go.mod h1:BiTKazU708GQTYF4mB+cmlpT2Is1gLk7XVuEeem8LsQ= | ||||
| github.com/wadey/gocovmerge v0.0.0-20160331181800-b5bfa59ec0ad h1:W0LEBv82YCGEtcmPA3uNZBI33/qF//HAAs3MawDjRa0= | ||||
| github.com/wadey/gocovmerge v0.0.0-20160331181800-b5bfa59ec0ad/go.mod h1:Hy8o65+MXnS6EwGElrSRjUzQDLXreJlzYLlWiHtt8hM= | ||||
| github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= | ||||
| github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= | ||||
| github.com/yuin/gopher-lua v1.1.1 h1:kYKnWBjvbNP4XLT3+bPEwAXJx262OhaHDWDVOPjL46M= | ||||
| github.com/yuin/gopher-lua v1.1.1/go.mod h1:GBR0iDaNXjAgGg9zfCvksxSRnQx76gclCIb7kdAd1Pw= | ||||
| github.com/yusufpapurcu/wmi v1.2.4 h1:zFUKzehAFReQwLys1b/iSMl+JQGSCSjtVqQn9bBrPo0= | ||||
| github.com/yusufpapurcu/wmi v1.2.4/go.mod h1:SBZ9tNy3G9/m5Oi98Zks0QjeHVDvuK0qfxQmPyzfmi0= | ||||
| go.opentelemetry.io/auto/sdk v1.1.0 h1:cH53jehLUN6UFLY71z+NDOiNJqDdPRaXzTel0sJySYA= | ||||
| go.opentelemetry.io/auto/sdk v1.1.0/go.mod h1:3wSPjt5PWp2RhlCcmmOial7AvC4DQqZb7a7wCow3W8A= | ||||
| go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.60.0 h1:sbiXRNDSWJOTobXh5HyQKjq6wUC5tNybqjIqDpAY4CU= | ||||
| go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.60.0/go.mod h1:69uWxva0WgAA/4bu2Yy70SLDBwZXuQ6PbBpbsa5iZrQ= | ||||
| go.opentelemetry.io/otel v1.35.0 h1:xKWKPxrxB6OtMCbmMY021CqC45J+3Onta9MqjhnusiQ= | ||||
| go.opentelemetry.io/otel v1.35.0/go.mod h1:UEqy8Zp11hpkUrL73gSlELM0DupHoiq72dR+Zqel/+Y= | ||||
| go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.35.0 h1:1fTNlAIJZGWLP5FVu0fikVry1IsiUnXjf7QFvoNN3Xw= | ||||
| go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.35.0/go.mod h1:zjPK58DtkqQFn+YUMbx0M2XV3QgKU0gS9LeGohREyK4= | ||||
| go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.19.0 h1:IeMeyr1aBvBiPVYihXIaeIZba6b8E1bYp7lbdxK8CQg= | ||||
| go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.19.0/go.mod h1:oVdCUtjq9MK9BlS7TtucsQwUcXcymNiEDjgDD2jMtZU= | ||||
| go.opentelemetry.io/otel/metric v1.35.0 h1:0znxYu2SNyuMSQT4Y9WDWej0VpcsxkuklLa4/siN90M= | ||||
| go.opentelemetry.io/otel/metric v1.35.0/go.mod h1:nKVFgxBZ2fReX6IlyW28MgZojkoAkJGaE8CpgeAU3oE= | ||||
| go.opentelemetry.io/otel/sdk v1.35.0 h1:iPctf8iprVySXSKJffSS79eOjl9pvxV9ZqOWT0QejKY= | ||||
| go.opentelemetry.io/otel/sdk v1.35.0/go.mod h1:+ga1bZliga3DxJ3CQGg3updiaAJoNECOgJREo9KHGQg= | ||||
| go.opentelemetry.io/otel/sdk/metric v1.35.0 h1:1RriWBmCKgkeHEhM7a2uMjMUfP7MsOF5JpUCaEqEI9o= | ||||
| go.opentelemetry.io/otel/sdk/metric v1.35.0/go.mod h1:is6XYCUMpcKi+ZsOvfluY5YstFnhW0BidkR+gL+qN+w= | ||||
| go.opentelemetry.io/otel/trace v1.35.0 h1:dPpEfJu1sDIqruz7BHFG3c7528f6ddfSWfFDVt/xgMs= | ||||
| go.opentelemetry.io/otel/trace v1.35.0/go.mod h1:WUk7DtFp1Aw2MkvqGdwiXYDZZNvA/1J8o6xRXLrIkyc= | ||||
| go.opentelemetry.io/proto/otlp v1.5.0 h1:xJvq7gMzB31/d406fB8U5CBdyQGw4P399D1aQWU/3i4= | ||||
| go.opentelemetry.io/proto/otlp v1.5.0/go.mod h1:keN8WnHxOy8PG0rQZjJJ5A2ebUoafqWp0eVQ4yIXvJ4= | ||||
| golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= | ||||
| golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= | ||||
| golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= | ||||
| golang.org/x/crypto v0.37.0 h1:kJNSjF/Xp7kU0iB2Z+9viTPMW4EqqsrywMXLJOOsXSE= | ||||
| golang.org/x/crypto v0.37.0/go.mod h1:vg+k43peMZ0pUMhYmVAWysMK35e6ioLh3wB8ZCAfbVc= | ||||
| golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= | ||||
| golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= | ||||
| golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= | ||||
| golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= | ||||
| golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= | ||||
| golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= | ||||
| golang.org/x/net v0.39.0 h1:ZCu7HMWDxpXpaiKdhzIfaltL9Lp31x/3fCP11bc6/fY= | ||||
| golang.org/x/net v0.39.0/go.mod h1:X7NRbYVEA+ewNkCNyJ513WmMdQ3BineSwVtN2zD/d+E= | ||||
| golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= | ||||
| golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= | ||||
| golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= | ||||
| golang.org/x/sync v0.13.0 h1:AauUjRAJ9OSnvULf/ARrrVywoJDy0YS2AwQ98I37610= | ||||
| golang.org/x/sync v0.13.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA= | ||||
| golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= | ||||
| golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | ||||
| golang.org/x/sys v0.0.0-20190916202348-b4ddaad3f8a3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | ||||
| golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | ||||
| golang.org/x/sys v0.0.0-20201204225414-ed752295db88/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= | ||||
| golang.org/x/sys v0.0.0-20210616094352-59db8d763f22/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= | ||||
| golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= | ||||
| golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= | ||||
| golang.org/x/sys v0.32.0 h1:s77OFDvIQeibCmezSnk/q6iAfkdiQaJi4VzroCFrN20= | ||||
| golang.org/x/sys v0.32.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= | ||||
| golang.org/x/term v0.31.0 h1:erwDkOK1Msy6offm1mOgvspSkslFnIGsFnxOKoufg3o= | ||||
| golang.org/x/term v0.31.0/go.mod h1:R4BeIy7D95HzImkxGkTW1UQTtP54tio2RyHz7PwK0aw= | ||||
| golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= | ||||
| golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= | ||||
| golang.org/x/text v0.24.0 h1:dd5Bzh4yt5KYA8f9CJHCP4FB4D51c2c6JvN37xJJkJ0= | ||||
| golang.org/x/text v0.24.0/go.mod h1:L8rBsPeo2pSS+xqN0d5u2ikmjtmoJbDBT1b7nHvFCdU= | ||||
| golang.org/x/time v0.0.0-20220210224613-90d013bbcef8 h1:vVKdlvoWBphwdxWKrFZEuM0kGgGLxUOYcY4U/2Vjg44= | ||||
| golang.org/x/time v0.0.0-20220210224613-90d013bbcef8/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= | ||||
| golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= | ||||
| golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= | ||||
| golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= | ||||
| golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= | ||||
| golang.org/x/tools v0.32.0 h1:Q7N1vhpkQv7ybVzLFtTjvQya2ewbwNDZzUgfXGqtMWU= | ||||
| golang.org/x/tools v0.32.0/go.mod h1:ZxrU41P/wAbZD8EDa6dDCa6XfpkhJ7HFMjHJXfBDu8s= | ||||
| golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= | ||||
| golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= | ||||
| golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= | ||||
| golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= | ||||
| google.golang.org/genproto/googleapis/api v0.0.0-20250102185135-69823020774d h1:H8tOf8XM88HvKqLTxe755haY6r1fqqzLbEnfrmLXlSA= | ||||
| google.golang.org/genproto/googleapis/api v0.0.0-20250102185135-69823020774d/go.mod h1:2v7Z7gP2ZUOGsaFyxATQSRoBnKygqVq2Cwnvom7QiqY= | ||||
| google.golang.org/genproto/googleapis/rpc v0.0.0-20250409194420-de1ac958c67a h1:GIqLhp/cYUkuGuiT+vJk8vhOP86L4+SP5j8yXgeVpvI= | ||||
| google.golang.org/genproto/googleapis/rpc v0.0.0-20250409194420-de1ac958c67a/go.mod h1:qQ0YXyHHx3XkvlzUtpXDkS29lDSafHMZBAZDc03LQ3A= | ||||
| google.golang.org/grpc v1.69.2 h1:U3S9QEtbXC0bYNvRtcoklF3xGtLViumSYxWykJS+7AU= | ||||
| google.golang.org/grpc v1.69.2/go.mod h1:vyjdE6jLBI76dgpDojsFGNaHlxdjXN9ghpnd2o7JGZ4= | ||||
| google.golang.org/protobuf v1.36.6 h1:z1NpPI8ku2WgiWnf+t9wTPsn6eP1L7ksHUlkfLvd9xY= | ||||
| google.golang.org/protobuf v1.36.6/go.mod h1:jduwjTPXsFjZGTmRluh+L6NjiWu7pchiJ2/5YcXBHnY= | ||||
| gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= | ||||
| gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= | ||||
| gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= | ||||
| gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= | ||||
| gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= | ||||
| gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= | ||||
| gotest.tools/v3 v3.5.2 h1:7koQfIKdy+I8UTetycgUqXWSDwpgv193Ka+qRsmBY8Q= | ||||
| gotest.tools/v3 v3.5.2/go.mod h1:LtdLGcnqToBH83WByAAi/wiwSFCArdFIUV/xxN4pcjA= | ||||
| @@ -6,13 +6,9 @@ title: ArangoDB | ||||
|  | ||||
| [](https://gofiber.io/discord) | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
| A ArangoDB storage driver using `arangodb/go-driver` and [arangodb/go-driver](https://github.com/arangodb/go-driver). | ||||
|  | ||||
| **Note: Requires Go 1.19 and above** | ||||
|  | ||||
| ### Table of Contents | ||||
| - [Signatures](#signatures) | ||||
| - [Installation](#installation) | ||||
| @@ -23,9 +19,13 @@ A ArangoDB storage driver using `arangodb/go-driver` and [arangodb/go-driver](ht | ||||
| ### Signatures | ||||
| ```go | ||||
| func New(config ...Config) Storage | ||||
| func (s *Storage) GetWithContext(ctx context.Context, key string) ([]byte, error) | ||||
| func (s *Storage) Get(key string) ([]byte, error) | ||||
| func (s *Storage) SetWithContext(ctx context.Context, key string, val []byte, exp time.Duration) error | ||||
| func (s *Storage) Set(key string, val []byte, exp time.Duration) error | ||||
| func (s *Storage) DeleteWithContext(ctx context.Context, key string) error | ||||
| func (s *Storage) Delete(key string) error | ||||
| func (s *Storage) ResetWithContext(ctx context.Context) error | ||||
| func (s *Storage) Reset() error | ||||
| func (s *Storage) Close() error | ||||
| func (s *Storage) Conn() driver.Client | ||||
| @@ -35,7 +35,7 @@ ArangoDB is tested on the 2 last (1.14/1.15) [Go versions](https://golang.org/dl | ||||
| ```bash | ||||
| go mod init github.com/<user>/<repo> | ||||
| ``` | ||||
| And then install the mysql implementation: | ||||
| And then install the arangodb implementation: | ||||
| ```bash | ||||
| go get github.com/gofiber/storage/arangodb/v2 | ||||
| ``` | ||||
|   | ||||
Some files were not shown because too many files have changed in this diff Show More
		Reference in New Issue
	
	Block a user