mirror of
https://github.com/gofiber/storage.git
synced 2025-09-27 12:52:25 +08:00
Compare commits
427 Commits
v1.3.3
...
etcd/v1.0.
Author | SHA1 | Date | |
---|---|---|---|
![]() |
56a4cbfc19 | ||
![]() |
60220b5b83 | ||
![]() |
304146395d | ||
![]() |
a5635a782f | ||
![]() |
df66fb784c | ||
![]() |
9a9a1ce716 | ||
![]() |
5c3a1ca3eb | ||
![]() |
95226eed34 | ||
![]() |
33a61daca9 | ||
![]() |
6c71397839 | ||
![]() |
9fba60d754 | ||
![]() |
a115ee2fba | ||
![]() |
31e2d80802 | ||
![]() |
bbbd3e8ad1 | ||
![]() |
9edc233ee7 | ||
![]() |
c030fac063 | ||
![]() |
36401996a5 | ||
![]() |
c4a57d2fbe | ||
![]() |
f0e4fda91b | ||
![]() |
d95d8e93b9 | ||
![]() |
2ce3ae15bf | ||
![]() |
c592c8b549 | ||
![]() |
9f8afc3ce9 | ||
![]() |
2b4e7abe21 | ||
![]() |
3c0ea943b0 | ||
![]() |
9757af64f1 | ||
![]() |
b24255db5e | ||
![]() |
5aa726f723 | ||
![]() |
e42a4816ac | ||
![]() |
4137501136 | ||
![]() |
f72d263ecb | ||
![]() |
41bc99cc17 | ||
![]() |
e71c5057ac | ||
![]() |
4190ba4790 | ||
![]() |
1f1e7edd2a | ||
![]() |
b4151987ad | ||
![]() |
6fbb923377 | ||
![]() |
1743f57c9c | ||
![]() |
4c06b1802d | ||
![]() |
5c222a8684 | ||
![]() |
ad837a4f68 | ||
![]() |
8f9884ade2 | ||
![]() |
8ae4fed70a | ||
![]() |
349820a7d1 | ||
![]() |
5bbdaaf114 | ||
![]() |
455eb537ac | ||
![]() |
a37efaa61b | ||
![]() |
3a98e867cb | ||
![]() |
15d7b9ed6d | ||
![]() |
cc87dce84d | ||
![]() |
c651866df3 | ||
![]() |
e19782fb04 | ||
![]() |
17d0b6dd0b | ||
![]() |
201e025ee8 | ||
![]() |
448c43ff43 | ||
![]() |
cd292b687f | ||
![]() |
19ee2e65b8 | ||
![]() |
a276545019 | ||
![]() |
b892818d23 | ||
![]() |
28b8432101 | ||
![]() |
772f808741 | ||
![]() |
cdd6008fbb | ||
![]() |
e1214a9ccc | ||
![]() |
426e8266c5 | ||
![]() |
821232a3c4 | ||
![]() |
6a8f254286 | ||
![]() |
1af4aa7ac9 | ||
![]() |
b031cab8df | ||
![]() |
56a60b7f0a | ||
![]() |
1e6d856921 | ||
![]() |
53ecdac6f1 | ||
![]() |
3b6636b0ef | ||
![]() |
5102a5d757 | ||
![]() |
869d99ce0f | ||
![]() |
2d2739c33a | ||
![]() |
b7bd9bd90e | ||
![]() |
b7954d8a33 | ||
![]() |
7b7c79acb3 | ||
![]() |
4b76119c68 | ||
![]() |
10b721602f | ||
![]() |
21297be965 | ||
![]() |
85f3189476 | ||
![]() |
cf1a4a6345 | ||
![]() |
9294e3e676 | ||
![]() |
85c4df40cd | ||
![]() |
62e0250560 | ||
![]() |
cd72744191 | ||
![]() |
c38fc91d9d | ||
![]() |
b76d1302b1 | ||
![]() |
bbbcbd2b23 | ||
![]() |
6c53b6664f | ||
![]() |
6f49a10c0c | ||
![]() |
ad190e72fe | ||
![]() |
259782bc5e | ||
![]() |
98ed2982ec | ||
![]() |
27dd8f698e | ||
![]() |
0bb88f2eda | ||
![]() |
0886756196 | ||
![]() |
1232a9d64c | ||
![]() |
a0ef0d32fe | ||
![]() |
96d14d009d | ||
![]() |
1fcc337ab7 | ||
![]() |
0f2c58a7cc | ||
![]() |
f4c8d08849 | ||
![]() |
5effaf1761 | ||
![]() |
940432bfee | ||
![]() |
3fa3b411f6 | ||
![]() |
59aaa96760 | ||
![]() |
f07e3fd77f | ||
![]() |
0fdcdfd35b | ||
![]() |
ed3de3f984 | ||
![]() |
f1840c82ae | ||
![]() |
b1ae386d8f | ||
![]() |
55d0e8bf1e | ||
![]() |
d5ffdf4330 | ||
![]() |
08b47b0ba7 | ||
![]() |
bae367bf31 | ||
![]() |
d7e05cabb9 | ||
![]() |
7cf8aa2e57 | ||
![]() |
8225ee4fc6 | ||
![]() |
ae72763b86 | ||
![]() |
2653a66f19 | ||
![]() |
0272238cb6 | ||
![]() |
87bb8a408c | ||
![]() |
38c7d87300 | ||
![]() |
544251e681 | ||
![]() |
79079a1588 | ||
![]() |
c90677d575 | ||
![]() |
544eab8907 | ||
![]() |
9b8fbbe710 | ||
![]() |
3cf40177fb | ||
![]() |
3a9b0d3b4f | ||
![]() |
30046f9723 | ||
![]() |
1944178657 | ||
![]() |
aa82816129 | ||
![]() |
ae6582d8c7 | ||
![]() |
d865a554b1 | ||
![]() |
a5b87a0d48 | ||
![]() |
56366d252e | ||
![]() |
40d0bbcd04 | ||
![]() |
337863256a | ||
![]() |
d536bf88ec | ||
![]() |
5a94b0cafc | ||
![]() |
d50dbef8b0 | ||
![]() |
6c22baa03c | ||
![]() |
7e6c59b984 | ||
![]() |
1e53c43669 | ||
![]() |
e1d6198d07 | ||
![]() |
3e95f45a26 | ||
![]() |
932bb5bb7c | ||
![]() |
bc217cf94d | ||
![]() |
9cd63043c7 | ||
![]() |
d574b31723 | ||
![]() |
f9f90a78aa | ||
![]() |
2751b27d8e | ||
![]() |
763cd2a116 | ||
![]() |
e35c881c60 | ||
![]() |
5ddd49417e | ||
![]() |
a536aeb484 | ||
![]() |
d556f0600c | ||
![]() |
86a070ba95 | ||
![]() |
8b43d65db7 | ||
![]() |
a442a10435 | ||
![]() |
0f19d7e7a3 | ||
![]() |
40b55f8623 | ||
![]() |
f0a9cb7eb5 | ||
![]() |
baf1cd6f6f | ||
![]() |
363da11e66 | ||
![]() |
a6ed269baf | ||
![]() |
bdd345a093 | ||
![]() |
c5ebba6a5f | ||
![]() |
f22219bc24 | ||
![]() |
b2c586c124 | ||
![]() |
d4e2e3855a | ||
![]() |
c14486d19c | ||
![]() |
59b965453e | ||
![]() |
7202c98a32 | ||
![]() |
4216da2c74 | ||
![]() |
f095be3ebf | ||
![]() |
6581ab3f07 | ||
![]() |
c8ef22ea1f | ||
![]() |
bd32283899 | ||
![]() |
ef180673e3 | ||
![]() |
50b0432d75 | ||
![]() |
7de9b3831a | ||
![]() |
cca505e8d7 | ||
![]() |
dc1a243d40 | ||
![]() |
a905829b4b | ||
![]() |
b02409072e | ||
![]() |
b4a187a288 | ||
![]() |
afcdf55278 | ||
![]() |
57009f9900 | ||
![]() |
30088827f8 | ||
![]() |
3cb256e558 | ||
![]() |
cc387a31a8 | ||
![]() |
255d499dd1 | ||
![]() |
035e220e4a | ||
![]() |
12ef109fb1 | ||
![]() |
7d72f76698 | ||
![]() |
33e4902051 | ||
![]() |
5bbdf2fba6 | ||
![]() |
6f259cefd2 | ||
![]() |
8ab3b8216d | ||
![]() |
e93f03c1e4 | ||
![]() |
38c207c315 | ||
![]() |
2bdc69ea0b | ||
![]() |
6daf9a2b07 | ||
![]() |
9f6ffa3b2e | ||
![]() |
e0d5aef2a3 | ||
![]() |
b61bc913ca | ||
![]() |
2ac08c9d70 | ||
![]() |
9e37910ee5 | ||
![]() |
0b8805bc3d | ||
![]() |
eadf410bbe | ||
![]() |
b735c4a72a | ||
![]() |
98f78cf864 | ||
![]() |
7d726253df | ||
![]() |
91824ad6c8 | ||
![]() |
55dc0cf6e0 | ||
![]() |
808cf6778b | ||
![]() |
d1c3493765 | ||
![]() |
85c11d850d | ||
![]() |
10680abda7 | ||
![]() |
200738a370 | ||
![]() |
6a8b73a2f3 | ||
![]() |
a66b7764f6 | ||
![]() |
0be1c37af5 | ||
![]() |
afe52a9cf8 | ||
![]() |
6ef0db07d1 | ||
![]() |
960163ea48 | ||
![]() |
ec9d4c1f18 | ||
![]() |
7f67534357 | ||
![]() |
f411b856f8 | ||
![]() |
e37cc98b6d | ||
![]() |
ac5787fa65 | ||
![]() |
e7e03c2743 | ||
![]() |
106c5f8f5c | ||
![]() |
83edce7155 | ||
![]() |
dff02a2998 | ||
![]() |
7769513ca5 | ||
![]() |
6014de4ee7 | ||
![]() |
73aedd8a72 | ||
![]() |
ec921b81ba | ||
![]() |
6c22afe293 | ||
![]() |
efb747ae43 | ||
![]() |
5028696803 | ||
![]() |
ae3ec197df | ||
![]() |
2970f04de9 | ||
![]() |
9d95878f07 | ||
![]() |
0c9ddbbfc5 | ||
![]() |
49733e1be3 | ||
![]() |
c648e063d0 | ||
![]() |
3822d8810c | ||
![]() |
0e286885a9 | ||
![]() |
15dc8460b4 | ||
![]() |
bb1d9165e4 | ||
![]() |
b3ad7dfa6d | ||
![]() |
3cc51b29df | ||
![]() |
78849085f0 | ||
![]() |
e3320c4084 | ||
![]() |
22e48de898 | ||
![]() |
7e6ede5392 | ||
![]() |
5a120d6807 | ||
![]() |
ca239f0353 | ||
![]() |
6a614f832e | ||
![]() |
163223d2ae | ||
![]() |
5e4f21998b | ||
![]() |
afa1845884 | ||
![]() |
c5dcdeeeb9 | ||
![]() |
0a28808076 | ||
![]() |
681addbc44 | ||
![]() |
3070b92a1a | ||
![]() |
3bc82f8ba2 | ||
![]() |
182dffbb2b | ||
![]() |
e6e9899fde | ||
![]() |
0c8ae83437 | ||
![]() |
12304b6c69 | ||
![]() |
d4821f4081 | ||
![]() |
f1db2b938a | ||
![]() |
62a2237b12 | ||
![]() |
5b601650c1 | ||
![]() |
4fff115484 | ||
![]() |
2030d6bedc | ||
![]() |
188183f268 | ||
![]() |
cc594845f2 | ||
![]() |
c2fc6d75f2 | ||
![]() |
1ab2060f49 | ||
![]() |
91a8c49b97 | ||
![]() |
8978d06c91 | ||
![]() |
91c14686eb | ||
![]() |
ba8724cf5a | ||
![]() |
2d85619f08 | ||
![]() |
051a214db7 | ||
![]() |
1003347044 | ||
![]() |
b53ab6b5c6 | ||
![]() |
df72ed55f2 | ||
![]() |
08795be652 | ||
![]() |
ec0e35123a | ||
![]() |
07725d6663 | ||
![]() |
83285cb60e | ||
![]() |
1435bb3c45 | ||
![]() |
3860aa554d | ||
![]() |
f9f4ab050a | ||
![]() |
8488eb63a7 | ||
![]() |
8a0fa4c063 | ||
![]() |
47ed4c56f3 | ||
![]() |
4e342e03f0 | ||
![]() |
f63b41b577 | ||
![]() |
20890304d0 | ||
![]() |
eff3d26529 | ||
![]() |
43b0074e9f | ||
![]() |
6aae9b8202 | ||
![]() |
1d9f2399f1 | ||
![]() |
59c66e6c28 | ||
![]() |
ef3d4e20a4 | ||
![]() |
27ced8e41c | ||
![]() |
2441f85244 | ||
![]() |
c1aaef52f7 | ||
![]() |
f07e641c06 | ||
![]() |
14d989aaab | ||
![]() |
57f18bb17e | ||
![]() |
5627741945 | ||
![]() |
dd9a30caed | ||
![]() |
478527cfe6 | ||
![]() |
94187f16f7 | ||
![]() |
166e7afc35 | ||
![]() |
b63e2ec1f4 | ||
![]() |
6427b9ec4c | ||
![]() |
3928e84760 | ||
![]() |
d7d4596fff | ||
![]() |
277b986d51 | ||
![]() |
70fee34609 | ||
![]() |
1d9548f814 | ||
![]() |
7236d3072e | ||
![]() |
ccb994294b | ||
![]() |
496fe74085 | ||
![]() |
54de76d0a0 | ||
![]() |
536652e4dc | ||
![]() |
dd26802d13 | ||
![]() |
e8d52cf39d | ||
![]() |
f805f4b19d | ||
![]() |
2d57c82700 | ||
![]() |
ca00466318 | ||
![]() |
826b9999b3 | ||
![]() |
83bf2fcdd6 | ||
![]() |
596f2b300a | ||
![]() |
f2a9a240e0 | ||
![]() |
4c99d651ea | ||
![]() |
a003309f46 | ||
![]() |
8556d05651 | ||
![]() |
3db4eca735 | ||
![]() |
a0b639e2b6 | ||
![]() |
c807ce6226 | ||
![]() |
5201b1530f | ||
![]() |
d9a1c49d7f | ||
![]() |
7c6f5f13e4 | ||
![]() |
36cad8502f | ||
![]() |
cfe24e69a0 | ||
![]() |
f27ab7a48b | ||
![]() |
009e37321d | ||
![]() |
fa0e18f327 | ||
![]() |
c522db57a9 | ||
![]() |
8d052559ca | ||
![]() |
4dd8d829c6 | ||
![]() |
ffd98aafb7 | ||
![]() |
a4a3651e5a | ||
![]() |
c7383c18b7 | ||
![]() |
213df74971 | ||
![]() |
7c94731cb5 | ||
![]() |
fe32c2d972 | ||
![]() |
f6dce5b285 | ||
![]() |
7898136626 | ||
![]() |
0eaa59c008 | ||
![]() |
508b537916 | ||
![]() |
86018220ee | ||
![]() |
bdf971b980 | ||
![]() |
7690419d07 | ||
![]() |
80c93464df | ||
![]() |
bdc7ea2b51 | ||
![]() |
adb76e1a32 | ||
![]() |
d6eda44a04 | ||
![]() |
84686dc330 | ||
![]() |
45666e1a97 | ||
![]() |
ca875bcec4 | ||
![]() |
d63d73fe8f | ||
![]() |
399c740564 | ||
![]() |
2175a47ef1 | ||
![]() |
d677d04dd3 | ||
![]() |
22312727ef | ||
![]() |
18428bba82 | ||
![]() |
0f6b4b5d10 | ||
![]() |
d711f6a262 | ||
![]() |
8709adfb27 | ||
![]() |
d36b6eaa23 | ||
![]() |
7682132e74 | ||
![]() |
b66e5d19eb | ||
![]() |
4a3e5f2feb | ||
![]() |
4566bbe5d9 | ||
![]() |
56599be5ff | ||
![]() |
b1f8fb4b57 | ||
![]() |
155991d08b | ||
![]() |
8e7e1286be | ||
![]() |
4b273b74cb | ||
![]() |
1fc6144cc0 | ||
![]() |
90e5588e5d | ||
![]() |
c57db8ae34 | ||
![]() |
634e4f7bbb | ||
![]() |
4f9889ce48 | ||
![]() |
55e5545d5b | ||
![]() |
8922818463 | ||
![]() |
1914d5fb39 | ||
![]() |
98df5fc473 | ||
![]() |
ae951cdfcc | ||
![]() |
a567590b51 | ||
![]() |
e76d7e56b6 | ||
![]() |
6d004c4bca | ||
![]() |
bab82c9802 | ||
![]() |
73a941a879 | ||
![]() |
868c89fd7e | ||
![]() |
c050ff8e3d | ||
![]() |
1fec873770 | ||
![]() |
877dae612d | ||
![]() |
5bf7da2074 | ||
![]() |
9c850f5235 | ||
![]() |
bd837d91ab | ||
![]() |
c4e1c722b1 | ||
![]() |
85e612ec79 |
79
.github/ISSUE_TEMPLATE/bug-report.yaml
vendored
Normal file
79
.github/ISSUE_TEMPLATE/bug-report.yaml
vendored
Normal file
@@ -0,0 +1,79 @@
|
|||||||
|
name: "\U0001F41B Bug Report"
|
||||||
|
title: "\U0001F41B [Bug]: "
|
||||||
|
description: Create a bug report to help us fix it.
|
||||||
|
labels: ["☢️ Bug"]
|
||||||
|
|
||||||
|
body:
|
||||||
|
- type: markdown
|
||||||
|
id: notice
|
||||||
|
attributes:
|
||||||
|
value: |
|
||||||
|
### Notice
|
||||||
|
- Dont't forget you can ask your questions on our [Discord server](https://gofiber.io/discord).
|
||||||
|
- If you think Fiber storage don't have a nice feature that you think, open the issue with **✏️ Feature Request** template.
|
||||||
|
- Write your issue with clear and understandable English.
|
||||||
|
- type: textarea
|
||||||
|
id: description
|
||||||
|
attributes:
|
||||||
|
label: "Bug Description"
|
||||||
|
description: "A clear and detailed description of what the bug is."
|
||||||
|
placeholder: "Explain your problem as clear and detailed."
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
- type: textarea
|
||||||
|
id: how-to-reproduce
|
||||||
|
attributes:
|
||||||
|
label: How to Reproduce
|
||||||
|
description: "Steps to reproduce the behavior and what should be observed in the end."
|
||||||
|
placeholder: "Tell us step by step how we can replicate your problem and what we should see in the end."
|
||||||
|
value: |
|
||||||
|
Steps to reproduce the behavior:
|
||||||
|
1. Go to '....'
|
||||||
|
2. Click on '....'
|
||||||
|
3. Do '....'
|
||||||
|
4. See '....'
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
- type: textarea
|
||||||
|
id: expected-behavior
|
||||||
|
attributes:
|
||||||
|
label: Expected Behavior
|
||||||
|
description: "A clear and detailed description of what you think should happens."
|
||||||
|
placeholder: "Tell us what storage should normally do."
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
- type: input
|
||||||
|
id: version
|
||||||
|
attributes:
|
||||||
|
label: "Storage package Version"
|
||||||
|
description: "Some bugs may be fixed in future storage releases, so we have to know your storage package version."
|
||||||
|
placeholder: "Write your storage version. (v1.0.0, v1.1.0...)"
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
- type: textarea
|
||||||
|
id: snippet
|
||||||
|
attributes:
|
||||||
|
label: "Code Snippet (optional)"
|
||||||
|
description: "For some issues, we need to know some parts of your code."
|
||||||
|
placeholder: "Share a code you think related to the issue."
|
||||||
|
render: go
|
||||||
|
value: |
|
||||||
|
package main
|
||||||
|
|
||||||
|
import "github.com/gofiber/storage/%package%"
|
||||||
|
|
||||||
|
func main() {
|
||||||
|
// Steps to reproduce
|
||||||
|
}
|
||||||
|
- type: checkboxes
|
||||||
|
id: terms
|
||||||
|
attributes:
|
||||||
|
label: "Checklist:"
|
||||||
|
description: "By submitting this issue, you confirm that:"
|
||||||
|
options:
|
||||||
|
- label: "I agree to follow Fiber's [Code of Conduct](https://github.com/gofiber/fiber/blob/master/.github/CODE_OF_CONDUCT.md)."
|
||||||
|
required: true
|
||||||
|
- label: "I have checked for existing issues that describe my problem prior to opening this one."
|
||||||
|
required: true
|
||||||
|
- label: "I understand that improperly formatted bug reports may be closed without explanation."
|
||||||
|
required: true
|
55
.github/ISSUE_TEMPLATE/feature-request.yaml
vendored
Normal file
55
.github/ISSUE_TEMPLATE/feature-request.yaml
vendored
Normal file
@@ -0,0 +1,55 @@
|
|||||||
|
name: "\U0001F680 Feature Request"
|
||||||
|
title: "\U0001F680 [Feature]: "
|
||||||
|
description: Suggest an idea to improve this project.
|
||||||
|
labels: ["✏️ Feature"]
|
||||||
|
|
||||||
|
body:
|
||||||
|
- type: markdown
|
||||||
|
id: notice
|
||||||
|
attributes:
|
||||||
|
value: |
|
||||||
|
### Notice
|
||||||
|
- Dont't forget you can ask your questions on our [Discord server](https://gofiber.io/discord).
|
||||||
|
- If you think this is just a bug, open the issue with **☢️ Bug Report** template.
|
||||||
|
- Write your issue with clear and understandable English.
|
||||||
|
- type: textarea
|
||||||
|
id: description
|
||||||
|
attributes:
|
||||||
|
label: "Feature Description"
|
||||||
|
description: "A clear and detailed description of the feature we need to do."
|
||||||
|
placeholder: "Explain your feature as clear and detailed."
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
- type: textarea
|
||||||
|
id: additional-context
|
||||||
|
attributes:
|
||||||
|
label: "Additional Context (optional)"
|
||||||
|
description: "If you have something else to describe, write them here."
|
||||||
|
placeholder: "Write here what you can describe differently."
|
||||||
|
- type: textarea
|
||||||
|
id: snippet
|
||||||
|
attributes:
|
||||||
|
label: "Code Snippet (optional)"
|
||||||
|
description: "Code snippet may be really helpful to describe some features."
|
||||||
|
placeholder: "Share a code to explain the feature better."
|
||||||
|
render: go
|
||||||
|
value: |
|
||||||
|
package main
|
||||||
|
|
||||||
|
import "github.com/gofiber/storage/%package%"
|
||||||
|
|
||||||
|
func main() {
|
||||||
|
// Steps to reproduce
|
||||||
|
}
|
||||||
|
- type: checkboxes
|
||||||
|
id: terms
|
||||||
|
attributes:
|
||||||
|
label: "Checklist:"
|
||||||
|
description: "By submitting this issue, you confirm that:"
|
||||||
|
options:
|
||||||
|
- label: "I agree to follow Fiber's [Code of Conduct](https://github.com/gofiber/fiber/blob/master/.github/CODE_OF_CONDUCT.md)."
|
||||||
|
required: true
|
||||||
|
- label: "I have checked for existing issues that describe my suggestion prior to opening this one."
|
||||||
|
required: true
|
||||||
|
- label: "I understand that improperly formatted feature requests may be closed without explanation."
|
||||||
|
required: true
|
50
.github/ISSUE_TEMPLATE/question.yaml
vendored
Normal file
50
.github/ISSUE_TEMPLATE/question.yaml
vendored
Normal file
@@ -0,0 +1,50 @@
|
|||||||
|
name: "🤔 Question"
|
||||||
|
title: "\U0001F917 [Question]: "
|
||||||
|
description: Ask a question so we can help you easily.
|
||||||
|
labels: ["🤔 Question"]
|
||||||
|
|
||||||
|
body:
|
||||||
|
- type: markdown
|
||||||
|
id: notice
|
||||||
|
attributes:
|
||||||
|
value: |
|
||||||
|
### Notice
|
||||||
|
- Dont't forget you can ask your questions on our [Discord server](https://gofiber.io/discord).
|
||||||
|
- If you think this is just a bug, open the issue with **☢️ Bug Report** template.
|
||||||
|
- If you think Fiber storage don't have a nice feature that you think, open the issue with **✏️ Feature Request** template.
|
||||||
|
- Write your issue with clear and understandable English.
|
||||||
|
- type: textarea
|
||||||
|
id: description
|
||||||
|
attributes:
|
||||||
|
label: "Question Description"
|
||||||
|
description: "A clear and detailed description of the question."
|
||||||
|
placeholder: "Explain your question as clear and detailed."
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
- type: textarea
|
||||||
|
id: snippet
|
||||||
|
attributes:
|
||||||
|
label: "Code Snippet (optional)"
|
||||||
|
description: "Code snippet may be really helpful to describe some features."
|
||||||
|
placeholder: "Share a code to explain the feature better."
|
||||||
|
render: go
|
||||||
|
value: |
|
||||||
|
package main
|
||||||
|
|
||||||
|
import "github.com/gofiber/storage/%package%"
|
||||||
|
|
||||||
|
func main() {
|
||||||
|
// Steps to reproduce
|
||||||
|
}
|
||||||
|
- type: checkboxes
|
||||||
|
id: terms
|
||||||
|
attributes:
|
||||||
|
label: "Checklist:"
|
||||||
|
description: "By submitting this issue, you confirm that:"
|
||||||
|
options:
|
||||||
|
- label: "I agree to follow Fiber's [Code of Conduct](https://github.com/gofiber/fiber/blob/master/.github/CODE_OF_CONDUCT.md)."
|
||||||
|
required: true
|
||||||
|
- label: "I have checked for existing issues that describe my questions prior to opening this one."
|
||||||
|
required: true
|
||||||
|
- label: "I understand that improperly formatted questions may be closed without explanation."
|
||||||
|
required: true
|
18
.github/dependabot.yml
vendored
18
.github/dependabot.yml
vendored
@@ -26,6 +26,24 @@ updates:
|
|||||||
- "🤖 Dependencies"
|
- "🤖 Dependencies"
|
||||||
schedule:
|
schedule:
|
||||||
interval: "daily"
|
interval: "daily"
|
||||||
|
- package-ecosystem: "gomod"
|
||||||
|
directory: "/couchbase/" # 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"
|
- package-ecosystem: "gomod"
|
||||||
directory: "/dynamodb/" # Location of package manifests
|
directory: "/dynamodb/" # Location of package manifests
|
||||||
labels:
|
labels:
|
||||||
|
20
.github/labeler.yml
vendored
Normal file
20
.github/labeler.yml
vendored
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
version: v1
|
||||||
|
labels:
|
||||||
|
- label: '📒 Documentation'
|
||||||
|
matcher:
|
||||||
|
title: '\b(docs|doc:|\[doc\]|README|typos|comment|documentation)\b'
|
||||||
|
- label: '☢️ Bug'
|
||||||
|
matcher:
|
||||||
|
title: '\b(fix|race|bug|missing|correct)\b'
|
||||||
|
- label: '🧹 Updates'
|
||||||
|
matcher:
|
||||||
|
title: '\b(improve|update|refactor|deprecated|remove|unused|test)\b'
|
||||||
|
- label: '🤖 Dependencies'
|
||||||
|
matcher:
|
||||||
|
title: '\b(bumb|bdependencies)\b'
|
||||||
|
- label: '✏️ Feature'
|
||||||
|
matcher:
|
||||||
|
title: '\b(feature|create|implement|add)\b'
|
||||||
|
- label: '🤔 Question'
|
||||||
|
matcher:
|
||||||
|
title: '\b(question|how)\b'
|
9
.github/logo-dark.svg
vendored
Normal file
9
.github/logo-dark.svg
vendored
Normal file
File diff suppressed because one or more lines are too long
After Width: | Height: | Size: 14 KiB |
9
.github/logo.svg
vendored
Normal file
9
.github/logo.svg
vendored
Normal file
File diff suppressed because one or more lines are too long
After Width: | Height: | Size: 14 KiB |
43
.github/release-drafter-arangodb.yml
vendored
Normal file
43
.github/release-drafter-arangodb.yml
vendored
Normal file
@@ -0,0 +1,43 @@
|
|||||||
|
name-template: 'ArangoDB - v$RESOLVED_VERSION'
|
||||||
|
tag-template: 'arangodb/v$RESOLVED_VERSION'
|
||||||
|
tag-prefix: arangodb/v
|
||||||
|
include-paths:
|
||||||
|
- arangodb
|
||||||
|
categories:
|
||||||
|
- 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.
|
||||||
|
version-resolver:
|
||||||
|
major:
|
||||||
|
labels:
|
||||||
|
- 'major'
|
||||||
|
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...arangodb/v$RESOLVED_VERSION
|
||||||
|
|
||||||
|
Thank you $CONTRIBUTORS for making this update possible.
|
43
.github/release-drafter-azureblob.yml
vendored
Normal file
43
.github/release-drafter-azureblob.yml
vendored
Normal file
@@ -0,0 +1,43 @@
|
|||||||
|
name-template: 'Azure Blob - v$RESOLVED_VERSION'
|
||||||
|
tag-template: 'azureblob/v$RESOLVED_VERSION'
|
||||||
|
tag-prefix: azureblob/v
|
||||||
|
include-paths:
|
||||||
|
- azureblob
|
||||||
|
categories:
|
||||||
|
- 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.
|
||||||
|
version-resolver:
|
||||||
|
major:
|
||||||
|
labels:
|
||||||
|
- 'major'
|
||||||
|
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.
|
43
.github/release-drafter-badger.yml
vendored
Normal file
43
.github/release-drafter-badger.yml
vendored
Normal file
@@ -0,0 +1,43 @@
|
|||||||
|
name-template: 'Badger - v$RESOLVED_VERSION'
|
||||||
|
tag-template: 'badger/v$RESOLVED_VERSION'
|
||||||
|
tag-prefix: badger/v
|
||||||
|
include-paths:
|
||||||
|
- badger
|
||||||
|
categories:
|
||||||
|
- 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.
|
||||||
|
version-resolver:
|
||||||
|
major:
|
||||||
|
labels:
|
||||||
|
- 'major'
|
||||||
|
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.
|
43
.github/release-drafter-bbolt.yml
vendored
Normal file
43
.github/release-drafter-bbolt.yml
vendored
Normal file
@@ -0,0 +1,43 @@
|
|||||||
|
name-template: 'Bbolt - v$RESOLVED_VERSION'
|
||||||
|
tag-template: 'bbolt/v$RESOLVED_VERSION'
|
||||||
|
tag-prefix: bbolt/v
|
||||||
|
include-paths:
|
||||||
|
- bbolt
|
||||||
|
categories:
|
||||||
|
- 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.
|
||||||
|
version-resolver:
|
||||||
|
major:
|
||||||
|
labels:
|
||||||
|
- 'major'
|
||||||
|
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.
|
43
.github/release-drafter-couchbase.yml
vendored
Normal file
43
.github/release-drafter-couchbase.yml
vendored
Normal file
@@ -0,0 +1,43 @@
|
|||||||
|
name-template: 'Couchbase - v$RESOLVED_VERSION'
|
||||||
|
tag-template: 'couchbase/v$RESOLVED_VERSION'
|
||||||
|
tag-prefix: couchbase/v
|
||||||
|
include-paths:
|
||||||
|
- couchbase
|
||||||
|
categories:
|
||||||
|
- 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.
|
||||||
|
version-resolver:
|
||||||
|
major:
|
||||||
|
labels:
|
||||||
|
- 'major'
|
||||||
|
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.
|
43
.github/release-drafter-dynamodb.yml
vendored
Normal file
43
.github/release-drafter-dynamodb.yml
vendored
Normal file
@@ -0,0 +1,43 @@
|
|||||||
|
name-template: 'DynamoDB - v$RESOLVED_VERSION'
|
||||||
|
tag-template: 'dynamodb/v$RESOLVED_VERSION'
|
||||||
|
tag-prefix: dynamodb/v
|
||||||
|
include-paths:
|
||||||
|
- dynamodb
|
||||||
|
categories:
|
||||||
|
- 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.
|
||||||
|
version-resolver:
|
||||||
|
major:
|
||||||
|
labels:
|
||||||
|
- 'major'
|
||||||
|
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.
|
43
.github/release-drafter-etcd.yml
vendored
Normal file
43
.github/release-drafter-etcd.yml
vendored
Normal file
@@ -0,0 +1,43 @@
|
|||||||
|
name-template: 'Etcd - v$RESOLVED_VERSION'
|
||||||
|
tag-template: 'etcd/v$RESOLVED_VERSION'
|
||||||
|
tag-prefix: etcd/v
|
||||||
|
include-paths:
|
||||||
|
- etcd
|
||||||
|
categories:
|
||||||
|
- 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.
|
||||||
|
version-resolver:
|
||||||
|
major:
|
||||||
|
labels:
|
||||||
|
- 'major'
|
||||||
|
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.
|
43
.github/release-drafter-memcache.yml
vendored
Normal file
43
.github/release-drafter-memcache.yml
vendored
Normal file
@@ -0,0 +1,43 @@
|
|||||||
|
name-template: 'Memcache - v$RESOLVED_VERSION'
|
||||||
|
tag-template: 'memcache/v$RESOLVED_VERSION'
|
||||||
|
tag-prefix: memcache/v
|
||||||
|
include-paths:
|
||||||
|
- memcache
|
||||||
|
categories:
|
||||||
|
- 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.
|
||||||
|
version-resolver:
|
||||||
|
major:
|
||||||
|
labels:
|
||||||
|
- 'major'
|
||||||
|
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.
|
43
.github/release-drafter-memory.yml
vendored
Normal file
43
.github/release-drafter-memory.yml
vendored
Normal file
@@ -0,0 +1,43 @@
|
|||||||
|
name-template: 'Memory - v$RESOLVED_VERSION'
|
||||||
|
tag-template: 'memory/v$RESOLVED_VERSION'
|
||||||
|
tag-prefix: memory/v
|
||||||
|
include-paths:
|
||||||
|
- memory
|
||||||
|
categories:
|
||||||
|
- 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.
|
||||||
|
version-resolver:
|
||||||
|
major:
|
||||||
|
labels:
|
||||||
|
- 'major'
|
||||||
|
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.
|
43
.github/release-drafter-mongodb.yml
vendored
Normal file
43
.github/release-drafter-mongodb.yml
vendored
Normal file
@@ -0,0 +1,43 @@
|
|||||||
|
name-template: 'MongoDB - v$RESOLVED_VERSION'
|
||||||
|
tag-template: 'mongodb/v$RESOLVED_VERSION'
|
||||||
|
tag-prefix: mongodb/v
|
||||||
|
include-paths:
|
||||||
|
- mongodb
|
||||||
|
categories:
|
||||||
|
- 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.
|
||||||
|
version-resolver:
|
||||||
|
major:
|
||||||
|
labels:
|
||||||
|
- 'major'
|
||||||
|
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.
|
43
.github/release-drafter-mssql.yml
vendored
Normal file
43
.github/release-drafter-mssql.yml
vendored
Normal file
@@ -0,0 +1,43 @@
|
|||||||
|
name-template: 'MSSQL - v$RESOLVED_VERSION'
|
||||||
|
tag-template: 'mssql/v$RESOLVED_VERSION'
|
||||||
|
tag-prefix: mssql/v
|
||||||
|
include-paths:
|
||||||
|
- mssql
|
||||||
|
categories:
|
||||||
|
- 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.
|
||||||
|
version-resolver:
|
||||||
|
major:
|
||||||
|
labels:
|
||||||
|
- 'major'
|
||||||
|
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.
|
43
.github/release-drafter-mysql.yml
vendored
Normal file
43
.github/release-drafter-mysql.yml
vendored
Normal file
@@ -0,0 +1,43 @@
|
|||||||
|
name-template: 'MySQL - v$RESOLVED_VERSION'
|
||||||
|
tag-template: 'mysql/v$RESOLVED_VERSION'
|
||||||
|
tag-prefix: mysql/v
|
||||||
|
include-paths:
|
||||||
|
- mysql
|
||||||
|
categories:
|
||||||
|
- 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.
|
||||||
|
version-resolver:
|
||||||
|
major:
|
||||||
|
labels:
|
||||||
|
- 'major'
|
||||||
|
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.
|
43
.github/release-drafter-pebble.yml
vendored
Normal file
43
.github/release-drafter-pebble.yml
vendored
Normal file
@@ -0,0 +1,43 @@
|
|||||||
|
name-template: "Pebble - v$RESOLVED_VERSION"
|
||||||
|
tag-template: "pebble/v$RESOLVED_VERSION"
|
||||||
|
tag-prefix: pebble/v
|
||||||
|
include-paths:
|
||||||
|
- pebble
|
||||||
|
categories:
|
||||||
|
- 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.
|
||||||
|
version-resolver:
|
||||||
|
major:
|
||||||
|
labels:
|
||||||
|
- "major"
|
||||||
|
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.
|
43
.github/release-drafter-postgres.yml
vendored
Normal file
43
.github/release-drafter-postgres.yml
vendored
Normal file
@@ -0,0 +1,43 @@
|
|||||||
|
name-template: 'Postgres - v$RESOLVED_VERSION'
|
||||||
|
tag-template: 'postgres/v$RESOLVED_VERSION'
|
||||||
|
tag-prefix: postgres/v
|
||||||
|
include-paths:
|
||||||
|
- postgres
|
||||||
|
categories:
|
||||||
|
- 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.
|
||||||
|
version-resolver:
|
||||||
|
major:
|
||||||
|
labels:
|
||||||
|
- 'major'
|
||||||
|
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.
|
43
.github/release-drafter-redis.yml
vendored
Normal file
43
.github/release-drafter-redis.yml
vendored
Normal file
@@ -0,0 +1,43 @@
|
|||||||
|
name-template: 'Redis - v$RESOLVED_VERSION'
|
||||||
|
tag-template: 'redis/v$RESOLVED_VERSION'
|
||||||
|
tag-prefix: redis/v
|
||||||
|
include-paths:
|
||||||
|
- redis
|
||||||
|
categories:
|
||||||
|
- 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.
|
||||||
|
version-resolver:
|
||||||
|
major:
|
||||||
|
labels:
|
||||||
|
- 'major'
|
||||||
|
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.
|
43
.github/release-drafter-ristretto.yml
vendored
Normal file
43
.github/release-drafter-ristretto.yml
vendored
Normal file
@@ -0,0 +1,43 @@
|
|||||||
|
name-template: 'Ristretto - v$RESOLVED_VERSION'
|
||||||
|
tag-template: 'ristretto/v$RESOLVED_VERSION'
|
||||||
|
tag-prefix: ristretto/v
|
||||||
|
include-paths:
|
||||||
|
- ristretto
|
||||||
|
categories:
|
||||||
|
- 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.
|
||||||
|
version-resolver:
|
||||||
|
major:
|
||||||
|
labels:
|
||||||
|
- 'major'
|
||||||
|
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.
|
43
.github/release-drafter-s3.yml
vendored
Normal file
43
.github/release-drafter-s3.yml
vendored
Normal file
@@ -0,0 +1,43 @@
|
|||||||
|
name-template: 'S3 - v$RESOLVED_VERSION'
|
||||||
|
tag-template: 's3/v$RESOLVED_VERSION'
|
||||||
|
tag-prefix: s3/v
|
||||||
|
include-paths:
|
||||||
|
- s3
|
||||||
|
categories:
|
||||||
|
- 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.
|
||||||
|
version-resolver:
|
||||||
|
major:
|
||||||
|
labels:
|
||||||
|
- 'major'
|
||||||
|
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.
|
43
.github/release-drafter-sqlite3.yml
vendored
Normal file
43
.github/release-drafter-sqlite3.yml
vendored
Normal file
@@ -0,0 +1,43 @@
|
|||||||
|
name-template: 'SQLite3 - v$RESOLVED_VERSION'
|
||||||
|
tag-template: 'sqlite3/v$RESOLVED_VERSION'
|
||||||
|
tag-prefix: sqlite3/v
|
||||||
|
include-paths:
|
||||||
|
- sqlite3
|
||||||
|
categories:
|
||||||
|
- 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.
|
||||||
|
version-resolver:
|
||||||
|
major:
|
||||||
|
labels:
|
||||||
|
- 'major'
|
||||||
|
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.
|
96
.github/release-drafter.yml
vendored
96
.github/release-drafter.yml
vendored
@@ -1,96 +0,0 @@
|
|||||||
name-template: 'v$RESOLVED_VERSION'
|
|
||||||
tag-template: 'v$RESOLVED_VERSION'
|
|
||||||
categories:
|
|
||||||
- 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.
|
|
||||||
sort-by: 'title'
|
|
||||||
version-resolver:
|
|
||||||
major:
|
|
||||||
labels:
|
|
||||||
- 'major'
|
|
||||||
minor:
|
|
||||||
labels:
|
|
||||||
- 'minor'
|
|
||||||
- '✏️ Feature'
|
|
||||||
patch:
|
|
||||||
labels:
|
|
||||||
- 'patch'
|
|
||||||
- '📒 Documentation'
|
|
||||||
- '☢️ Bug'
|
|
||||||
- '🤖 Dependencies'
|
|
||||||
- '🧹 Updates'
|
|
||||||
default: patch
|
|
||||||
autolabeler:
|
|
||||||
- label: '📒 Documentation'
|
|
||||||
title:
|
|
||||||
- '/docs/i'
|
|
||||||
- '/doc:/i'
|
|
||||||
- '/\[doc\]/i'
|
|
||||||
- '/README/i'
|
|
||||||
- '/typos/i'
|
|
||||||
- '/comment/i'
|
|
||||||
- '/📚/i'
|
|
||||||
- '/📒/i'
|
|
||||||
- '/📝/i'
|
|
||||||
- '/documentation/i'
|
|
||||||
- label: '☢️ Bug'
|
|
||||||
title:
|
|
||||||
- '/fix/i'
|
|
||||||
- '/race/i'
|
|
||||||
- '/bug/i'
|
|
||||||
- '/missing/i'
|
|
||||||
- '/correct/i'
|
|
||||||
- '/🐛/i'
|
|
||||||
- '/☢/i'
|
|
||||||
- '/🩹/i'
|
|
||||||
- '/🚨/i'
|
|
||||||
- label: '🧹 Updates'
|
|
||||||
title:
|
|
||||||
- '/improve/i'
|
|
||||||
- '/update/i'
|
|
||||||
- '/refactor/i'
|
|
||||||
- '/deprecated/i'
|
|
||||||
- '/remove/i'
|
|
||||||
- '/unused/i'
|
|
||||||
- '/test/i'
|
|
||||||
- '/⚡/i'
|
|
||||||
- '/👷/i'
|
|
||||||
- '/🚧/i'
|
|
||||||
- '/♻️/i'
|
|
||||||
- '/🎨/i'
|
|
||||||
- '/🧪/i'
|
|
||||||
- '/🧹/i'
|
|
||||||
- label: '🤖 Dependencies'
|
|
||||||
title:
|
|
||||||
- '/bumb/i'
|
|
||||||
- '/dependencies/i'
|
|
||||||
- '/📦/i'
|
|
||||||
- '/🤖/i'
|
|
||||||
- label: '✏️ Feature'
|
|
||||||
title:
|
|
||||||
- '/feature/i'
|
|
||||||
- '/create/i'
|
|
||||||
- '/implement/i'
|
|
||||||
- '/add/i'
|
|
||||||
- '/🚀/i'
|
|
||||||
- '/✨/i'
|
|
||||||
- '/🔥/i'
|
|
||||||
template: |
|
|
||||||
$CHANGES
|
|
||||||
|
|
||||||
**Full Changelog**: https://github.com/$OWNER/$REPOSITORY/compare/$PREVIOUS_TAG...v$RESOLVED_VERSION
|
|
||||||
|
|
||||||
Thank you $CONTRIBUTORS for making this update possible.
|
|
64
.github/scripts/sync_docs.sh
vendored
Executable file
64
.github/scripts/sync_docs.sh
vendored
Executable file
@@ -0,0 +1,64 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
# Some env variables
|
||||||
|
BRANCH="main"
|
||||||
|
REPO_URL="github.com/gofiber/docs.git"
|
||||||
|
AUTHOR_EMAIL="github-actions[bot]@users.noreply.github.com"
|
||||||
|
AUTHOR_USERNAME="github-actions[bot]"
|
||||||
|
VERSION_FILE="storage_versions.json"
|
||||||
|
REPO_DIR="storage"
|
||||||
|
COMMIT_URL="https://github.com/gofiber/storage"
|
||||||
|
DOCUSAURUS_COMMAND="npm run docusaurus -- docs:version:storage"
|
||||||
|
|
||||||
|
# Set commit author
|
||||||
|
git config --global user.email "${AUTHOR_EMAIL}"
|
||||||
|
git config --global user.name "${AUTHOR_USERNAME}"
|
||||||
|
|
||||||
|
git clone https://${TOKEN}@${REPO_URL} fiber-docs
|
||||||
|
|
||||||
|
# Handle push event
|
||||||
|
if [ "$EVENT" == "push" ]; then
|
||||||
|
latest_commit=$(git rev-parse --short HEAD)
|
||||||
|
|
||||||
|
for f in $(find . -type f -name "*.md" -not -path "./fiber-docs/*"); do
|
||||||
|
log_output=$(git log --oneline "${BRANCH}" HEAD~1..HEAD --name-status -- "${f}")
|
||||||
|
|
||||||
|
if [[ $log_output != "" || ! -f "fiber-docs/docs/${REPO_DIR}/$f" ]]; then
|
||||||
|
mkdir -p fiber-docs/docs/${REPO_DIR}/$(dirname $f)
|
||||||
|
cp "${f}" fiber-docs/docs/${REPO_DIR}/$f
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
# Handle release event
|
||||||
|
elif [ "$EVENT" == "release" ]; then
|
||||||
|
# Extract package name from tag
|
||||||
|
package_name="${TAG_NAME%/*}"
|
||||||
|
major_version="${TAG_NAME#*/}"
|
||||||
|
major_version="${major_version%%.*}"
|
||||||
|
|
||||||
|
# Form new version name
|
||||||
|
new_version="${package_name}_${major_version}.x.x"
|
||||||
|
|
||||||
|
cd fiber-docs/ || true
|
||||||
|
npm ci
|
||||||
|
|
||||||
|
# Check if contrib_versions.json exists and modify it if required
|
||||||
|
if [[ -f $VERSION_FILE ]]; then
|
||||||
|
jq --arg new_version "$new_version" 'del(.[] | select(. == $new_version))' $VERSION_FILE > temp.json && mv temp.json $VERSION_FILE
|
||||||
|
jq -S . ${VERSION_FILE} > temp.json && mv temp.json ${VERSION_FILE}
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Run docusaurus versioning command
|
||||||
|
$DOCUSAURUS_COMMAND "${new_version}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Push changes
|
||||||
|
cd fiber-docs/ || true
|
||||||
|
git add .
|
||||||
|
if [[ $EVENT == "push" ]]; then
|
||||||
|
git commit -m "Add docs from ${COMMIT_URL}/commit/${latest_commit}"
|
||||||
|
elif [[ $EVENT == "release" ]]; then
|
||||||
|
git commit -m "Sync docs for release ${COMMIT_URL}/releases/tag/${TAG_NAME}"
|
||||||
|
fi
|
||||||
|
git pull
|
||||||
|
git push https://${TOKEN}@${REPO_URL}
|
22
.github/workflows/auto-labeler.yml
vendored
Normal file
22
.github/workflows/auto-labeler.yml
vendored
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
name: Auto labeler
|
||||||
|
on:
|
||||||
|
issues:
|
||||||
|
types: [ opened, edited, milestoned ]
|
||||||
|
pull_request_target:
|
||||||
|
types: [ opened ]
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
issues: write
|
||||||
|
pull-requests: write
|
||||||
|
statuses: write
|
||||||
|
checks: write
|
||||||
|
jobs:
|
||||||
|
labeler:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
if: ${{ github.actor != 'dependabot[bot]' }}
|
||||||
|
steps:
|
||||||
|
- name: Check Labels
|
||||||
|
id: labeler
|
||||||
|
uses: fuxingloh/multi-labeler@v2
|
||||||
|
with:
|
||||||
|
github-token: ${{secrets.GITHUB_TOKEN}}
|
4
.github/workflows/dependabot_automerge.yml
vendored
4
.github/workflows/dependabot_automerge.yml
vendored
@@ -12,7 +12,7 @@ jobs:
|
|||||||
if: ${{ github.actor == 'dependabot[bot]' }}
|
if: ${{ github.actor == 'dependabot[bot]' }}
|
||||||
steps:
|
steps:
|
||||||
- name: Wait for check is finished
|
- name: Wait for check is finished
|
||||||
uses: lewagon/wait-on-check-action@v1.2.0
|
uses: lewagon/wait-on-check-action@v1.3.1
|
||||||
id: wait_for_checks
|
id: wait_for_checks
|
||||||
with:
|
with:
|
||||||
ref: ${{ github.event.pull_request.head.sha || github.sha }}
|
ref: ${{ github.event.pull_request.head.sha || github.sha }}
|
||||||
@@ -28,7 +28,7 @@ jobs:
|
|||||||
steps:
|
steps:
|
||||||
- name: Dependabot metadata
|
- name: Dependabot metadata
|
||||||
id: metadata
|
id: metadata
|
||||||
uses: dependabot/fetch-metadata@v1.3.6
|
uses: dependabot/fetch-metadata@v1.6.0
|
||||||
with:
|
with:
|
||||||
github-token: "${{ secrets.PR_TOKEN }}"
|
github-token: "${{ secrets.PR_TOKEN }}"
|
||||||
- name: Enable auto-merge for Dependabot PRs
|
- name: Enable auto-merge for Dependabot PRs
|
||||||
|
31
.github/workflows/golangci-lint.yml
vendored
Normal file
31
.github/workflows/golangci-lint.yml
vendored
Normal file
@@ -0,0 +1,31 @@
|
|||||||
|
name: Golangci Lint Check
|
||||||
|
|
||||||
|
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:
|
||||||
|
golangci-lint:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Fetch Repository
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
- name: Run golangci-lint
|
||||||
|
uses: reviewdog/action-golangci-lint@v2
|
||||||
|
with:
|
||||||
|
golangci_lint_flags: "--tests=false"
|
114
.github/workflows/gosec.yml
vendored
Normal file
114
.github/workflows/gosec.yml
vendored
Normal file
@@ -0,0 +1,114 @@
|
|||||||
|
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@v3
|
||||||
|
- name: Install Go
|
||||||
|
uses: actions/setup-go@v4
|
||||||
|
with:
|
||||||
|
go-version: '^1.18.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 -exclude-dir=arangodb -exclude-dir=badger -exclude-dir=couchbase -exclude-dir=dynamodb -exclude-dir=etcd -exclude-dir=memcache -exclude-dir=memory -exclude-dir=mongodb -exclude-dir=mysql -exclude-dir=postgres -exclude-dir=redis -exclude-dir=ristretto -exclude-dir=sqlite3 -exclude-dir=s3 -exclude-dir=bbolt -exclude-dir=azureblob -exclude-dir=mssql -exclude-dir=pebble ./....
|
||||||
|
# -----
|
||||||
|
- 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 (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 (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 ./...
|
||||||
|
# -----
|
39
.github/workflows/govulncheck.yml
vendored
Normal file
39
.github/workflows/govulncheck.yml
vendored
Normal file
@@ -0,0 +1,39 @@
|
|||||||
|
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@v3
|
||||||
|
- 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 ./...
|
17
.github/workflows/linter.yml
vendored
17
.github/workflows/linter.yml
vendored
@@ -1,17 +0,0 @@
|
|||||||
on:
|
|
||||||
push:
|
|
||||||
branches:
|
|
||||||
- master
|
|
||||||
- main
|
|
||||||
pull_request:
|
|
||||||
name: Linter
|
|
||||||
jobs:
|
|
||||||
Golint:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- name: Fetch Repository
|
|
||||||
uses: actions/checkout@v3
|
|
||||||
- name: Run Golint
|
|
||||||
uses: reviewdog/action-golangci-lint@v2
|
|
||||||
with:
|
|
||||||
golangci_lint_flags: "--tests=false"
|
|
19
.github/workflows/release-drafter-arangodb.yml
vendored
Normal file
19
.github/workflows/release-drafter-arangodb.yml
vendored
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
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
Normal file
19
.github/workflows/release-drafter-azureblob.yml
vendored
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
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
Normal file
19
.github/workflows/release-drafter-badger.yml
vendored
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
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
Normal file
19
.github/workflows/release-drafter-bbolt.yml
vendored
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
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-couchbase.yml
vendored
Normal file
19
.github/workflows/release-drafter-couchbase.yml
vendored
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
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
Normal file
19
.github/workflows/release-drafter-dynamodb.yml
vendored
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
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
Normal file
19
.github/workflows/release-drafter-etcd.yml
vendored
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
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
Normal file
19
.github/workflows/release-drafter-memcache.yml
vendored
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
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-mongodb.yml
vendored
Normal file
19
.github/workflows/release-drafter-mongodb.yml
vendored
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
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
Normal file
19
.github/workflows/release-drafter-mssql.yml
vendored
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
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
Normal file
19
.github/workflows/release-drafter-mysql.yml
vendored
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
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
Normal file
19
.github/workflows/release-drafter-pebble.yml
vendored
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
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
Normal file
19
.github/workflows/release-drafter-postgres.yml
vendored
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
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
Normal file
19
.github/workflows/release-drafter-redis.yml
vendored
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
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
Normal file
19
.github/workflows/release-drafter-ristretto.yml
vendored
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
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-s3.yml
vendored
Normal file
19
.github/workflows/release-drafter-s3.yml
vendored
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
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
Normal file
20
.github/workflows/release-drafter-sqlite3.yml
vendored
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
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 }}
|
||||||
|
|
30
.github/workflows/release-drafter.yml
vendored
30
.github/workflows/release-drafter.yml
vendored
@@ -1,30 +0,0 @@
|
|||||||
name: Release Drafter
|
|
||||||
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
# branches to consider in the event; optional, defaults to all
|
|
||||||
branches:
|
|
||||||
- master
|
|
||||||
- main
|
|
||||||
# pull_request event is required only for autolabeler
|
|
||||||
pull_request:
|
|
||||||
# Only following types are handled by the action, but one can default to all as well
|
|
||||||
types: [opened, reopened, synchronize]
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
update_release_draft:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
# (Optional) GitHub Enterprise requires GHE_HOST variable set
|
|
||||||
#- name: Set GHE_HOST
|
|
||||||
# run: |
|
|
||||||
# echo "GHE_HOST=${GITHUB_SERVER_URL##https:\/\/}" >> $GITHUB_ENV
|
|
||||||
|
|
||||||
# Drafts your next Release notes as Pull Requests are merged into "master"
|
|
||||||
- uses: release-drafter/release-drafter@v5
|
|
||||||
# (Optional) specify config name to use, relative to .github/. Default: release-drafter.yml
|
|
||||||
# with:
|
|
||||||
# config-name: my-config.yml
|
|
||||||
# disable-autolabeler: true
|
|
||||||
env:
|
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
85
.github/workflows/security.yml
vendored
85
.github/workflows/security.yml
vendored
@@ -1,85 +0,0 @@
|
|||||||
on:
|
|
||||||
push:
|
|
||||||
branches:
|
|
||||||
- master
|
|
||||||
- main
|
|
||||||
pull_request:
|
|
||||||
name: Security
|
|
||||||
jobs:
|
|
||||||
Gosec:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- name: Fetch Repository
|
|
||||||
uses: actions/checkout@v3
|
|
||||||
- name: Install Go
|
|
||||||
uses: actions/setup-go@v3
|
|
||||||
with:
|
|
||||||
go-version: '^1.17.6'
|
|
||||||
- name: Install Gosec
|
|
||||||
run: |
|
|
||||||
export PATH=${PATH}:`go env GOPATH`/bin
|
|
||||||
go install github.com/securego/gosec/v2/cmd/gosec@latest
|
|
||||||
- name: Run Gosec (root)
|
|
||||||
working-directory: .
|
|
||||||
run: "`go env GOPATH`/bin/gosec -exclude-dir=internal -exclude-dir=arangodb -exclude-dir=badger -exclude-dir=dynamodb -exclude-dir=memcache -exclude-dir=memory -exclude-dir=mongodb -exclude-dir=mysql -exclude-dir=postgres -exclude-dir=redis -exclude-dir=ristretto -exclude-dir=sqlite3 -exclude-dir=s3 -exclude-dir=bbolt -exclude-dir=azureblob -exclude-dir=mssql ./..."
|
|
||||||
# -----
|
|
||||||
- name: Run Gosec (arangodb)
|
|
||||||
working-directory: ./arangodb
|
|
||||||
run: "`go env GOPATH`/bin/gosec -exclude-dir=internal ./..."
|
|
||||||
# -----
|
|
||||||
- name: Run Gosec (badger)
|
|
||||||
working-directory: ./badger
|
|
||||||
run: "`go env GOPATH`/bin/gosec -exclude-dir=internal ./..."
|
|
||||||
# -----
|
|
||||||
- name: Run Gosec (dynamodb)
|
|
||||||
working-directory: ./dynamodb
|
|
||||||
run: "`go env GOPATH`/bin/gosec -exclude-dir=internal ./..."
|
|
||||||
# -----
|
|
||||||
- name: Run Gosec (memcache)
|
|
||||||
working-directory: ./memcache
|
|
||||||
run: "`go env GOPATH`/bin/gosec -exclude-dir=internal ./..."
|
|
||||||
# -----
|
|
||||||
- name: Run Gosec (memory)
|
|
||||||
working-directory: ./memory
|
|
||||||
run: "`go env GOPATH`/bin/gosec -exclude-dir=internal ./..."
|
|
||||||
# -----
|
|
||||||
- name: Run Gosec (mongodb)
|
|
||||||
working-directory: ./mongodb
|
|
||||||
run: "`go env GOPATH`/bin/gosec -exclude-dir=internal ./..."
|
|
||||||
# -----
|
|
||||||
- name: Run Gosec (mysql)
|
|
||||||
working-directory: ./mysql
|
|
||||||
run: "`go env GOPATH`/bin/gosec -exclude-dir=internal ./..."
|
|
||||||
# -----
|
|
||||||
- name: Run Gosec (postgres)
|
|
||||||
working-directory: ./postgres
|
|
||||||
run: "`go env GOPATH`/bin/gosec -exclude-dir=internal ./..."
|
|
||||||
# -----
|
|
||||||
- name: Run Gosec (redis)
|
|
||||||
working-directory: ./redis
|
|
||||||
run: "`go env GOPATH`/bin/gosec -exclude-dir=internal ./..."
|
|
||||||
# -----
|
|
||||||
- name: Run Gosec (sqlite3)
|
|
||||||
working-directory: ./sqlite3
|
|
||||||
run: "`go env GOPATH`/bin/gosec -exclude-dir=internal ./..."
|
|
||||||
# -----
|
|
||||||
- name: Run Gosec (s3)
|
|
||||||
working-directory: ./s3
|
|
||||||
run: "`go env GOPATH`/bin/gosec -exclude-dir=internal ./..."
|
|
||||||
# -----
|
|
||||||
- name: Run Gosec (ristretto)
|
|
||||||
working-directory: ./ristretto
|
|
||||||
run: "`go env GOPATH`/bin/gosec -exclude-dir=internal ./..."
|
|
||||||
# -----
|
|
||||||
- name: Run Gosec (bbolt)
|
|
||||||
working-directory: ./bbolt
|
|
||||||
run: "`go env GOPATH`/bin/gosec -exclude-dir=internal ./..."
|
|
||||||
# -----
|
|
||||||
- name: Run Gosec (azureblob)
|
|
||||||
working-directory: ./azureblob
|
|
||||||
run: "`go env GOPATH`/bin/gosec -exclude-dir=internal ./..."
|
|
||||||
# -----
|
|
||||||
- name: Run Gosec (mssql)
|
|
||||||
working-directory: ./mssql
|
|
||||||
run: "`go env GOPATH`/bin/gosec -exclude-dir=internal ./..."
|
|
||||||
# -----
|
|
38
.github/workflows/sync-docs.yml
vendored
Normal file
38
.github/workflows/sync-docs.yml
vendored
Normal file
@@ -0,0 +1,38 @@
|
|||||||
|
name: 'Sync docs'
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- master
|
||||||
|
- main
|
||||||
|
paths:
|
||||||
|
- '**/*.md'
|
||||||
|
release:
|
||||||
|
types: [published]
|
||||||
|
branches:
|
||||||
|
- '*/v[0-9]+.[0-9]+.[0-9]+'
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
sync-docs:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
with:
|
||||||
|
ref: ${{ github.event.pull_request.head.sha }}
|
||||||
|
fetch-depth: 2
|
||||||
|
|
||||||
|
- name: Setup Node.js environment
|
||||||
|
uses: actions/setup-node@v3
|
||||||
|
with:
|
||||||
|
node-version: '18'
|
||||||
|
|
||||||
|
- name: Install JQ
|
||||||
|
run: sudo apt-get install jq
|
||||||
|
|
||||||
|
- name: Sync docs
|
||||||
|
run: ./.github/scripts/sync_docs.sh
|
||||||
|
env:
|
||||||
|
EVENT: ${{ github.event_name }}
|
||||||
|
TAG_NAME: ${{ github.ref_name }}
|
||||||
|
TOKEN: ${{ secrets.DOC_SYNC_TOKEN }}
|
34
.github/workflows/test-arangodb.yml
vendored
34
.github/workflows/test-arangodb.yml
vendored
@@ -3,7 +3,11 @@ on:
|
|||||||
branches:
|
branches:
|
||||||
- master
|
- master
|
||||||
- main
|
- main
|
||||||
|
paths:
|
||||||
|
- 'arangodb/**'
|
||||||
pull_request:
|
pull_request:
|
||||||
|
paths:
|
||||||
|
- 'arangodb/**'
|
||||||
name: "Tests ArangoDB"
|
name: "Tests ArangoDB"
|
||||||
jobs:
|
jobs:
|
||||||
Tests:
|
Tests:
|
||||||
@@ -18,34 +22,16 @@ jobs:
|
|||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
go-version:
|
go-version:
|
||||||
- 1.16.x
|
- 1.17.x
|
||||||
- 1.18.x
|
- 1.18.x
|
||||||
- 1.19.x
|
- 1.19.x
|
||||||
platform:
|
- 1.20.x
|
||||||
- ubuntu-latest
|
|
||||||
- windows-latest
|
|
||||||
steps:
|
steps:
|
||||||
- name: Install Go
|
|
||||||
uses: actions/setup-go@v3
|
|
||||||
with:
|
|
||||||
go-version: '${{ matrix.go-version }}'
|
|
||||||
- name: Setup Golang caches
|
|
||||||
uses: actions/cache@v3
|
|
||||||
with:
|
|
||||||
# In order:
|
|
||||||
# * Module download cache
|
|
||||||
# * Build cache (Linux)
|
|
||||||
# * Build cache (Mac)
|
|
||||||
# * Build cache (Windows)
|
|
||||||
path: |
|
|
||||||
~/go/pkg/mod
|
|
||||||
~/.cache/go-build
|
|
||||||
~/Library/Caches/go-build
|
|
||||||
~\AppData\Local\go-build
|
|
||||||
key: ${{ runner.os }}-go-${{ matrix.go-version }}-${{ hashFiles('**/go.sum') }}
|
|
||||||
restore-keys: |
|
|
||||||
${{ runner.os }}-go-${{ matrix.go-version }}-
|
|
||||||
- name: Fetch Repository
|
- name: Fetch Repository
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v3
|
||||||
|
- name: Install Go
|
||||||
|
uses: actions/setup-go@v4
|
||||||
|
with:
|
||||||
|
go-version: '${{ matrix.go-version }}'
|
||||||
- name: Run Test
|
- name: Run Test
|
||||||
run: cd ./arangodb && go test ./... -v -race
|
run: cd ./arangodb && go test ./... -v -race
|
||||||
|
78
.github/workflows/test-azureblob.yml
vendored
78
.github/workflows/test-azureblob.yml
vendored
@@ -1,46 +1,32 @@
|
|||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches:
|
branches:
|
||||||
- master
|
- master
|
||||||
- main
|
- main
|
||||||
pull_request:
|
paths:
|
||||||
name: "Tests Azure Blob"
|
- 'azureblob/**'
|
||||||
jobs:
|
pull_request:
|
||||||
Tests:
|
paths:
|
||||||
runs-on: ubuntu-latest
|
- 'azureblob/**'
|
||||||
strategy:
|
name: "Tests Azure Blob"
|
||||||
matrix:
|
jobs:
|
||||||
go-version:
|
Tests:
|
||||||
- 1.18.x
|
runs-on: ubuntu-latest
|
||||||
- 1.19.x
|
strategy:
|
||||||
platform:
|
matrix:
|
||||||
- ubuntu-latest
|
go-version:
|
||||||
- windows-latest
|
- 1.18.x
|
||||||
steps:
|
- 1.19.x
|
||||||
- name: Install Azurite
|
- 1.20.x
|
||||||
run: |
|
steps:
|
||||||
docker run -d -p 10000:10000 mcr.microsoft.com/azure-storage/azurite azurite-blob --blobHost 0.0.0.0 --blobPort 10000
|
- name: Install Azurite
|
||||||
- name: Install Go
|
run: |
|
||||||
uses: actions/setup-go@v3
|
docker run -d -p 10000:10000 mcr.microsoft.com/azure-storage/azurite azurite-blob --blobHost 0.0.0.0 --blobPort 10000
|
||||||
with:
|
- name: Fetch Repository
|
||||||
go-version: '${{ matrix.go-version }}'
|
uses: actions/checkout@v3
|
||||||
- name: Setup Golang caches
|
- name: Install Go
|
||||||
uses: actions/cache@v3
|
uses: actions/setup-go@v4
|
||||||
with:
|
with:
|
||||||
# In order:
|
go-version: '${{ matrix.go-version }}'
|
||||||
# * Module download cache
|
- name: Run Test
|
||||||
# * Build cache (Linux)
|
run: cd ./azureblob && go test ./... -v -race
|
||||||
# * Build cache (Mac)
|
|
||||||
# * Build cache (Windows)
|
|
||||||
path: |
|
|
||||||
~/go/pkg/mod
|
|
||||||
~/.cache/go-build
|
|
||||||
~/Library/Caches/go-build
|
|
||||||
~\AppData\Local\go-build
|
|
||||||
key: ${{ runner.os }}-go-${{ matrix.go-version }}-${{ hashFiles('**/go.sum') }}
|
|
||||||
restore-keys: |
|
|
||||||
${{ runner.os }}-go-${{ matrix.go-version }}-
|
|
||||||
- name: Fetch Repository
|
|
||||||
uses: actions/checkout@v3
|
|
||||||
- name: Run Test
|
|
||||||
run: cd ./azureblob && go test ./... -v -race
|
|
||||||
|
35
.github/workflows/test-badger.yml
vendored
35
.github/workflows/test-badger.yml
vendored
@@ -3,7 +3,11 @@ on:
|
|||||||
branches:
|
branches:
|
||||||
- master
|
- master
|
||||||
- main
|
- main
|
||||||
|
paths:
|
||||||
|
- 'badger/**'
|
||||||
pull_request:
|
pull_request:
|
||||||
|
paths:
|
||||||
|
- 'badger/**'
|
||||||
name: "Tests Badger"
|
name: "Tests Badger"
|
||||||
jobs:
|
jobs:
|
||||||
Tests:
|
Tests:
|
||||||
@@ -12,33 +16,14 @@ jobs:
|
|||||||
go-version:
|
go-version:
|
||||||
- 1.18.x
|
- 1.18.x
|
||||||
- 1.19.x
|
- 1.19.x
|
||||||
platform:
|
- 1.20.x
|
||||||
- ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
- windows-latest
|
|
||||||
runs-on: '${{ matrix.platform }}'
|
|
||||||
steps:
|
steps:
|
||||||
- name: Install Go
|
|
||||||
uses: actions/setup-go@v3
|
|
||||||
with:
|
|
||||||
go-version: '${{ matrix.go-version }}'
|
|
||||||
- name: Setup Golang caches
|
|
||||||
uses: actions/cache@v3
|
|
||||||
with:
|
|
||||||
# In order:
|
|
||||||
# * Module download cache
|
|
||||||
# * Build cache (Linux)
|
|
||||||
# * Build cache (Mac)
|
|
||||||
# * Build cache (Windows)
|
|
||||||
path: |
|
|
||||||
~/go/pkg/mod
|
|
||||||
~/.cache/go-build
|
|
||||||
~/Library/Caches/go-build
|
|
||||||
~\AppData\Local\go-build
|
|
||||||
key: ${{ runner.os }}-go-${{ matrix.go-version }}-${{ hashFiles('**/go.sum') }}
|
|
||||||
restore-keys: |
|
|
||||||
${{ runner.os }}-go-${{ matrix.go-version }}-
|
|
||||||
|
|
||||||
- name: Fetch Repository
|
- name: Fetch Repository
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v3
|
||||||
|
- name: Install Go
|
||||||
|
uses: actions/setup-go@v4
|
||||||
|
with:
|
||||||
|
go-version: '${{ matrix.go-version }}'
|
||||||
- name: Test Badger
|
- name: Test Badger
|
||||||
run: cd ./badger && go test ./... -v -race
|
run: cd ./badger && go test ./... -v -race
|
||||||
|
34
.github/workflows/test-bbolt.yml
vendored
34
.github/workflows/test-bbolt.yml
vendored
@@ -3,7 +3,11 @@ on:
|
|||||||
branches:
|
branches:
|
||||||
- master
|
- master
|
||||||
- main
|
- main
|
||||||
|
paths:
|
||||||
|
- 'bbolt/**'
|
||||||
pull_request:
|
pull_request:
|
||||||
|
paths:
|
||||||
|
- 'bbolt/**'
|
||||||
name: "Tests Bbolt"
|
name: "Tests Bbolt"
|
||||||
jobs:
|
jobs:
|
||||||
Tests:
|
Tests:
|
||||||
@@ -13,31 +17,13 @@ jobs:
|
|||||||
go-version:
|
go-version:
|
||||||
- 1.18.x
|
- 1.18.x
|
||||||
- 1.19.x
|
- 1.19.x
|
||||||
platform:
|
- 1.20.x
|
||||||
- ubuntu-latest
|
|
||||||
- windows-latest
|
|
||||||
steps:
|
steps:
|
||||||
- name: Install Go
|
|
||||||
uses: actions/setup-go@v3
|
|
||||||
with:
|
|
||||||
go-version: '${{ matrix.go-version }}'
|
|
||||||
- name: Setup Golang caches
|
|
||||||
uses: actions/cache@v3
|
|
||||||
with:
|
|
||||||
# In order:
|
|
||||||
# * Module download cache
|
|
||||||
# * Build cache (Linux)
|
|
||||||
# * Build cache (Mac)
|
|
||||||
# * Build cache (Windows)
|
|
||||||
path: |
|
|
||||||
~/go/pkg/mod
|
|
||||||
~/.cache/go-build
|
|
||||||
~/Library/Caches/go-build
|
|
||||||
~\AppData\Local\go-build
|
|
||||||
key: ${{ runner.os }}-go-${{ matrix.go-version }}-${{ hashFiles('**/go.sum') }}
|
|
||||||
restore-keys: |
|
|
||||||
${{ runner.os }}-go-${{ matrix.go-version }}-
|
|
||||||
- name: Fetch Repository
|
- name: Fetch Repository
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v3
|
||||||
|
- name: Install Go
|
||||||
|
uses: actions/setup-go@v4
|
||||||
|
with:
|
||||||
|
go-version: '${{ matrix.go-version }}'
|
||||||
- name: Run Test
|
- name: Run Test
|
||||||
run: cd ./bbolt && go mod tidy && go test ./... -v -race
|
run: cd ./bbolt && go test ./... -v -race
|
||||||
|
35
.github/workflows/test-couchbase.yml
vendored
Normal file
35
.github/workflows/test-couchbase.yml
vendored
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- master
|
||||||
|
- main
|
||||||
|
paths:
|
||||||
|
- 'couchbase/**'
|
||||||
|
pull_request:
|
||||||
|
paths:
|
||||||
|
- 'couchbase/**'
|
||||||
|
name: "Tests Couchbase"
|
||||||
|
jobs:
|
||||||
|
Tests:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
strategy:
|
||||||
|
matrix:
|
||||||
|
go-version:
|
||||||
|
- 1.19.x
|
||||||
|
- 1.20.x
|
||||||
|
steps:
|
||||||
|
- name: Fetch Repository
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
- 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
|
||||||
|
with:
|
||||||
|
go-version: '${{ matrix.go-version }}'
|
||||||
|
- name: Run Test
|
||||||
|
run: cd ./couchbase && go test ./... -v -race
|
34
.github/workflows/test-dynamodb.yml
vendored
34
.github/workflows/test-dynamodb.yml
vendored
@@ -3,7 +3,11 @@ on:
|
|||||||
branches:
|
branches:
|
||||||
- master
|
- master
|
||||||
- main
|
- main
|
||||||
|
paths:
|
||||||
|
- 'dynamodb/**'
|
||||||
pull_request:
|
pull_request:
|
||||||
|
paths:
|
||||||
|
- 'dynamodb/**'
|
||||||
name: "Tests DynamoDB"
|
name: "Tests DynamoDB"
|
||||||
jobs:
|
jobs:
|
||||||
Tests:
|
Tests:
|
||||||
@@ -16,34 +20,16 @@ jobs:
|
|||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
go-version:
|
go-version:
|
||||||
- 1.16.x
|
- 1.17.x
|
||||||
- 1.18.x
|
- 1.18.x
|
||||||
- 1.19.x
|
- 1.19.x
|
||||||
platform:
|
- 1.20.x
|
||||||
- ubuntu-latest
|
|
||||||
- windows-latest
|
|
||||||
steps:
|
steps:
|
||||||
- name: Install Go
|
|
||||||
uses: actions/setup-go@v3
|
|
||||||
with:
|
|
||||||
go-version: '${{ matrix.go-version }}'
|
|
||||||
- name: Setup Golang caches
|
|
||||||
uses: actions/cache@v3
|
|
||||||
with:
|
|
||||||
# In order:
|
|
||||||
# * Module download cache
|
|
||||||
# * Build cache (Linux)
|
|
||||||
# * Build cache (Mac)
|
|
||||||
# * Build cache (Windows)
|
|
||||||
path: |
|
|
||||||
~/go/pkg/mod
|
|
||||||
~/.cache/go-build
|
|
||||||
~/Library/Caches/go-build
|
|
||||||
~\AppData\Local\go-build
|
|
||||||
key: ${{ runner.os }}-go-${{ matrix.go-version }}-${{ hashFiles('**/go.sum') }}
|
|
||||||
restore-keys: |
|
|
||||||
${{ runner.os }}-go-${{ matrix.go-version }}-
|
|
||||||
- name: Fetch Repository
|
- name: Fetch Repository
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v3
|
||||||
|
- name: Install Go
|
||||||
|
uses: actions/setup-go@v4
|
||||||
|
with:
|
||||||
|
go-version: '${{ matrix.go-version }}'
|
||||||
- name: Run Test
|
- name: Run Test
|
||||||
run: cd ./dynamodb && go test ./... -v -race
|
run: cd ./dynamodb && go test ./... -v -race
|
||||||
|
37
.github/workflows/test-etcd.yml
vendored
Normal file
37
.github/workflows/test-etcd.yml
vendored
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- master
|
||||||
|
- main
|
||||||
|
paths:
|
||||||
|
- 'etcd/**'
|
||||||
|
pull_request:
|
||||||
|
paths:
|
||||||
|
- 'etcd/**'
|
||||||
|
name: "Tests Etcd"
|
||||||
|
jobs:
|
||||||
|
Tests:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
strategy:
|
||||||
|
matrix:
|
||||||
|
go-version:
|
||||||
|
- 1.19.x
|
||||||
|
- 1.20.x
|
||||||
|
steps:
|
||||||
|
- name: Fetch Repository
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
- name: Install etcd
|
||||||
|
run: |
|
||||||
|
docker run -d --name Etcd-server \
|
||||||
|
--publish 2379:2379 \
|
||||||
|
--publish 2380:2380 \
|
||||||
|
--env ALLOW_NONE_AUTHENTICATION=yes \
|
||||||
|
--env ETCD_ADVERTISE_CLIENT_URLS=http://etcd-server:2379 \
|
||||||
|
bitnami/etcd:latest
|
||||||
|
|
||||||
|
- name: Install Go
|
||||||
|
uses: actions/setup-go@v4
|
||||||
|
with:
|
||||||
|
go-version: '${{ matrix.go-version }}'
|
||||||
|
- name: Run Test
|
||||||
|
run: cd ./etcd && go test ./... -v -race
|
34
.github/workflows/test-memcache.yml
vendored
34
.github/workflows/test-memcache.yml
vendored
@@ -3,7 +3,11 @@ on:
|
|||||||
branches:
|
branches:
|
||||||
- master
|
- master
|
||||||
- main
|
- main
|
||||||
|
paths:
|
||||||
|
- 'memcache/**'
|
||||||
pull_request:
|
pull_request:
|
||||||
|
paths:
|
||||||
|
- 'memcache/**'
|
||||||
name: "Tests Memcache"
|
name: "Tests Memcache"
|
||||||
jobs:
|
jobs:
|
||||||
Tests:
|
Tests:
|
||||||
@@ -16,34 +20,16 @@ jobs:
|
|||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
go-version:
|
go-version:
|
||||||
- 1.16.x
|
- 1.17.x
|
||||||
- 1.18.x
|
- 1.18.x
|
||||||
- 1.19.x
|
- 1.19.x
|
||||||
platform:
|
- 1.20.x
|
||||||
- ubuntu-latest
|
|
||||||
- windows-latest
|
|
||||||
steps:
|
steps:
|
||||||
- name: Install Go
|
|
||||||
uses: actions/setup-go@v3
|
|
||||||
with:
|
|
||||||
go-version: '${{ matrix.go-version }}'
|
|
||||||
- name: Setup Golang caches
|
|
||||||
uses: actions/cache@v3
|
|
||||||
with:
|
|
||||||
# In order:
|
|
||||||
# * Module download cache
|
|
||||||
# * Build cache (Linux)
|
|
||||||
# * Build cache (Mac)
|
|
||||||
# * Build cache (Windows)
|
|
||||||
path: |
|
|
||||||
~/go/pkg/mod
|
|
||||||
~/.cache/go-build
|
|
||||||
~/Library/Caches/go-build
|
|
||||||
~\AppData\Local\go-build
|
|
||||||
key: ${{ runner.os }}-go-${{ matrix.go-version }}-${{ hashFiles('**/go.sum') }}
|
|
||||||
restore-keys: |
|
|
||||||
${{ runner.os }}-go-${{ matrix.go-version }}-
|
|
||||||
- name: Fetch Repository
|
- name: Fetch Repository
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v3
|
||||||
|
- name: Install Go
|
||||||
|
uses: actions/setup-go@v4
|
||||||
|
with:
|
||||||
|
go-version: '${{ matrix.go-version }}'
|
||||||
- name: Run Test
|
- name: Run Test
|
||||||
run: cd ./memcache && go test ./... -v -race
|
run: cd ./memcache && go test ./... -v -race
|
||||||
|
30
.github/workflows/test-memory.yml
vendored
Normal file
30
.github/workflows/test-memory.yml
vendored
Normal file
@@ -0,0 +1,30 @@
|
|||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- master
|
||||||
|
- main
|
||||||
|
paths:
|
||||||
|
- 'memory/**'
|
||||||
|
pull_request:
|
||||||
|
paths:
|
||||||
|
- 'memory/**'
|
||||||
|
name: "Tests Local Storage"
|
||||||
|
jobs:
|
||||||
|
Tests:
|
||||||
|
strategy:
|
||||||
|
matrix:
|
||||||
|
go-version:
|
||||||
|
- 1.17.x
|
||||||
|
- 1.18.x
|
||||||
|
- 1.19.x
|
||||||
|
- 1.20.x
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Fetch Repository
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
- name: Install Go
|
||||||
|
uses: actions/setup-go@v4
|
||||||
|
with:
|
||||||
|
go-version: '${{ matrix.go-version }}'
|
||||||
|
- name: Test Memory
|
||||||
|
run: cd ./memory && go test ./... -v -race
|
35
.github/workflows/test-mongodb.yml
vendored
35
.github/workflows/test-mongodb.yml
vendored
@@ -3,7 +3,11 @@ on:
|
|||||||
branches:
|
branches:
|
||||||
- master
|
- master
|
||||||
- main
|
- main
|
||||||
|
paths:
|
||||||
|
- 'mongodb/**'
|
||||||
pull_request:
|
pull_request:
|
||||||
|
paths:
|
||||||
|
- 'mongodb/**'
|
||||||
name: "Tests Mongodb"
|
name: "Tests Mongodb"
|
||||||
jobs:
|
jobs:
|
||||||
Tests:
|
Tests:
|
||||||
@@ -16,34 +20,17 @@ jobs:
|
|||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
go-version:
|
go-version:
|
||||||
- 1.16.x
|
- 1.17.x
|
||||||
- 1.18.x
|
- 1.18.x
|
||||||
- 1.19.x
|
- 1.19.x
|
||||||
platform:
|
- 1.20.x
|
||||||
- ubuntu-latest
|
|
||||||
- windows-latest
|
|
||||||
steps:
|
steps:
|
||||||
- name: Install Go
|
|
||||||
uses: actions/setup-go@v3
|
|
||||||
with:
|
|
||||||
go-version: '${{ matrix.go-version }}'
|
|
||||||
- name: Setup Golang caches
|
|
||||||
uses: actions/cache@v3
|
|
||||||
with:
|
|
||||||
# In order:
|
|
||||||
# * Module download cache
|
|
||||||
# * Build cache (Linux)
|
|
||||||
# * Build cache (Mac)
|
|
||||||
# * Build cache (Windows)
|
|
||||||
path: |
|
|
||||||
~/go/pkg/mod
|
|
||||||
~/.cache/go-build
|
|
||||||
~/Library/Caches/go-build
|
|
||||||
~\AppData\Local\go-build
|
|
||||||
key: ${{ runner.os }}-go-${{ matrix.go-version }}-${{ hashFiles('**/go.sum') }}
|
|
||||||
restore-keys: |
|
|
||||||
${{ runner.os }}-go-${{ matrix.go-version }}-
|
|
||||||
- name: Fetch Repository
|
- name: Fetch Repository
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v3
|
||||||
|
- name: Install Go
|
||||||
|
uses: actions/setup-go@v4
|
||||||
|
with:
|
||||||
|
go-version: '${{ matrix.go-version }}'
|
||||||
- name: Run Test
|
- name: Run Test
|
||||||
run: cd ./mongodb && go test ./... -v -race
|
run: cd ./mongodb && go test ./... -v -race
|
||||||
|
|
||||||
|
35
.github/workflows/test-mssql.yml
vendored
35
.github/workflows/test-mssql.yml
vendored
@@ -3,14 +3,18 @@ on:
|
|||||||
branches:
|
branches:
|
||||||
- master
|
- master
|
||||||
- main
|
- main
|
||||||
|
paths:
|
||||||
|
- 'mssql/**'
|
||||||
pull_request:
|
pull_request:
|
||||||
|
paths:
|
||||||
|
- 'mssql/**'
|
||||||
name: "Tests MSSQL"
|
name: "Tests MSSQL"
|
||||||
jobs:
|
jobs:
|
||||||
Tests:
|
Tests:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
services:
|
services:
|
||||||
mssql:
|
mssql:
|
||||||
image: 'mcmoe/mssqldocker:v2019.CU4.0'
|
image: 'mcmoe/mssqldocker:latest'
|
||||||
ports:
|
ports:
|
||||||
- '1433:1433'
|
- '1433:1433'
|
||||||
env:
|
env:
|
||||||
@@ -28,35 +32,16 @@ jobs:
|
|||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
go-version:
|
go-version:
|
||||||
- 1.16.x
|
|
||||||
- 1.18.x
|
- 1.18.x
|
||||||
- 1.19.x
|
- 1.19.x
|
||||||
platform:
|
- 1.20.x
|
||||||
- ubuntu-latest
|
|
||||||
- windows-latest
|
|
||||||
steps:
|
steps:
|
||||||
- name: Install Go
|
|
||||||
uses: actions/setup-go@v3
|
|
||||||
with:
|
|
||||||
go-version: '${{ matrix.go-version }}'
|
|
||||||
- name: Setup Golang caches
|
|
||||||
uses: actions/cache@v3
|
|
||||||
with:
|
|
||||||
# In order:
|
|
||||||
# * Module download cache
|
|
||||||
# * Build cache (Linux)
|
|
||||||
# * Build cache (Mac)
|
|
||||||
# * Build cache (Windows)
|
|
||||||
path: |
|
|
||||||
~/go/pkg/mod
|
|
||||||
~/.cache/go-build
|
|
||||||
~/Library/Caches/go-build
|
|
||||||
~\AppData\Local\go-build
|
|
||||||
key: ${{ runner.os }}-go-${{ matrix.go-version }}-${{ hashFiles('**/go.sum') }}
|
|
||||||
restore-keys: |
|
|
||||||
${{ runner.os }}-go-${{ matrix.go-version }}-
|
|
||||||
- name: Fetch Repository
|
- name: Fetch Repository
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v3
|
||||||
|
- name: Install Go
|
||||||
|
uses: actions/setup-go@v4
|
||||||
|
with:
|
||||||
|
go-version: '${{ matrix.go-version }}'
|
||||||
- name: Run Test
|
- name: Run Test
|
||||||
run: cd ./mssql && go test ./... -v -race
|
run: cd ./mssql && go test ./... -v -race
|
||||||
env:
|
env:
|
||||||
|
34
.github/workflows/test-mysql.yml
vendored
34
.github/workflows/test-mysql.yml
vendored
@@ -3,7 +3,11 @@ on:
|
|||||||
branches:
|
branches:
|
||||||
- master
|
- master
|
||||||
- main
|
- main
|
||||||
|
paths:
|
||||||
|
- 'mysql/**'
|
||||||
pull_request:
|
pull_request:
|
||||||
|
paths:
|
||||||
|
- 'mysql/**'
|
||||||
name: "Tests MySQL"
|
name: "Tests MySQL"
|
||||||
jobs:
|
jobs:
|
||||||
Tests:
|
Tests:
|
||||||
@@ -24,35 +28,17 @@ jobs:
|
|||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
go-version:
|
go-version:
|
||||||
- 1.16.x
|
- 1.17.x
|
||||||
- 1.18.x
|
- 1.18.x
|
||||||
- 1.19.x
|
- 1.19.x
|
||||||
platform:
|
- 1.20.x
|
||||||
- ubuntu-latest
|
|
||||||
- windows-latest
|
|
||||||
steps:
|
steps:
|
||||||
- name: Install Go
|
|
||||||
uses: actions/setup-go@v3
|
|
||||||
with:
|
|
||||||
go-version: '${{ matrix.go-version }}'
|
|
||||||
- name: Setup Golang caches
|
|
||||||
uses: actions/cache@v3
|
|
||||||
with:
|
|
||||||
# In order:
|
|
||||||
# * Module download cache
|
|
||||||
# * Build cache (Linux)
|
|
||||||
# * Build cache (Mac)
|
|
||||||
# * Build cache (Windows)
|
|
||||||
path: |
|
|
||||||
~/go/pkg/mod
|
|
||||||
~/.cache/go-build
|
|
||||||
~/Library/Caches/go-build
|
|
||||||
~\AppData\Local\go-build
|
|
||||||
key: ${{ runner.os }}-go-${{ matrix.go-version }}-${{ hashFiles('**/go.sum') }}
|
|
||||||
restore-keys: |
|
|
||||||
${{ runner.os }}-go-${{ matrix.go-version }}-
|
|
||||||
- name: Fetch Repository
|
- name: Fetch Repository
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v3
|
||||||
|
- name: Install Go
|
||||||
|
uses: actions/setup-go@v4
|
||||||
|
with:
|
||||||
|
go-version: '${{ matrix.go-version }}'
|
||||||
- name: Run Test
|
- name: Run Test
|
||||||
run: cd ./mysql && go test ./... -v -race
|
run: cd ./mysql && go test ./... -v -race
|
||||||
env:
|
env:
|
||||||
|
28
.github/workflows/test-pebble.yml
vendored
Normal file
28
.github/workflows/test-pebble.yml
vendored
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- master
|
||||||
|
- main
|
||||||
|
paths:
|
||||||
|
- "pebble/**"
|
||||||
|
pull_request:
|
||||||
|
paths:
|
||||||
|
- "pebble/**"
|
||||||
|
name: "Tests pebble"
|
||||||
|
jobs:
|
||||||
|
Tests:
|
||||||
|
strategy:
|
||||||
|
matrix:
|
||||||
|
go-version:
|
||||||
|
- 1.19.x
|
||||||
|
- 1.20.x
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Fetch Repository
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
- name: Install Go
|
||||||
|
uses: actions/setup-go@v4
|
||||||
|
with:
|
||||||
|
go-version: '${{ matrix.go-version }}'
|
||||||
|
- name: Test Pebble
|
||||||
|
run: cd ./pebble && go test ./... -v -race
|
34
.github/workflows/test-postgres.yml
vendored
34
.github/workflows/test-postgres.yml
vendored
@@ -3,7 +3,11 @@ on:
|
|||||||
branches:
|
branches:
|
||||||
- master
|
- master
|
||||||
- main
|
- main
|
||||||
|
paths:
|
||||||
|
- 'postgres/**'
|
||||||
pull_request:
|
pull_request:
|
||||||
|
paths:
|
||||||
|
- 'postgres/**'
|
||||||
name: "Tests Postgres"
|
name: "Tests Postgres"
|
||||||
jobs:
|
jobs:
|
||||||
Tests:
|
Tests:
|
||||||
@@ -23,35 +27,15 @@ jobs:
|
|||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
go-version:
|
go-version:
|
||||||
- 1.16.x
|
|
||||||
- 1.18.x
|
|
||||||
- 1.19.x
|
- 1.19.x
|
||||||
platform:
|
- 1.20.x
|
||||||
- ubuntu-latest
|
|
||||||
- windows-latest
|
|
||||||
steps:
|
steps:
|
||||||
- name: Install Go
|
|
||||||
uses: actions/setup-go@v3
|
|
||||||
with:
|
|
||||||
go-version: '${{ matrix.go-version }}'
|
|
||||||
- name: Setup Golang caches
|
|
||||||
uses: actions/cache@v3
|
|
||||||
with:
|
|
||||||
# In order:
|
|
||||||
# * Module download cache
|
|
||||||
# * Build cache (Linux)
|
|
||||||
# * Build cache (Mac)
|
|
||||||
# * Build cache (Windows)
|
|
||||||
path: |
|
|
||||||
~/go/pkg/mod
|
|
||||||
~/.cache/go-build
|
|
||||||
~/Library/Caches/go-build
|
|
||||||
~\AppData\Local\go-build
|
|
||||||
key: ${{ runner.os }}-go-${{ matrix.go-version }}-${{ hashFiles('**/go.sum') }}
|
|
||||||
restore-keys: |
|
|
||||||
${{ runner.os }}-go-${{ matrix.go-version }}-
|
|
||||||
- name: Fetch Repository
|
- name: Fetch Repository
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v3
|
||||||
|
- name: Install Go
|
||||||
|
uses: actions/setup-go@v4
|
||||||
|
with:
|
||||||
|
go-version: '${{ matrix.go-version }}'
|
||||||
- name: Run Test
|
- name: Run Test
|
||||||
run: cd ./postgres && go test ./... -v -race
|
run: cd ./postgres && go test ./... -v -race
|
||||||
env:
|
env:
|
||||||
|
43
.github/workflows/test-redis.yml
vendored
43
.github/workflows/test-redis.yml
vendored
@@ -3,7 +3,11 @@ on:
|
|||||||
branches:
|
branches:
|
||||||
- master
|
- master
|
||||||
- main
|
- main
|
||||||
|
paths:
|
||||||
|
- 'redis/**'
|
||||||
pull_request:
|
pull_request:
|
||||||
|
paths:
|
||||||
|
- 'redis/**'
|
||||||
name: "Tests Redis"
|
name: "Tests Redis"
|
||||||
jobs:
|
jobs:
|
||||||
Tests:
|
Tests:
|
||||||
@@ -11,12 +15,12 @@ jobs:
|
|||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
go-version:
|
go-version:
|
||||||
- 1.16.x
|
|
||||||
- 1.18.x
|
- 1.18.x
|
||||||
- 1.19.x
|
- 1.19.x
|
||||||
platform:
|
- 1.20.x
|
||||||
- ubuntu-latest
|
redis:
|
||||||
- windows-latest
|
- '6.x'
|
||||||
|
- '7.x'
|
||||||
steps:
|
steps:
|
||||||
- name: Fetch Repository
|
- name: Fetch Repository
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v3
|
||||||
@@ -24,7 +28,7 @@ jobs:
|
|||||||
- name: Setup Redis
|
- name: Setup Redis
|
||||||
uses: shogo82148/actions-setup-redis@v1
|
uses: shogo82148/actions-setup-redis@v1
|
||||||
with:
|
with:
|
||||||
redis-version: '6.x'
|
redis-version: ${{ matrix.redis }}
|
||||||
auto-start: 'false'
|
auto-start: 'false'
|
||||||
redis-port: '6379'
|
redis-port: '6379'
|
||||||
redis-tls-port: '6380'
|
redis-tls-port: '6380'
|
||||||
@@ -36,27 +40,20 @@ jobs:
|
|||||||
--tls-key-file ./redis/tests/tls/redis.key \
|
--tls-key-file ./redis/tests/tls/redis.key \
|
||||||
--tls-ca-cert-file ./redis/tests/tls/ca.crt&
|
--tls-ca-cert-file ./redis/tests/tls/ca.crt&
|
||||||
|
|
||||||
|
- name: Setup Redis Cluster
|
||||||
|
uses: vishnudxb/redis-cluster@1.0.5
|
||||||
|
with:
|
||||||
|
master1-port: 7000
|
||||||
|
master2-port: 7001
|
||||||
|
master3-port: 7002
|
||||||
|
slave1-port: 7003
|
||||||
|
slave2-port: 7004
|
||||||
|
slave3-port: 7005
|
||||||
|
|
||||||
- name: Install Go
|
- name: Install Go
|
||||||
uses: actions/setup-go@v3
|
uses: actions/setup-go@v4
|
||||||
with:
|
with:
|
||||||
go-version: '${{ matrix.go-version }}'
|
go-version: '${{ matrix.go-version }}'
|
||||||
|
|
||||||
- name: Setup Golang caches
|
|
||||||
uses: actions/cache@v3
|
|
||||||
with:
|
|
||||||
# In order:
|
|
||||||
# * Module download cache
|
|
||||||
# * Build cache (Linux)
|
|
||||||
# * Build cache (Mac)
|
|
||||||
# * Build cache (Windows)
|
|
||||||
path: |
|
|
||||||
~/go/pkg/mod
|
|
||||||
~/.cache/go-build
|
|
||||||
~/Library/Caches/go-build
|
|
||||||
~\AppData\Local\go-build
|
|
||||||
key: ${{ runner.os }}-go-${{ matrix.go-version }}-${{ hashFiles('**/go.sum') }}
|
|
||||||
restore-keys: |
|
|
||||||
${{ runner.os }}-go-${{ matrix.go-version }}-
|
|
||||||
|
|
||||||
- name: Run Test
|
- name: Run Test
|
||||||
run: cd ./redis && go test ./... -v -race
|
run: cd ./redis && go test ./... -v -race
|
||||||
|
40
.github/workflows/test-ristretto.yml
vendored
40
.github/workflows/test-ristretto.yml
vendored
@@ -3,7 +3,11 @@ on:
|
|||||||
branches:
|
branches:
|
||||||
- master
|
- master
|
||||||
- main
|
- main
|
||||||
|
paths:
|
||||||
|
- 'ristretto/**'
|
||||||
pull_request:
|
pull_request:
|
||||||
|
paths:
|
||||||
|
- 'ristretto/**'
|
||||||
name: "Tests Ristretto"
|
name: "Tests Ristretto"
|
||||||
jobs:
|
jobs:
|
||||||
Tests:
|
Tests:
|
||||||
@@ -13,31 +17,13 @@ jobs:
|
|||||||
go-version:
|
go-version:
|
||||||
- 1.18.x
|
- 1.18.x
|
||||||
- 1.19.x
|
- 1.19.x
|
||||||
platform:
|
- 1.20.x
|
||||||
- ubuntu-latest
|
|
||||||
- windows-latest
|
|
||||||
steps:
|
steps:
|
||||||
- name: Install Go
|
- name: Fetch Repository
|
||||||
uses: actions/setup-go@v3
|
uses: actions/checkout@v3
|
||||||
with:
|
- name: Install Go
|
||||||
go-version: '${{ matrix.go-version }}'
|
uses: actions/setup-go@v4
|
||||||
- name: Setup Golang caches
|
with:
|
||||||
uses: actions/cache@v3
|
go-version: '${{ matrix.go-version }}'
|
||||||
with:
|
- name: Run Test
|
||||||
# In order:
|
run: cd ./ristretto && go test ./... -v -race
|
||||||
# * Module download cache
|
|
||||||
# * Build cache (Linux)
|
|
||||||
# * Build cache (Mac)
|
|
||||||
# * Build cache (Windows)
|
|
||||||
path: |
|
|
||||||
~/go/pkg/mod
|
|
||||||
~/.cache/go-build
|
|
||||||
~/Library/Caches/go-build
|
|
||||||
~\AppData\Local\go-build
|
|
||||||
key: ${{ runner.os }}-go-${{ matrix.go-version }}-${{ hashFiles('**/go.sum') }}
|
|
||||||
restore-keys: |
|
|
||||||
${{ runner.os }}-go-${{ matrix.go-version }}-
|
|
||||||
- name: Fetch Repository
|
|
||||||
uses: actions/checkout@v3
|
|
||||||
- name: Run Test
|
|
||||||
run: cd ./ristretto && go mod tidy && go test ./... -v -race
|
|
||||||
|
33
.github/workflows/test-s3.yml
vendored
33
.github/workflows/test-s3.yml
vendored
@@ -3,7 +3,11 @@ on:
|
|||||||
branches:
|
branches:
|
||||||
- master
|
- master
|
||||||
- main
|
- main
|
||||||
|
paths:
|
||||||
|
- 's3/**'
|
||||||
pull_request:
|
pull_request:
|
||||||
|
paths:
|
||||||
|
- 's3/**'
|
||||||
name: "Tests S3"
|
name: "Tests S3"
|
||||||
jobs:
|
jobs:
|
||||||
Tests:
|
Tests:
|
||||||
@@ -11,12 +15,9 @@ jobs:
|
|||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
go-version:
|
go-version:
|
||||||
- 1.16.x
|
|
||||||
- 1.18.x
|
- 1.18.x
|
||||||
- 1.19.x
|
- 1.19.x
|
||||||
platform:
|
- 1.20.x
|
||||||
- ubuntu-latest
|
|
||||||
- windows-latest
|
|
||||||
steps:
|
steps:
|
||||||
- name: Install MinIO
|
- name: Install MinIO
|
||||||
run: |
|
run: |
|
||||||
@@ -27,27 +28,11 @@ jobs:
|
|||||||
export AWS_EC2_METADATA_DISABLED=true
|
export AWS_EC2_METADATA_DISABLED=true
|
||||||
|
|
||||||
aws --endpoint-url http://127.0.0.1:9000/ s3 mb s3://testbucket
|
aws --endpoint-url http://127.0.0.1:9000/ s3 mb s3://testbucket
|
||||||
- name: Install Go
|
|
||||||
uses: actions/setup-go@v3
|
|
||||||
with:
|
|
||||||
go-version: '${{ matrix.go-version }}'
|
|
||||||
- name: Setup Golang caches
|
|
||||||
uses: actions/cache@v3
|
|
||||||
with:
|
|
||||||
# In order:
|
|
||||||
# * Module download cache
|
|
||||||
# * Build cache (Linux)
|
|
||||||
# * Build cache (Mac)
|
|
||||||
# * Build cache (Windows)
|
|
||||||
path: |
|
|
||||||
~/go/pkg/mod
|
|
||||||
~/.cache/go-build
|
|
||||||
~/Library/Caches/go-build
|
|
||||||
~\AppData\Local\go-build
|
|
||||||
key: ${{ runner.os }}-go-${{ matrix.go-version }}-${{ hashFiles('**/go.sum') }}
|
|
||||||
restore-keys: |
|
|
||||||
${{ runner.os }}-go-${{ matrix.go-version }}-
|
|
||||||
- name: Fetch Repository
|
- name: Fetch Repository
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v3
|
||||||
|
- name: Install Go
|
||||||
|
uses: actions/setup-go@v4
|
||||||
|
with:
|
||||||
|
go-version: '${{ matrix.go-version }}'
|
||||||
- name: Run Test
|
- name: Run Test
|
||||||
run: cd ./s3 && go test ./... -v -race
|
run: cd ./s3 && go test ./... -v -race
|
||||||
|
37
.github/workflows/test-sqlite3.yml
vendored
37
.github/workflows/test-sqlite3.yml
vendored
@@ -3,44 +3,29 @@ on:
|
|||||||
branches:
|
branches:
|
||||||
- master
|
- master
|
||||||
- main
|
- main
|
||||||
|
paths:
|
||||||
|
- 'sqlite3/**'
|
||||||
pull_request:
|
pull_request:
|
||||||
|
paths:
|
||||||
|
- 'sqlite3/**'
|
||||||
name: "Tests Sqlite3"
|
name: "Tests Sqlite3"
|
||||||
jobs:
|
jobs:
|
||||||
Tests:
|
Tests:
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
go-version:
|
go-version:
|
||||||
- 1.16.x
|
- 1.17.x
|
||||||
- 1.18.x
|
- 1.18.x
|
||||||
- 1.19.x
|
- 1.19.x
|
||||||
platform:
|
- 1.20.x
|
||||||
- ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
- windows-latest
|
|
||||||
runs-on: '${{ matrix.platform }}'
|
|
||||||
steps:
|
steps:
|
||||||
- name: Install Go
|
|
||||||
uses: actions/setup-go@v3
|
|
||||||
with:
|
|
||||||
go-version: '${{ matrix.go-version }}'
|
|
||||||
- name: Setup Golang caches
|
|
||||||
uses: actions/cache@v3
|
|
||||||
with:
|
|
||||||
# In order:
|
|
||||||
# * Module download cache
|
|
||||||
# * Build cache (Linux)
|
|
||||||
# * Build cache (Mac)
|
|
||||||
# * Build cache (Windows)
|
|
||||||
path: |
|
|
||||||
~/go/pkg/mod
|
|
||||||
~/.cache/go-build
|
|
||||||
~/Library/Caches/go-build
|
|
||||||
~\AppData\Local\go-build
|
|
||||||
key: ${{ runner.os }}-go-${{ matrix.go-version }}-${{ hashFiles('**/go.sum') }}
|
|
||||||
restore-keys: |
|
|
||||||
${{ runner.os }}-go-${{ matrix.go-version }}-
|
|
||||||
|
|
||||||
- name: Fetch Repository
|
- name: Fetch Repository
|
||||||
uses: actions/checkout@v3
|
uses: actions/checkout@v3
|
||||||
|
- name: Install Go
|
||||||
|
uses: actions/setup-go@v4
|
||||||
|
with:
|
||||||
|
go-version: '${{ matrix.go-version }}'
|
||||||
- name: Test SQLite3 - with -race check
|
- name: Test SQLite3 - with -race check
|
||||||
if: runner.os != 'Windows'
|
if: runner.os != 'Windows'
|
||||||
run: cd ./sqlite3 && go test ./... -v -race
|
run: cd ./sqlite3 && go test ./... -v -race
|
||||||
|
45
.github/workflows/test.yml
vendored
45
.github/workflows/test.yml
vendored
@@ -1,45 +0,0 @@
|
|||||||
on:
|
|
||||||
push:
|
|
||||||
branches:
|
|
||||||
- master
|
|
||||||
- main
|
|
||||||
pull_request:
|
|
||||||
name: "Tests Local Storage"
|
|
||||||
jobs:
|
|
||||||
Tests:
|
|
||||||
strategy:
|
|
||||||
matrix:
|
|
||||||
go-version:
|
|
||||||
- 1.16.x
|
|
||||||
- 1.18.x
|
|
||||||
- 1.19.x
|
|
||||||
platform:
|
|
||||||
- ubuntu-latest
|
|
||||||
- windows-latest
|
|
||||||
runs-on: '${{ matrix.platform }}'
|
|
||||||
steps:
|
|
||||||
- name: Install Go
|
|
||||||
uses: actions/setup-go@v3
|
|
||||||
with:
|
|
||||||
go-version: '${{ matrix.go-version }}'
|
|
||||||
- name: Setup Golang caches
|
|
||||||
uses: actions/cache@v3
|
|
||||||
with:
|
|
||||||
# In order:
|
|
||||||
# * Module download cache
|
|
||||||
# * Build cache (Linux)
|
|
||||||
# * Build cache (Mac)
|
|
||||||
# * Build cache (Windows)
|
|
||||||
path: |
|
|
||||||
~/go/pkg/mod
|
|
||||||
~/.cache/go-build
|
|
||||||
~/Library/Caches/go-build
|
|
||||||
~\AppData\Local\go-build
|
|
||||||
key: ${{ runner.os }}-go-${{ matrix.go-version }}-${{ hashFiles('**/go.sum') }}
|
|
||||||
restore-keys: |
|
|
||||||
${{ runner.os }}-go-${{ matrix.go-version }}-
|
|
||||||
|
|
||||||
- name: Fetch Repository
|
|
||||||
uses: actions/checkout@v3
|
|
||||||
- name: Test Memory
|
|
||||||
run: cd ./memory && go test ./... -v -race
|
|
19
.github/workflows/vulncheck.yml
vendored
19
.github/workflows/vulncheck.yml
vendored
@@ -1,19 +0,0 @@
|
|||||||
on: [push, pull_request_target]
|
|
||||||
name: Vulnerability Check
|
|
||||||
jobs:
|
|
||||||
Security:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- name: Install Go
|
|
||||||
uses: actions/setup-go@v3
|
|
||||||
with:
|
|
||||||
go-version: 1.19.x
|
|
||||||
- name: Fetch Repository
|
|
||||||
uses: actions/checkout@v3
|
|
||||||
- name: Install Govulncheck
|
|
||||||
run: |
|
|
||||||
export GO111MODULE=on
|
|
||||||
export PATH=${PATH}:`go env GOPATH`/bin
|
|
||||||
go install golang.org/x/vuln/cmd/govulncheck@latest
|
|
||||||
- name: Run Govulncheck
|
|
||||||
run: "`go env GOPATH`/bin/govulncheck ./..."
|
|
22
MIGRATE.md
22
MIGRATE.md
@@ -1,22 +0,0 @@
|
|||||||
This document contains instructions for migrating to various storage versions.
|
|
||||||
|
|
||||||
### 0.1 -> 0.2
|
|
||||||
v0.2 fixes [a bug](https://github.com/gofiber/fiber/issues/1258) in MYSQL, Postgres and Arangodb in which
|
|
||||||
inserting non-UTF8 characters would trigger a panic due to the values being saved in a TEXT column instead of a
|
|
||||||
BYTEA/BLOB column. Migration instructions (note you may need to adjust the table names if you have supplied a custom
|
|
||||||
config to the storage):
|
|
||||||
|
|
||||||
**Postgres**
|
|
||||||
```sql
|
|
||||||
ALTER TABLE fiber_storage
|
|
||||||
ALTER COLUMN v TYPE BYTEA USING v::bytea;
|
|
||||||
```
|
|
||||||
|
|
||||||
**MYSQL**
|
|
||||||
```sql
|
|
||||||
ALTER TABLE fiber_storage MODIFY COLUMN v BLOB;
|
|
||||||
```
|
|
||||||
|
|
||||||
**Arangodb**
|
|
||||||
|
|
||||||
No migration other then updating the library is necessary.
|
|
166
README.md
166
README.md
@@ -1,94 +1,72 @@
|
|||||||
<p align="center">
|
---
|
||||||
<!-- <a href="https://gofiber.io">
|
title: 👋 Welcome
|
||||||
<img alt="Fiber" height="125" src="https://raw.githubusercontent.com/gofiber/docs/master/static/fiber_v2_logo.svg">
|
description: 📦 Premade storage drivers for 🚀 Fiber.
|
||||||
</a>
|
sidebar_position: 1
|
||||||
<br> -->
|
---
|
||||||
|
|
||||||
# 📦 Storage
|
<p align="center">
|
||||||
|
<img height="125" alt="Fiber" src="https://raw.githubusercontent.com/gofiber/storage/master/.github/logo-dark.svg#gh-dark-mode-only" />
|
||||||
<a href="https://pkg.go.dev/github.com/gofiber/storage?tab=doc">
|
<img height="125" alt="Fiber" src="https://raw.githubusercontent.com/gofiber/storage/master/.github/logo.svg#gh-light-mode-only" />
|
||||||
<img src="https://img.shields.io/badge/%F0%9F%93%9A%20godoc-pkg-00ACD7.svg?color=00ACD7&style=flat">
|
<br/>
|
||||||
</a>
|
|
||||||
<a href="https://goreportcard.com/report/github.com/gofiber/storage">
|
# 📦 Storage
|
||||||
<img src="https://img.shields.io/badge/%F0%9F%93%9D%20goreport-A%2B-75C46B">
|
|
||||||
</a>
|
<a href="https://pkg.go.dev/github.com/gofiber/storage?tab=doc">
|
||||||
<a href="https://gocover.io/github.com/gofiber/storage">
|
<img src="https://img.shields.io/badge/%F0%9F%93%9A%20godoc-pkg-00ACD7.svg?color=00ACD7&style=flat"/>
|
||||||
<img src="https://img.shields.io/badge/%F0%9F%94%8E%20gocover-97.8%25-75C46B.svg?style=flat">
|
</a>
|
||||||
</a>
|
<a href="https://goreportcard.com/report/github.com/gofiber/storage">
|
||||||
<a href="https://gofiber.io/discord">
|
<img src="https://img.shields.io/badge/%F0%9F%93%9D%20goreport-A%2B-75C46B"/>
|
||||||
<img src="https://img.shields.io/discord/704680098577514527?style=flat&label=%F0%9F%92%AC%20discord&color=00ACD7">
|
</a>
|
||||||
</a>
|
<a href="https://gofiber.io/discord">
|
||||||
</p>
|
<img src="https://img.shields.io/discord/704680098577514527?style=flat&label=%F0%9F%92%AC%20discord&color=00ACD7"/>
|
||||||
|
</a>
|
||||||
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).
|
</p>
|
||||||
|
|
||||||
```go
|
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).
|
||||||
// Storage interface for communicating with different database/key-value
|
|
||||||
// providers. Visit https://github.com/gofiber/storage for more info.
|
```go
|
||||||
type Storage interface {
|
// Storage interface for communicating with different database/key-value
|
||||||
// Get gets the value for the given key.
|
// providers. Visit https://github.com/gofiber/storage for more info.
|
||||||
// `nil, nil` is returned when the key does not exist
|
type Storage interface {
|
||||||
Get(key string) ([]byte, error)
|
// Get gets the value for the given key.
|
||||||
|
// `nil, nil` is returned when the key does not exist
|
||||||
// Set stores the given value for the given key along
|
Get(key string) ([]byte, error)
|
||||||
// with an expiration value, 0 means no expiration.
|
|
||||||
// Empty key or value will be ignored without an error.
|
// Set stores the given value for the given key along
|
||||||
Set(key string, val []byte, exp time.Duration) error
|
// with an expiration value, 0 means no expiration.
|
||||||
|
// Empty key or value will be ignored without an error.
|
||||||
// Delete deletes the value for the given key.
|
Set(key string, val []byte, exp time.Duration) error
|
||||||
// It returns no error if the storage does not contain the key,
|
|
||||||
Delete(key string) error
|
// Delete deletes the value for the given key.
|
||||||
|
// It returns no error if the storage does not contain the key,
|
||||||
// Reset resets the storage and delete all keys.
|
Delete(key string) error
|
||||||
Reset() error
|
|
||||||
|
// Reset resets the storage and delete all keys.
|
||||||
// Close closes the storage and will stop any running garbage
|
Reset() error
|
||||||
// collectors and open connections.
|
|
||||||
Close() error
|
// Close closes the storage and will stop any running garbage
|
||||||
}
|
// collectors and open connections.
|
||||||
```
|
Close() error
|
||||||
|
}
|
||||||
## 📑 Storage Implementations
|
```
|
||||||
|
|
||||||
* [ArangoDB](/arangodb) <a href="https://github.com/gofiber/storage/actions?query=workflow%3A%22Tests+ArangoDB%22">
|
## 📑 Storage Implementations
|
||||||
<img src="https://img.shields.io/github/workflow/status/gofiber/storage/Tests%20ArangoDB?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) <a href="https://github.com/gofiber/storage/actions?query=workflow%3A%22Tests+Azure+Blob%22">
|
- [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>
|
||||||
<img src="https://img.shields.io/github/workflow/status/gofiber/storage/Tests%20Azure%20Blob?label=%F0%9F%A7%AA%20&style=flat&color=75C46B">
|
- [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>
|
||||||
</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>
|
||||||
* [Badger](/badger) <a href="https://github.com/gofiber/storage/actions?query=workflow%3A%22Tests+Badger%22">
|
- [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>
|
||||||
<img src="https://img.shields.io/github/workflow/status/gofiber/storage/Tests%20Badger?label=%F0%9F%A7%AA%20&style=flat&color=75C46B">
|
- [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>
|
||||||
</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>
|
||||||
* [Bbolt](/bbolt) <a href="https://github.com/gofiber/storage/actions?query=workflow%3A%22Tests+Bbolt%22">
|
- [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>
|
||||||
<img src="https://img.shields.io/github/workflow/status/gofiber/storage/Bbolt?label=%F0%9F%A7%AA%20&style=flat&color=75C46B">
|
- [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>
|
||||||
</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>
|
||||||
* [DynamoDB](/dynamodb) <a href="https://github.com/gofiber/storage/actions?query=workflow%3A%22Tests+DynamoDB%22">
|
- [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>
|
||||||
<img src="https://img.shields.io/github/workflow/status/gofiber/storage/Tests%20DynamoDB?label=%F0%9F%A7%AA%20&style=flat&color=75C46B">
|
- [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>
|
||||||
</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>
|
||||||
* [Memcache](/memcache) <a href="https://github.com/gofiber/storage/actions?query=workflow%3A%22Tests+Memcache%22">
|
- [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>
|
||||||
<img src="https://img.shields.io/github/workflow/status/gofiber/storage/Tests%20Memcache?label=%F0%9F%A7%AA%20&style=flat&color=75C46B">
|
- [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>
|
||||||
</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>
|
||||||
* [Memory](/memory) <a href="https://github.com/gofiber/storage/actions?query=workflow%3A%22Tests+Local+Storage%22">
|
- [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>
|
||||||
<img src="https://img.shields.io/github/workflow/status/gofiber/storage/Tests%20Local%20Storage?label=%F0%9F%A7%AA%20&style=flat&color=75C46B">
|
|
||||||
</a>
|
|
||||||
* [MongoDB](/mongodb) <a href="https://github.com/gofiber/storage/actions?query=workflow%3A%22Tests+Mongodb%22">
|
|
||||||
<img src="https://img.shields.io/github/workflow/status/gofiber/storage/Tests%20Mongodb?label=%F0%9F%A7%AA%20&style=flat&color=75C46B">
|
|
||||||
</a>
|
|
||||||
* [MSSQL](/mssql) <a href="https://github.com/gofiber/storage/actions?query=workflow%3A%22Tests+MSSQL%22">
|
|
||||||
<img src="https://img.shields.io/github/workflow/status/gofiber/storage/Tests%20MSSQL?label=%F0%9F%A7%AA%20&style=flat&color=75C46B">
|
|
||||||
</a>
|
|
||||||
* [MySQL](/mysql) <a href="https://github.com/gofiber/storage/actions?query=workflow%3A%22Tests+MySQL%22">
|
|
||||||
<img src="https://img.shields.io/github/workflow/status/gofiber/storage/Tests%20MySQL?label=%F0%9F%A7%AA%20&style=flat&color=75C46B">
|
|
||||||
</a>
|
|
||||||
* [Postgres](/postgres) <a href="https://github.com/gofiber/storage/actions?query=workflow%3A%22Tests+Postgres%22">
|
|
||||||
<img src="https://img.shields.io/github/workflow/status/gofiber/storage/Tests%20Postgres?label=%F0%9F%A7%AA%20&style=flat&color=75C46B">
|
|
||||||
</a>
|
|
||||||
* [Redis](/redis) <a href="https://github.com/gofiber/storage/actions?query=workflow%3A%22Tests+Redis%22">
|
|
||||||
<img src="https://img.shields.io/github/workflow/status/gofiber/storage/Tests%20Redis?label=%F0%9F%A7%AA%20&style=flat&color=75C46B">
|
|
||||||
</a>
|
|
||||||
* [SQLite3](/sqlite3) <a href="https://github.com/gofiber/storage/actions?query=workflow%3A%22Tests+Sqlite3%22">
|
|
||||||
<img src="https://img.shields.io/github/workflow/status/gofiber/storage/Tests%20Sqlite3?label=%F0%9F%A7%AA%20&style=flat&color=75C46B">
|
|
||||||
</a>
|
|
||||||
* [S3](/s3) <a href="https://github.com/gofiber/storage/actions?query=workflow%3A%22Tests+S3%22">
|
|
||||||
<img src="https://img.shields.io/github/workflow/status/gofiber/storage/Tests%20S3?label=%F0%9F%A7%AA%20&style=flat&color=75C46B">
|
|
||||||
</a>
|
|
||||||
|
@@ -1,4 +1,14 @@
|
|||||||
# ArangoDB
|
---
|
||||||
|
id: arangodb
|
||||||
|
title: ArangoDB
|
||||||
|
---
|
||||||
|
|
||||||
|

|
||||||
|
[](https://gofiber.io/discord)
|
||||||
|

|
||||||
|

|
||||||
|

|
||||||
|
|
||||||
A ArangoDB storage driver using `arangodb/go-driver` and [arangodb/go-driver](https://github.com/arangodb/go-driver).
|
A ArangoDB storage driver using `arangodb/go-driver` and [arangodb/go-driver](https://github.com/arangodb/go-driver).
|
||||||
|
|
||||||
### Table of Contents
|
### Table of Contents
|
||||||
|
@@ -1,8 +1,13 @@
|
|||||||
module github.com/gofiber/storage/arangodb
|
module github.com/gofiber/storage/arangodb
|
||||||
|
|
||||||
go 1.16
|
go 1.17
|
||||||
|
|
||||||
require (
|
require (
|
||||||
github.com/arangodb/go-driver v1.4.1
|
github.com/arangodb/go-driver v1.6.0
|
||||||
github.com/gofiber/utils v1.0.1
|
github.com/gofiber/utils v1.1.0
|
||||||
|
)
|
||||||
|
|
||||||
|
require (
|
||||||
|
github.com/arangodb/go-velocypack v0.0.0-20200318135517-5af53c29c67e // indirect
|
||||||
|
github.com/pkg/errors v0.9.1 // indirect
|
||||||
)
|
)
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
github.com/arangodb/go-driver v1.4.1 h1:Jg0N7XKxiKwjswmAcMCnefWmt81KJEqybqRAGJDRWlo=
|
github.com/arangodb/go-driver v1.6.0 h1:NFWj/idqXZxhFVueihMSI2R9NotNIsgvNfM/xmpekb4=
|
||||||
github.com/arangodb/go-driver v1.4.1/go.mod h1:UTtaxTUMmyPWzKc2dsWWOZzZ3yM6aHWxn/eubGa3YmQ=
|
github.com/arangodb/go-driver v1.6.0/go.mod h1:HQmdGkvNMVBTE3SIPSQ8T/ZddC6iwNsfMR+dDJQxIsI=
|
||||||
github.com/arangodb/go-velocypack v0.0.0-20200318135517-5af53c29c67e h1:Xg+hGrY2LcQBbxd0ZFdbGSyRKTYMZCfBbw/pMJFOk1g=
|
github.com/arangodb/go-velocypack v0.0.0-20200318135517-5af53c29c67e h1:Xg+hGrY2LcQBbxd0ZFdbGSyRKTYMZCfBbw/pMJFOk1g=
|
||||||
github.com/arangodb/go-velocypack v0.0.0-20200318135517-5af53c29c67e/go.mod h1:mq7Shfa/CaixoDxiyAAc5jZ6CVBAyPaNQCGS7mkj4Ho=
|
github.com/arangodb/go-velocypack v0.0.0-20200318135517-5af53c29c67e/go.mod h1:mq7Shfa/CaixoDxiyAAc5jZ6CVBAyPaNQCGS7mkj4Ho=
|
||||||
github.com/coreos/go-iptables v0.6.0/go.mod h1:Qe8Bv2Xik5FyTXwgIbLAnv2sWSBmvWdFETJConOQ//Q=
|
github.com/coreos/go-iptables v0.6.0/go.mod h1:Qe8Bv2Xik5FyTXwgIbLAnv2sWSBmvWdFETJConOQ//Q=
|
||||||
@@ -7,8 +7,8 @@ github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7
|
|||||||
github.com/davecgh/go-spew v1.1.0 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8=
|
github.com/davecgh/go-spew v1.1.0 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8=
|
||||||
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||||
github.com/dchest/uniuri v0.0.0-20160212164326-8902c56451e9/go.mod h1:GgB8SF9nRG+GqaDtLcwJZsQFhcogVCJ79j4EdT0c2V4=
|
github.com/dchest/uniuri v0.0.0-20160212164326-8902c56451e9/go.mod h1:GgB8SF9nRG+GqaDtLcwJZsQFhcogVCJ79j4EdT0c2V4=
|
||||||
github.com/gofiber/utils v1.0.1 h1:knct4cXwBipWQqFrOy1Pv6UcgPM+EXo9jDgc66V1Qio=
|
github.com/gofiber/utils v1.1.0 h1:vdEBpn7AzIUJRhe+CiTOJdUcTg4Q9RK+pEa0KPbLdrM=
|
||||||
github.com/gofiber/utils v1.0.1/go.mod h1:pacRFtghAE3UoknMOUiXh2Io/nLWSUHtQCi/3QASsOc=
|
github.com/gofiber/utils v1.1.0/go.mod h1:poZpsnhBykfnY1Mc0KeEa6mSHrS3dV0+oBWyeQmb2e0=
|
||||||
github.com/golang-jwt/jwt v3.2.2+incompatible/go.mod h1:8pz2t5EyA70fFQQSrl6XZXzqecmYZeUEB8OUGHkxJ+I=
|
github.com/golang-jwt/jwt v3.2.2+incompatible/go.mod h1:8pz2t5EyA70fFQQSrl6XZXzqecmYZeUEB8OUGHkxJ+I=
|
||||||
github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
|
github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
|
||||||
github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
|
github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
|
||||||
@@ -21,17 +21,33 @@ github.com/rs/zerolog v1.19.0/go.mod h1:IzD0RJ65iWH0w97OQQebJEvTZYvsCUm9WVLWBQrJ
|
|||||||
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
|
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
|
||||||
github.com/stretchr/testify v1.5.1 h1:nOGnQDM7FYENwehXlg/kFVnos3rEvtKTjRvOWSzb6H4=
|
github.com/stretchr/testify v1.5.1 h1:nOGnQDM7FYENwehXlg/kFVnos3rEvtKTjRvOWSzb6H4=
|
||||||
github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA=
|
github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA=
|
||||||
|
github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY=
|
||||||
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
|
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
|
||||||
golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
|
golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
|
||||||
golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
|
golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4=
|
||||||
golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
|
golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
|
||||||
golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA=
|
golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
|
||||||
|
golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c=
|
||||||
|
golang.org/x/net v0.7.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs=
|
||||||
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||||
|
golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||||
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
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-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||||
golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||||
|
golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||||
|
golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||||
|
golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||||
|
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
|
||||||
|
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
|
||||||
|
golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k=
|
||||||
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
|
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.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
|
||||||
|
golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
|
||||||
|
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
||||||
golang.org/x/tools v0.0.0-20190828213141-aed303cbaa74/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
|
golang.org/x/tools v0.0.0-20190828213141-aed303cbaa74/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
|
||||||
|
golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
|
||||||
|
golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc=
|
||||||
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||||
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
||||||
gopkg.in/yaml.v2 v2.2.2 h1:ZCJp+EgiOT7lHqUV2J862kp8Qj64Jo6az82+3Td9dZw=
|
gopkg.in/yaml.v2 v2.2.2 h1:ZCJp+EgiOT7lHqUV2J862kp8Qj64Jo6az82+3Td9dZw=
|
||||||
|
@@ -1,4 +1,13 @@
|
|||||||
# Azure blob
|
---
|
||||||
|
id: azureblob
|
||||||
|
title: Azure Blob
|
||||||
|
---
|
||||||
|
|
||||||
|

|
||||||
|
[](https://gofiber.io/discord)
|
||||||
|

|
||||||
|

|
||||||
|

|
||||||
|
|
||||||
[Azure Blob storage](https://azure.microsoft.com/en-us/products/storage/blobs/#overview) is Microsoft's object storage solution for the cloud.
|
[Azure Blob storage](https://azure.microsoft.com/en-us/products/storage/blobs/#overview) is Microsoft's object storage solution for the cloud.
|
||||||
|
|
||||||
|
@@ -4,13 +4,14 @@ go 1.18
|
|||||||
|
|
||||||
require (
|
require (
|
||||||
github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v0.6.1
|
github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v0.6.1
|
||||||
github.com/gofiber/fiber/v2 v2.40.0
|
github.com/gofiber/fiber/v2 v2.43.0
|
||||||
)
|
)
|
||||||
|
|
||||||
require (
|
require (
|
||||||
github.com/Azure/azure-sdk-for-go/sdk/azcore v1.2.0 // indirect
|
github.com/Azure/azure-sdk-for-go/sdk/azcore v1.2.0 // indirect
|
||||||
github.com/Azure/azure-sdk-for-go/sdk/internal v1.1.2 // indirect
|
github.com/Azure/azure-sdk-for-go/sdk/internal v1.1.2 // indirect
|
||||||
github.com/google/uuid v1.3.0 // indirect
|
github.com/google/uuid v1.3.0 // indirect
|
||||||
golang.org/x/net v0.4.0 // indirect
|
golang.org/x/crypto v0.7.0 // indirect
|
||||||
golang.org/x/text v0.5.0 // indirect
|
golang.org/x/net v0.8.0 // indirect
|
||||||
|
golang.org/x/text v0.8.0 // indirect
|
||||||
)
|
)
|
||||||
|
@@ -1,19 +1,15 @@
|
|||||||
github.com/Azure/azure-sdk-for-go/sdk/azcore v1.2.0 h1:sVW/AFBTGyJxDaMYlq0ct3jUXTtj12tQ6zE2GZUgVQw=
|
github.com/Azure/azure-sdk-for-go/sdk/azcore v1.2.0 h1:sVW/AFBTGyJxDaMYlq0ct3jUXTtj12tQ6zE2GZUgVQw=
|
||||||
github.com/Azure/azure-sdk-for-go/sdk/azcore v1.2.0/go.mod h1:uGG2W01BaETf0Ozp+QxxKJdMBNRWPdstHG0Fmdwn1/U=
|
github.com/Azure/azure-sdk-for-go/sdk/azcore v1.2.0/go.mod h1:uGG2W01BaETf0Ozp+QxxKJdMBNRWPdstHG0Fmdwn1/U=
|
||||||
github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.1.0 h1:QkAcEIAKbNL4KoFr4SathZPhDhF4mVwpBMFlYjyAqy8=
|
github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.1.0 h1:QkAcEIAKbNL4KoFr4SathZPhDhF4mVwpBMFlYjyAqy8=
|
||||||
github.com/Azure/azure-sdk-for-go/sdk/internal v1.1.1 h1:Oj853U9kG+RLTCQXpjvOnrv0WaZHxgmZz1TlLywgOPY=
|
|
||||||
github.com/Azure/azure-sdk-for-go/sdk/internal v1.1.1/go.mod h1:eWRD7oawr1Mu1sLCawqVc0CUiF43ia3qQMxLscsKQ9w=
|
|
||||||
github.com/Azure/azure-sdk-for-go/sdk/internal v1.1.2 h1:+5VZ72z0Qan5Bog5C+ZkgSqUbeVUd9wgtHOrIKuc5b8=
|
github.com/Azure/azure-sdk-for-go/sdk/internal v1.1.2 h1:+5VZ72z0Qan5Bog5C+ZkgSqUbeVUd9wgtHOrIKuc5b8=
|
||||||
github.com/Azure/azure-sdk-for-go/sdk/internal v1.1.2/go.mod h1:eWRD7oawr1Mu1sLCawqVc0CUiF43ia3qQMxLscsKQ9w=
|
github.com/Azure/azure-sdk-for-go/sdk/internal v1.1.2/go.mod h1:eWRD7oawr1Mu1sLCawqVc0CUiF43ia3qQMxLscsKQ9w=
|
||||||
github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v0.5.1 h1:BMTdr+ib5ljLa9MxTJK8x/Ds0MbBb4MfuW5BL0zMJnI=
|
|
||||||
github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v0.5.1/go.mod h1:c6WvOhtmjNUWbLfOG1qxM/q0SPvQNSVJvolm+C52dIU=
|
|
||||||
github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v0.6.1 h1:YvQv9Mz6T8oR5ypQOL6erY0Z5t71ak1uHV4QFokCOZk=
|
github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v0.6.1 h1:YvQv9Mz6T8oR5ypQOL6erY0Z5t71ak1uHV4QFokCOZk=
|
||||||
github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v0.6.1/go.mod h1:c6WvOhtmjNUWbLfOG1qxM/q0SPvQNSVJvolm+C52dIU=
|
github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v0.6.1/go.mod h1:c6WvOhtmjNUWbLfOG1qxM/q0SPvQNSVJvolm+C52dIU=
|
||||||
github.com/AzureAD/microsoft-authentication-library-for-go v0.5.1 h1:BWe8a+f/t+7KY7zH2mqygeUD0t8hNFXe08p1Pb3/jKE=
|
github.com/AzureAD/microsoft-authentication-library-for-go v0.5.1 h1:BWe8a+f/t+7KY7zH2mqygeUD0t8hNFXe08p1Pb3/jKE=
|
||||||
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
|
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
|
||||||
github.com/dnaeon/go-vcr v1.1.0 h1:ReYa/UBrRyQdant9B4fNHGoCNKw6qh6P0fsdGmZpR7c=
|
github.com/dnaeon/go-vcr v1.1.0 h1:ReYa/UBrRyQdant9B4fNHGoCNKw6qh6P0fsdGmZpR7c=
|
||||||
github.com/gofiber/fiber/v2 v2.40.0 h1:fdU7w5hT6PLL7jiWIhtQ+S/k5WEFYoUZidptlPu8GBo=
|
github.com/gofiber/fiber/v2 v2.43.0 h1:yit3E4kHf178B60p5CQBa/3v+WVuziWMa/G2ZNyLJB0=
|
||||||
github.com/gofiber/fiber/v2 v2.40.0/go.mod h1:Gko04sLksnHbzLSRBFWPFdzM9Ws9pRxvvIaohJK1dsk=
|
github.com/gofiber/fiber/v2 v2.43.0/go.mod h1:mpS1ZNE5jU+u+BA4FbM+KKnUzJ4wzTK+FT2tG3tU+6I=
|
||||||
github.com/golang-jwt/jwt v3.2.1+incompatible h1:73Z+4BJcrTC+KczS6WvTPvRGOp1WmfEP4Q1lOd9Z/+c=
|
github.com/golang-jwt/jwt v3.2.1+incompatible h1:73Z+4BJcrTC+KczS6WvTPvRGOp1WmfEP4Q1lOd9Z/+c=
|
||||||
github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I=
|
github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I=
|
||||||
github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
|
github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
|
||||||
@@ -21,15 +17,12 @@ github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0
|
|||||||
github.com/pkg/browser v0.0.0-20210115035449-ce105d075bb4 h1:Qj1ukM4GlMWXNdMBuXcXfz/Kw9s1qm0CLY32QxuSImI=
|
github.com/pkg/browser v0.0.0-20210115035449-ce105d075bb4 h1:Qj1ukM4GlMWXNdMBuXcXfz/Kw9s1qm0CLY32QxuSImI=
|
||||||
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
|
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
|
||||||
github.com/stretchr/testify v1.7.1 h1:5TQK59W5E3v0r2duFAb7P95B6hEeOyEnHRa8MjYSMTY=
|
github.com/stretchr/testify v1.7.1 h1:5TQK59W5E3v0r2duFAb7P95B6hEeOyEnHRa8MjYSMTY=
|
||||||
golang.org/x/crypto v0.0.0-20220511200225-c6db032c6c88 h1:Tgea0cVUD0ivh5ADBX4WwuI12DUd2to3nCYe2eayMIw=
|
golang.org/x/crypto v0.7.0 h1:AvwMYaRytfdeVt3u6mLaxYtErKYjxA2OXjJ1HHq6t3A=
|
||||||
golang.org/x/net v0.2.0 h1:sZfSu1wtKLGlWI4ZZayP0ck9Y73K1ynO6gqzTdBVdPU=
|
golang.org/x/crypto v0.7.0/go.mod h1:pYwdfH91IfpZVANVyUOhSIPZaFoJGxTFbZhFTx+dXZU=
|
||||||
golang.org/x/net v0.2.0/go.mod h1:KqCZLdyyvdV855qA2rE3GC2aiw5xGR5TEjj8smXukLY=
|
golang.org/x/net v0.8.0 h1:Zrh2ngAOFYneWTAIAPethzeaQLuHwhuBkuV6ZiRnUaQ=
|
||||||
golang.org/x/net v0.4.0 h1:Q5QPcMlvfxFTAPV0+07Xz/MpK9NTXu2VDUuy0FeMfaU=
|
golang.org/x/net v0.8.0/go.mod h1:QVkue5JL9kW//ek3r6jTKnTFis1tRmNAW2P1shuFdJc=
|
||||||
golang.org/x/net v0.4.0/go.mod h1:MBQ8lrhLObU/6UmLb4fmbmk5OcyYmqtbGd/9yIeKjEE=
|
golang.org/x/sys v0.6.0 h1:MVltZSvRTcU2ljQOhs94SXPftV6DCNnZViHeQps87pQ=
|
||||||
golang.org/x/sys v0.2.0 h1:ljd4t30dBnAvMZaQCevtY0xLLD0A+bRZXbgLMLU1F/A=
|
golang.org/x/text v0.8.0 h1:57P1ETyNKtuIjB4SRd15iJxuhj8Gc416Y78H3qgMh68=
|
||||||
golang.org/x/text v0.4.0 h1:BrVqGRd7+k1DiOgtnFvAkoQEWQvBc25ouMJM6429SFg=
|
golang.org/x/text v0.8.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8=
|
||||||
golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
|
|
||||||
golang.org/x/text v0.5.0 h1:OLmvp0KP+FVG99Ct/qFiL/Fhk4zp4QQnZ7b2U+5piUM=
|
|
||||||
golang.org/x/text v0.5.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
|
|
||||||
gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY=
|
gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY=
|
||||||
gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b h1:h8qDotaEPuJATrMmW04NCwg7v22aHH28wwpauUhK9Oo=
|
gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b h1:h8qDotaEPuJATrMmW04NCwg7v22aHH28wwpauUhK9Oo=
|
||||||
|
@@ -1,4 +1,13 @@
|
|||||||
# Badger
|
---
|
||||||
|
id: badger
|
||||||
|
title: Badger
|
||||||
|
---
|
||||||
|
|
||||||
|

|
||||||
|
[](https://gofiber.io/discord)
|
||||||
|

|
||||||
|

|
||||||
|

|
||||||
|
|
||||||
A fast key-value DB using [dgraph-io/badger](https://github.com/dgraph-io/badger)
|
A fast key-value DB using [dgraph-io/badger](https://github.com/dgraph-io/badger)
|
||||||
|
|
||||||
|
@@ -4,7 +4,7 @@ go 1.18
|
|||||||
|
|
||||||
require (
|
require (
|
||||||
github.com/dgraph-io/badger/v3 v3.2103.5
|
github.com/dgraph-io/badger/v3 v3.2103.5
|
||||||
github.com/gofiber/utils v1.0.1
|
github.com/gofiber/utils v1.1.0
|
||||||
)
|
)
|
||||||
|
|
||||||
require (
|
require (
|
||||||
@@ -21,7 +21,7 @@ require (
|
|||||||
github.com/klauspost/compress v1.15.12 // indirect
|
github.com/klauspost/compress v1.15.12 // indirect
|
||||||
github.com/pkg/errors v0.9.1 // indirect
|
github.com/pkg/errors v0.9.1 // indirect
|
||||||
go.opencensus.io v0.24.0 // indirect
|
go.opencensus.io v0.24.0 // indirect
|
||||||
golang.org/x/net v0.2.0 // indirect
|
golang.org/x/net v0.7.0 // indirect
|
||||||
golang.org/x/sys v0.2.0 // indirect
|
golang.org/x/sys v0.5.0 // indirect
|
||||||
google.golang.org/protobuf v1.28.1 // indirect
|
google.golang.org/protobuf v1.28.1 // indirect
|
||||||
)
|
)
|
||||||
|
@@ -31,8 +31,8 @@ github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.m
|
|||||||
github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98=
|
github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98=
|
||||||
github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c=
|
github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c=
|
||||||
github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo=
|
github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo=
|
||||||
github.com/gofiber/utils v1.0.1 h1:knct4cXwBipWQqFrOy1Pv6UcgPM+EXo9jDgc66V1Qio=
|
github.com/gofiber/utils v1.1.0 h1:vdEBpn7AzIUJRhe+CiTOJdUcTg4Q9RK+pEa0KPbLdrM=
|
||||||
github.com/gofiber/utils v1.0.1/go.mod h1:pacRFtghAE3UoknMOUiXh2Io/nLWSUHtQCi/3QASsOc=
|
github.com/gofiber/utils v1.1.0/go.mod h1:poZpsnhBykfnY1Mc0KeEa6mSHrS3dV0+oBWyeQmb2e0=
|
||||||
github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q=
|
github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q=
|
||||||
github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q=
|
github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q=
|
||||||
github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q=
|
github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q=
|
||||||
@@ -136,8 +136,8 @@ golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLL
|
|||||||
golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/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.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
|
||||||
golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
|
golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
|
||||||
golang.org/x/net v0.2.0 h1:sZfSu1wtKLGlWI4ZZayP0ck9Y73K1ynO6gqzTdBVdPU=
|
golang.org/x/net v0.7.0 h1:rJrUqqhjsgNp7KqAIc25s9pZnjU7TUcSY7HcVZjdn1g=
|
||||||
golang.org/x/net v0.2.0/go.mod h1:KqCZLdyyvdV855qA2rE3GC2aiw5xGR5TEjj8smXukLY=
|
golang.org/x/net v0.7.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs=
|
||||||
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
|
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
|
||||||
golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||||
golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||||
@@ -152,8 +152,8 @@ golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7w
|
|||||||
golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||||
golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||||
golang.org/x/sys v0.0.0-20221010170243-090e33056c14/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
golang.org/x/sys v0.0.0-20221010170243-090e33056c14/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||||
golang.org/x/sys v0.2.0 h1:ljd4t30dBnAvMZaQCevtY0xLLD0A+bRZXbgLMLU1F/A=
|
golang.org/x/sys v0.5.0 h1:MUK/U/4lj1t1oPg0HfuXDN/Z1wv31ZJ/YcPiGccS4DU=
|
||||||
golang.org/x/sys v0.2.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||||
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
|
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.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
|
||||||
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
||||||
|
@@ -1,4 +1,14 @@
|
|||||||
# Bbolt
|
---
|
||||||
|
id: bbolt
|
||||||
|
title: Bbolt
|
||||||
|
---
|
||||||
|
|
||||||
|

|
||||||
|
[](https://gofiber.io/discord)
|
||||||
|

|
||||||
|

|
||||||
|

|
||||||
|
|
||||||
A Bbolt storage driver using [etcd-io/bbolt](https://github.com/etcd-io/bbolt). Bolt is a pure Go key/value store inspired by [Howard Chu's](https://twitter.com/hyc_symas) [LMDB project](https://www.symas.com/symas-embedded-database-lmdb). The goal of the project is to provide a simple, fast, and reliable database for projects that don't require a full database server such as Postgres or MySQL.
|
A Bbolt storage driver using [etcd-io/bbolt](https://github.com/etcd-io/bbolt). Bolt is a pure Go key/value store inspired by [Howard Chu's](https://twitter.com/hyc_symas) [LMDB project](https://www.symas.com/symas-embedded-database-lmdb). The goal of the project is to provide a simple, fast, and reliable database for projects that don't require a full database server such as Postgres or MySQL.
|
||||||
|
|
||||||
|
|
||||||
|
92
couchbase/README.md
Normal file
92
couchbase/README.md
Normal file
@@ -0,0 +1,92 @@
|
|||||||
|
---
|
||||||
|
id: couchbase
|
||||||
|
title: Couchbase
|
||||||
|
---
|
||||||
|
|
||||||
|

|
||||||
|
[](https://gofiber.io/discord)
|
||||||
|

|
||||||
|

|
||||||
|

|
||||||
|
|
||||||
|
A Couchbase storage driver using [couchbase/gocb](https://github.com/couchbase/gocb).
|
||||||
|
|
||||||
|
### 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) Set(key string, val []byte, exp time.Duration) error
|
||||||
|
func (s *Storage) Delete(key string) error
|
||||||
|
func (s *Storage) Reset() error
|
||||||
|
func (s *Storage) Close() error
|
||||||
|
func (s *Storage) Conn() *gocb.Cluster
|
||||||
|
```
|
||||||
|
### Installation
|
||||||
|
Couchbase 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 Couchbase implementation:
|
||||||
|
```bash
|
||||||
|
go get github.com/gofiber/storage/couchbase
|
||||||
|
```
|
||||||
|
|
||||||
|
### Examples
|
||||||
|
Import the storage package.
|
||||||
|
```go
|
||||||
|
import "github.com/gofiber/storage/couchbase"
|
||||||
|
```
|
||||||
|
|
||||||
|
You can use the following possibilities to create a storage:
|
||||||
|
```go
|
||||||
|
// Initialize default config
|
||||||
|
store := couchbase.New()
|
||||||
|
|
||||||
|
// Initialize Couchbase storage with custom config
|
||||||
|
store := couchbase.New(couchbase.Config{
|
||||||
|
Host: "127.0.0.1:8091",
|
||||||
|
Username: "",
|
||||||
|
Password: "",
|
||||||
|
Bucket: 0,
|
||||||
|
ConnectionTimeout: 3* time.Second,
|
||||||
|
KVTimeout: 1* time.Second,
|
||||||
|
})
|
||||||
|
```
|
||||||
|
|
||||||
|
### Config
|
||||||
|
```go
|
||||||
|
type Config struct {
|
||||||
|
// The application username to Connect to the Couchbase cluster
|
||||||
|
Username string
|
||||||
|
// The application password to Connect to the Couchbase cluster
|
||||||
|
Password string
|
||||||
|
// The connection string for the Couchbase cluster
|
||||||
|
Host string
|
||||||
|
// The name of the bucket to Connect to
|
||||||
|
Bucket string
|
||||||
|
// The timeout for connecting to the Couchbase cluster
|
||||||
|
ConnectionTimeout time.Duration
|
||||||
|
// The timeout for performing operations on the Couchbase cluster
|
||||||
|
KVTimeout time.Duration
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
### Default Config
|
||||||
|
```go
|
||||||
|
// ConfigDefault is the default config
|
||||||
|
var ConfigDefault = Config{
|
||||||
|
Host: "127.0.0.1:8091",
|
||||||
|
Username: "admin",
|
||||||
|
Password: "123456",
|
||||||
|
Bucket: "fiber_storage",
|
||||||
|
ConnectionTimeout: 3 * time.Second,
|
||||||
|
KVTimeout: 1 * time.Second,
|
||||||
|
}
|
||||||
|
```
|
62
couchbase/config.go
Normal file
62
couchbase/config.go
Normal file
@@ -0,0 +1,62 @@
|
|||||||
|
package couchbase
|
||||||
|
|
||||||
|
import (
|
||||||
|
"time"
|
||||||
|
)
|
||||||
|
|
||||||
|
type Config struct {
|
||||||
|
// The application username to Connect to the Couchbase cluster
|
||||||
|
Username string
|
||||||
|
// The application password to Connect to the Couchbase cluster
|
||||||
|
Password string
|
||||||
|
// The connection string for the Couchbase cluster
|
||||||
|
Host string
|
||||||
|
// The name of the bucket to Connect to
|
||||||
|
Bucket string
|
||||||
|
// The timeout for connecting to the Couchbase cluster
|
||||||
|
ConnectionTimeout time.Duration
|
||||||
|
// The timeout for performing operations on the Couchbase cluster
|
||||||
|
KVTimeout time.Duration
|
||||||
|
}
|
||||||
|
|
||||||
|
// ConfigDefault is the default config
|
||||||
|
var ConfigDefault = Config{
|
||||||
|
Host: "127.0.0.1:8091",
|
||||||
|
Username: "admin",
|
||||||
|
Password: "123456",
|
||||||
|
Bucket: "fiber_storage",
|
||||||
|
ConnectionTimeout: 3 * time.Second,
|
||||||
|
KVTimeout: 1 * time.Second,
|
||||||
|
}
|
||||||
|
|
||||||
|
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
|
||||||
|
if cfg.Username == "" {
|
||||||
|
cfg.Username = ConfigDefault.Username
|
||||||
|
}
|
||||||
|
if cfg.Password == "" {
|
||||||
|
cfg.Password = ConfigDefault.Password
|
||||||
|
}
|
||||||
|
if cfg.Host == "" {
|
||||||
|
cfg.Host = ConfigDefault.Host
|
||||||
|
}
|
||||||
|
if cfg.Bucket == "" {
|
||||||
|
cfg.Bucket = ConfigDefault.Bucket
|
||||||
|
}
|
||||||
|
if cfg.ConnectionTimeout == 0 {
|
||||||
|
cfg.ConnectionTimeout = ConfigDefault.ConnectionTimeout
|
||||||
|
}
|
||||||
|
if cfg.KVTimeout == 0 {
|
||||||
|
cfg.KVTimeout = ConfigDefault.KVTimeout
|
||||||
|
}
|
||||||
|
|
||||||
|
return cfg
|
||||||
|
}
|
97
couchbase/couchbase.go
Normal file
97
couchbase/couchbase.go
Normal file
@@ -0,0 +1,97 @@
|
|||||||
|
package couchbase
|
||||||
|
|
||||||
|
import (
|
||||||
|
"time"
|
||||||
|
|
||||||
|
"github.com/couchbase/gocb/v2"
|
||||||
|
)
|
||||||
|
|
||||||
|
type Storage struct {
|
||||||
|
cb *gocb.Cluster
|
||||||
|
bucket *gocb.Bucket
|
||||||
|
}
|
||||||
|
|
||||||
|
func New(config ...Config) *Storage {
|
||||||
|
// Set default config
|
||||||
|
cfg := configDefault(config...)
|
||||||
|
|
||||||
|
cb, err := gocb.Connect(cfg.Host, gocb.ClusterOptions{
|
||||||
|
Authenticator: gocb.PasswordAuthenticator{
|
||||||
|
Username: cfg.Username,
|
||||||
|
Password: cfg.Password,
|
||||||
|
},
|
||||||
|
TimeoutsConfig: gocb.TimeoutsConfig{
|
||||||
|
ConnectTimeout: cfg.ConnectionTimeout,
|
||||||
|
KVTimeout: cfg.KVTimeout,
|
||||||
|
},
|
||||||
|
Transcoder: gocb.NewLegacyTranscoder(),
|
||||||
|
})
|
||||||
|
|
||||||
|
if err != nil {
|
||||||
|
panic(err)
|
||||||
|
}
|
||||||
|
|
||||||
|
_, err = cb.Ping(&gocb.PingOptions{
|
||||||
|
Timeout: cfg.ConnectionTimeout,
|
||||||
|
})
|
||||||
|
|
||||||
|
if err != nil {
|
||||||
|
panic(err)
|
||||||
|
}
|
||||||
|
|
||||||
|
b := cb.Bucket(cfg.Bucket)
|
||||||
|
|
||||||
|
return &Storage{cb: cb, bucket: b}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (s *Storage) Get(key string) ([]byte, error) {
|
||||||
|
out, err := s.bucket.DefaultCollection().Get(key, nil)
|
||||||
|
if err != nil {
|
||||||
|
switch e := err.(type) {
|
||||||
|
case *gocb.KeyValueError:
|
||||||
|
if e.InnerError.Error() == gocb.ErrDocumentNotFound.Error() {
|
||||||
|
return nil, nil
|
||||||
|
}
|
||||||
|
default: //*gocb.TimeoutError,...
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
var value []byte
|
||||||
|
if err := out.Content(&value); err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
return value, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (s *Storage) Set(key string, val []byte, exp time.Duration) error {
|
||||||
|
if _, err := s.bucket.DefaultCollection().Upsert(key, val, &gocb.UpsertOptions{
|
||||||
|
Expiry: exp,
|
||||||
|
}); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (s *Storage) Delete(key string) error {
|
||||||
|
if _, err := s.bucket.DefaultCollection().Remove(key, nil); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (s *Storage) Reset() error {
|
||||||
|
return s.cb.Buckets().FlushBucket(s.bucket.Name(), nil)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (s *Storage) Close() error {
|
||||||
|
return s.cb.Close(nil)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (s *Storage) Conn() *gocb.Cluster {
|
||||||
|
return s.cb
|
||||||
|
}
|
130
couchbase/couchbase_test.go
Normal file
130
couchbase/couchbase_test.go
Normal file
@@ -0,0 +1,130 @@
|
|||||||
|
package couchbase
|
||||||
|
|
||||||
|
import (
|
||||||
|
"testing"
|
||||||
|
"time"
|
||||||
|
|
||||||
|
"github.com/gofiber/utils"
|
||||||
|
)
|
||||||
|
|
||||||
|
func TestSetCouchbase_ShouldReturnNoError(t *testing.T) {
|
||||||
|
testStorage := New(Config{
|
||||||
|
Username: "admin",
|
||||||
|
Password: "123456",
|
||||||
|
Host: "127.0.0.1:8091",
|
||||||
|
Bucket: "fiber_storage",
|
||||||
|
})
|
||||||
|
|
||||||
|
err := testStorage.Set("test", []byte("test"), 0)
|
||||||
|
|
||||||
|
utils.AssertEqual(t, nil, err)
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestGetCouchbase_ShouldReturnNil_WhenDocumentNotFound(t *testing.T) {
|
||||||
|
testStorage := New(Config{
|
||||||
|
Username: "admin",
|
||||||
|
Password: "123456",
|
||||||
|
Host: "127.0.0.1:8091",
|
||||||
|
Bucket: "fiber_storage",
|
||||||
|
})
|
||||||
|
|
||||||
|
val, err := testStorage.Get("not_found_key")
|
||||||
|
|
||||||
|
utils.AssertEqual(t, nil, err)
|
||||||
|
utils.AssertEqual(t, 0, len(val))
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestSetAndGet_GetShouldReturn_SettedValueWithoutError(t *testing.T) {
|
||||||
|
testStorage := New(Config{
|
||||||
|
Username: "admin",
|
||||||
|
Password: "123456",
|
||||||
|
Host: "127.0.0.1:8091",
|
||||||
|
Bucket: "fiber_storage",
|
||||||
|
})
|
||||||
|
|
||||||
|
err := testStorage.Set("test", []byte("fiber_test_value"), 0)
|
||||||
|
utils.AssertEqual(t, nil, err)
|
||||||
|
|
||||||
|
val, err := testStorage.Get("test")
|
||||||
|
|
||||||
|
utils.AssertEqual(t, nil, err)
|
||||||
|
utils.AssertEqual(t, val, []byte("fiber_test_value"))
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestSetAndGet_GetShouldReturnNil_WhenTTLExpired(t *testing.T) {
|
||||||
|
testStorage := New(Config{
|
||||||
|
Username: "admin",
|
||||||
|
Password: "123456",
|
||||||
|
Host: "127.0.0.1:8091",
|
||||||
|
Bucket: "fiber_storage",
|
||||||
|
})
|
||||||
|
|
||||||
|
err := testStorage.Set("test", []byte("fiber_test_value"), 3*time.Second)
|
||||||
|
utils.AssertEqual(t, nil, err)
|
||||||
|
|
||||||
|
time.Sleep(6 * time.Second)
|
||||||
|
|
||||||
|
val, err := testStorage.Get("test")
|
||||||
|
|
||||||
|
utils.AssertEqual(t, nil, err)
|
||||||
|
utils.AssertEqual(t, 0, len(val))
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestSetAndDelete_DeleteShouldReturn_NoError(t *testing.T) {
|
||||||
|
testStorage := New(Config{
|
||||||
|
Username: "admin",
|
||||||
|
Password: "123456",
|
||||||
|
Host: "127.0.0.1:8091",
|
||||||
|
Bucket: "fiber_storage",
|
||||||
|
})
|
||||||
|
|
||||||
|
err := testStorage.Set("test", []byte("fiber_test_value"), 0)
|
||||||
|
utils.AssertEqual(t, nil, err)
|
||||||
|
|
||||||
|
err = testStorage.Delete("test")
|
||||||
|
utils.AssertEqual(t, nil, err)
|
||||||
|
|
||||||
|
_, err = testStorage.Get("test")
|
||||||
|
utils.AssertEqual(t, nil, err)
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestSetAndReset_ResetShouldReturn_NoError(t *testing.T) {
|
||||||
|
testStorage := New(Config{
|
||||||
|
Username: "admin",
|
||||||
|
Password: "123456",
|
||||||
|
Host: "127.0.0.1:8091",
|
||||||
|
Bucket: "fiber_storage",
|
||||||
|
})
|
||||||
|
|
||||||
|
err := testStorage.Set("test", []byte("fiber_test_value"), 0)
|
||||||
|
utils.AssertEqual(t, nil, err)
|
||||||
|
|
||||||
|
err = testStorage.Reset()
|
||||||
|
utils.AssertEqual(t, nil, err)
|
||||||
|
|
||||||
|
_, err = testStorage.Get("test")
|
||||||
|
utils.AssertEqual(t, nil, err)
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestClose_CloseShouldReturn_NoError(t *testing.T) {
|
||||||
|
testStorage := New(Config{
|
||||||
|
Username: "admin",
|
||||||
|
Password: "123456",
|
||||||
|
Host: "127.0.0.1:8091",
|
||||||
|
Bucket: "fiber_storage",
|
||||||
|
})
|
||||||
|
|
||||||
|
err := testStorage.Close()
|
||||||
|
utils.AssertEqual(t, nil, err)
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestGetConn_ReturnsNotNill(t *testing.T) {
|
||||||
|
testStorage := New(Config{
|
||||||
|
Username: "admin",
|
||||||
|
Password: "123456",
|
||||||
|
Host: "127.0.0.1:8091",
|
||||||
|
Bucket: "fiber_storage",
|
||||||
|
})
|
||||||
|
conn := testStorage.Conn()
|
||||||
|
utils.AssertEqual(t, true, conn != nil)
|
||||||
|
}
|
14
couchbase/go.mod
Normal file
14
couchbase/go.mod
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
module github.com/gofiber/storage/couchbase
|
||||||
|
|
||||||
|
go 1.19
|
||||||
|
|
||||||
|
require (
|
||||||
|
github.com/couchbase/gocb/v2 v2.6.3
|
||||||
|
github.com/gofiber/utils v1.1.0
|
||||||
|
)
|
||||||
|
|
||||||
|
require (
|
||||||
|
github.com/couchbase/gocbcore/v10 v10.2.3 // indirect
|
||||||
|
github.com/golang/snappy v0.0.4 // indirect
|
||||||
|
github.com/google/uuid v1.3.0 // indirect
|
||||||
|
)
|
30
couchbase/go.sum
Normal file
30
couchbase/go.sum
Normal file
@@ -0,0 +1,30 @@
|
|||||||
|
github.com/couchbase/gocb/v2 v2.6.3 h1:5RsMo+RRfK0mVxHLAfpBz3/tHlgXZb1WBNItLk9Ab+c=
|
||||||
|
github.com/couchbase/gocb/v2 v2.6.3/go.mod h1:yF5F6BHTZ/ZowhEuZbySbXrlI4rHd1TIhm5azOaMbJU=
|
||||||
|
github.com/couchbase/gocbcore/v10 v10.2.3 h1:PEkRSNSkKjUBXx82Ucr094+anoiCG5GleOOQZOHo6D4=
|
||||||
|
github.com/couchbase/gocbcore/v10 v10.2.3/go.mod h1:lYQIIk+tzoMcwtwU5GzPbDdqEkwkH3isI2rkSpfL0oM=
|
||||||
|
github.com/couchbaselabs/gocaves/client v0.0.0-20230307083111-cc3960c624b1/go.mod h1:AVekAZwIY2stsJOMWLAS/0uA/+qdp7pjO8EHnl61QkY=
|
||||||
|
github.com/couchbaselabs/gocaves/client v0.0.0-20230404095311-05e3ba4f0259 h1:2TXy68EGEzIMHOx9UvczR5ApVecwCfQZ0LjkmwMI6g4=
|
||||||
|
github.com/couchbaselabs/gocaves/client v0.0.0-20230404095311-05e3ba4f0259/go.mod h1:AVekAZwIY2stsJOMWLAS/0uA/+qdp7pjO8EHnl61QkY=
|
||||||
|
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/gofiber/utils v1.1.0 h1:vdEBpn7AzIUJRhe+CiTOJdUcTg4Q9RK+pEa0KPbLdrM=
|
||||||
|
github.com/gofiber/utils v1.1.0/go.mod h1:poZpsnhBykfnY1Mc0KeEa6mSHrS3dV0+oBWyeQmb2e0=
|
||||||
|
github.com/golang/snappy v0.0.4 h1:yAGX7huGHXlcLOEtBnF4w7FQwA26wojNCwOYAEhLjQM=
|
||||||
|
github.com/golang/snappy v0.0.4/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q=
|
||||||
|
github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I=
|
||||||
|
github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
|
||||||
|
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/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
|
||||||
|
github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw=
|
||||||
|
github.com/stretchr/objx v0.5.0 h1:1zr/of2m5FGMsad5YfcqgdqdWrIhu+EBEJRhR1U7z/c=
|
||||||
|
github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo=
|
||||||
|
github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
|
||||||
|
github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU=
|
||||||
|
github.com/stretchr/testify v1.8.2 h1:+h33VjcLVPDHtOdpUCuF+7gSuG3yGIftsP1YvFihtJ8=
|
||||||
|
github.com/stretchr/testify v1.8.2/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4=
|
||||||
|
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
||||||
|
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=
|
@@ -1,4 +1,14 @@
|
|||||||
# DynamoDB
|
---
|
||||||
|
id: dynamodb
|
||||||
|
title: DynamoDB
|
||||||
|
---
|
||||||
|
|
||||||
|

|
||||||
|
[](https://gofiber.io/discord)
|
||||||
|

|
||||||
|

|
||||||
|

|
||||||
|
|
||||||
A DynamoDB storage driver using [aws/aws-sdk-go-v2](https://github.com/aws/aws-sdk-go-v2).
|
A DynamoDB storage driver using [aws/aws-sdk-go-v2](https://github.com/aws/aws-sdk-go-v2).
|
||||||
|
|
||||||
**Note:** If config fields of credentials not given, credentials are using from the environment variables, ~/.aws/credentials, or EC2 instance role. If config fields of credentials given, credentials are using from config. Look at: [specifying credentials](https://aws.github.io/aws-sdk-go-v2/docs/configuring-sdk/#specifying-credentials)
|
**Note:** If config fields of credentials not given, credentials are using from the environment variables, ~/.aws/credentials, or EC2 instance role. If config fields of credentials given, credentials are using from config. Look at: [specifying credentials](https://aws.github.io/aws-sdk-go-v2/docs/configuring-sdk/#specifying-credentials)
|
||||||
|
@@ -1,12 +1,28 @@
|
|||||||
module github.com/gofiber/storage/dynamodb
|
module github.com/gofiber/storage/dynamodb
|
||||||
|
|
||||||
go 1.16
|
go 1.17
|
||||||
|
|
||||||
require (
|
require (
|
||||||
github.com/aws/aws-sdk-go-v2 v1.17.4
|
github.com/aws/aws-sdk-go-v2 v1.18.1
|
||||||
github.com/aws/aws-sdk-go-v2/config v1.18.12
|
github.com/aws/aws-sdk-go-v2/config v1.18.27
|
||||||
github.com/aws/aws-sdk-go-v2/credentials v1.13.12
|
github.com/aws/aws-sdk-go-v2/credentials v1.13.26
|
||||||
github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue v1.10.11
|
github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue v1.10.30
|
||||||
github.com/aws/aws-sdk-go-v2/service/dynamodb v1.18.2
|
github.com/aws/aws-sdk-go-v2/service/dynamodb v1.20.0
|
||||||
github.com/gofiber/utils v1.0.1
|
github.com/gofiber/utils v1.1.0
|
||||||
|
)
|
||||||
|
|
||||||
|
require (
|
||||||
|
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.13.4 // indirect
|
||||||
|
github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.34 // indirect
|
||||||
|
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.28 // indirect
|
||||||
|
github.com/aws/aws-sdk-go-v2/internal/ini v1.3.35 // indirect
|
||||||
|
github.com/aws/aws-sdk-go-v2/service/dynamodbstreams v1.14.14 // indirect
|
||||||
|
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.9.11 // indirect
|
||||||
|
github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.7.28 // indirect
|
||||||
|
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.28 // indirect
|
||||||
|
github.com/aws/aws-sdk-go-v2/service/sso v1.12.12 // indirect
|
||||||
|
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.14.12 // indirect
|
||||||
|
github.com/aws/aws-sdk-go-v2/service/sts v1.19.2 // indirect
|
||||||
|
github.com/aws/smithy-go v1.13.5 // indirect
|
||||||
|
github.com/jmespath/go-jmespath v0.4.0 // indirect
|
||||||
)
|
)
|
||||||
|
@@ -1,41 +1,41 @@
|
|||||||
github.com/aws/aws-sdk-go-v2 v1.17.4 h1:wyC6p9Yfq6V2y98wfDsj6OnNQa4w2BLGCLIxzNhwOGY=
|
github.com/aws/aws-sdk-go-v2 v1.18.1 h1:+tefE750oAb7ZQGzla6bLkOwfcQCEtC5y2RqoqCeqKo=
|
||||||
github.com/aws/aws-sdk-go-v2 v1.17.4/go.mod h1:uzbQtefpm44goOPmdKyAlXSNcwlRgF3ePWVW6EtJvvw=
|
github.com/aws/aws-sdk-go-v2 v1.18.1/go.mod h1:uzbQtefpm44goOPmdKyAlXSNcwlRgF3ePWVW6EtJvvw=
|
||||||
github.com/aws/aws-sdk-go-v2/config v1.18.12 h1:fKs/I4wccmfrNRO9rdrbMO1NgLxct6H9rNMiPdBxHWw=
|
github.com/aws/aws-sdk-go-v2/config v1.18.27 h1:Az9uLwmssTE6OGTpsFqOnaGpLnKDqNYOJzWuC6UAYzA=
|
||||||
github.com/aws/aws-sdk-go-v2/config v1.18.12/go.mod h1:J36fOhj1LQBr+O4hJCiT8FwVvieeoSGOtPuvhKlsNu8=
|
github.com/aws/aws-sdk-go-v2/config v1.18.27/go.mod h1:0My+YgmkGxeqjXZb5BYme5pc4drjTnM+x1GJ3zv42Nw=
|
||||||
github.com/aws/aws-sdk-go-v2/credentials v1.13.12 h1:Cb+HhuEnV19zHRaYYVglwvdHGMJWbdsyP4oHhw04xws=
|
github.com/aws/aws-sdk-go-v2/credentials v1.13.26 h1:qmU+yhKmOCyujmuPY7tf5MxR/RKyZrOPO3V4DobiTUk=
|
||||||
github.com/aws/aws-sdk-go-v2/credentials v1.13.12/go.mod h1:37HG2MBroXK3jXfxVGtbM2J48ra2+Ltu+tmwr/jO0KA=
|
github.com/aws/aws-sdk-go-v2/credentials v1.13.26/go.mod h1:GoXt2YC8jHUBbA4jr+W3JiemnIbkXOfxSXcisUsZ3os=
|
||||||
github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue v1.10.11 h1:Uf4yz6VArRYb/8kFfGkJTcbMS0jGNjwcstvuHuMxxl4=
|
github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue v1.10.30 h1:Gl2RjFb6SiAkv4ilcwvkYibluRyyMiJ0a0Cda3scPIs=
|
||||||
github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue v1.10.11/go.mod h1:XSVvqfVugnjBdg6UCtedW9quPf10LYLfy09X/2QN+Rs=
|
github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue v1.10.30/go.mod h1:ubGJLkgDe5GVoxIKOT1mMhpfq9D9e/LJ07GdhecHMgo=
|
||||||
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.12.22 h1:3aMfcTmoXtTZnaT86QlVaYh+BRMbvrrmZwIQ5jWqCZQ=
|
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.13.4 h1:LxK/bitrAr4lnh9LnIS6i7zWbCOdMsfzKFBI6LUCS0I=
|
||||||
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.12.22/go.mod h1:YGSIJyQ6D6FjKMQh16hVFSIUD54L4F7zTGePqYMYYJU=
|
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.13.4/go.mod h1:E1hLXN/BL2e6YizK1zFlYd8vsfi2GTjbjBazinMmeaM=
|
||||||
github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.28 h1:r+XwaCLpIvCKjBIYy/HVZujQS9tsz5ohHG3ZIe0wKoE=
|
github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.34 h1:A5UqQEmPaCFpedKouS4v+dHCTUo2sKqhoKO9U5kxyWo=
|
||||||
github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.28/go.mod h1:3lwChorpIM/BhImY/hy+Z6jekmN92cXGPI1QJasVPYY=
|
github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.34/go.mod h1:wZpTEecJe0Btj3IYnDx/VlUzor9wm3fJHyvLpQF0VwY=
|
||||||
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.22 h1:7AwGYXDdqRQYsluvKFmWoqpcOQJ4bH634SkYf3FNj/A=
|
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.28 h1:srIVS45eQuewqz6fKKu6ZGXaq6FuFg5NzgQBAM6g8Y4=
|
||||||
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.22/go.mod h1:EqK7gVrIGAHyZItrD1D8B0ilgwMD1GiWAmbU4u/JHNk=
|
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.28/go.mod h1:7VRpKQQedkfIEXb4k52I7swUnZP0wohVajJMRn3vsUw=
|
||||||
github.com/aws/aws-sdk-go-v2/internal/ini v1.3.29 h1:J4xhFd6zHhdF9jPP0FQJ6WknzBboGMBNjKOv4iTuw4A=
|
github.com/aws/aws-sdk-go-v2/internal/ini v1.3.35 h1:LWA+3kDM8ly001vJ1X1waCuLJdtTl48gwkPKWy9sosI=
|
||||||
github.com/aws/aws-sdk-go-v2/internal/ini v1.3.29/go.mod h1:TwuqRBGzxjQJIwH16/fOZodwXt2Zxa9/cwJC5ke4j7s=
|
github.com/aws/aws-sdk-go-v2/internal/ini v1.3.35/go.mod h1:0Eg1YjxE0Bhn56lx+SHJwCzhW+2JGtizsrx+lCqrfm0=
|
||||||
github.com/aws/aws-sdk-go-v2/service/dynamodb v1.18.2 h1:Catad2gQSpfOHMje2A5fO8gjaO/5eonhp44PCiAnxcE=
|
github.com/aws/aws-sdk-go-v2/service/dynamodb v1.20.0 h1:ov790XKhwAziEXcl6WrjsbyWkGpboK7Cmikpe5gAzMw=
|
||||||
github.com/aws/aws-sdk-go-v2/service/dynamodb v1.18.2/go.mod h1:nkpC9xkh+3vdxmhqN8Ac10pgV14DsJDLzUsV2CcS+44=
|
github.com/aws/aws-sdk-go-v2/service/dynamodb v1.20.0/go.mod h1:W1oiFegjVosgjIwb2Vv45jiCQT1ee8x85u8EyZRYLes=
|
||||||
github.com/aws/aws-sdk-go-v2/service/dynamodbstreams v1.14.2 h1:uQa2UiWdiHLuneCAsoyI+toRVoiSUsYe0Rfsgt1Pndc=
|
github.com/aws/aws-sdk-go-v2/service/dynamodbstreams v1.14.14 h1:T9FMVvefm8TWwyVYpFVohP2iLM1QnqAB0m/qksVqs+w=
|
||||||
github.com/aws/aws-sdk-go-v2/service/dynamodbstreams v1.14.2/go.mod h1:bRphLmXQD9Ux4jLcFEwyrWdmuPTj2Lh8VGl9wILuJII=
|
github.com/aws/aws-sdk-go-v2/service/dynamodbstreams v1.14.14/go.mod h1:31kKOlv+a+XLCu0wDK8BeeCOjdcZihEoQcLiPIZoyw4=
|
||||||
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.9.11 h1:y2+VQzC6Zh2ojtV2LoC0MNwHWc6qXv/j2vrQtlftkdA=
|
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.9.11 h1:y2+VQzC6Zh2ojtV2LoC0MNwHWc6qXv/j2vrQtlftkdA=
|
||||||
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.9.11/go.mod h1:iV4q2hsqtNECrfmlXyord9u4zyuFEJX9eLgLpSPzWA8=
|
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.9.11/go.mod h1:iV4q2hsqtNECrfmlXyord9u4zyuFEJX9eLgLpSPzWA8=
|
||||||
github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.7.22 h1:6zEryIiJOSk5/OcVHzkPDwzNBQ2atYCTShyA7TqkuxA=
|
github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.7.28 h1:/D994rtMQd1jQ2OY+7tvUlMlrv1L1c7Xtma/FhkbVtY=
|
||||||
github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.7.22/go.mod h1:moeOz5SKfY0p6pNIChdPIQdfaUfWI67+OVe0/r6+aGY=
|
github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery v1.7.28/go.mod h1:3bJI2pLY3ilrqO5EclusI1GbjFJh1iXYrhOItf2sjKw=
|
||||||
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.22 h1:LjFQf8hFuMO22HkV5VWGLBvmCLBCLPivUAmpdpnp4Vs=
|
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.28 h1:bkRyG4a929RCnpVSTvLM2j/T4ls015ZhhYApbmYs15s=
|
||||||
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.22/go.mod h1:xt0Au8yPIwYXf/GYPy/vl4K3CgwhfQMYbrH7DlUUIws=
|
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.28/go.mod h1:jj7znCIg05jXlaGBlFMGP8+7UN3VtCkRBG2spnmRQkU=
|
||||||
github.com/aws/aws-sdk-go-v2/service/sso v1.12.1 h1:lQKN/LNa3qqu2cDOQZybP7oL4nMGGiFqob0jZJaR8/4=
|
github.com/aws/aws-sdk-go-v2/service/sso v1.12.12 h1:nneMBM2p79PGWBQovYO/6Xnc2ryRMw3InnDJq1FHkSY=
|
||||||
github.com/aws/aws-sdk-go-v2/service/sso v1.12.1/go.mod h1:IgV8l3sj22nQDd5qcAGY0WenwCzCphqdbFOpfktZPrI=
|
github.com/aws/aws-sdk-go-v2/service/sso v1.12.12/go.mod h1:HuCOxYsF21eKrerARYO6HapNeh9GBNq7fius2AcwodY=
|
||||||
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.14.1 h1:0bLhH6DRAqox+g0LatcjGKjjhU6Eudyys6HB6DJVPj8=
|
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.14.12 h1:2qTR7IFk7/0IN/adSFhYu9Xthr0zVFTgBrmPldILn80=
|
||||||
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.14.1/go.mod h1:O1YSOg3aekZibh2SngvCRRG+cRHKKlYgxf/JBF/Kr/k=
|
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.14.12/go.mod h1:E4VrHCPzmVB/KFXtqBGKb3c8zpbNBgKe3fisDNLAW5w=
|
||||||
github.com/aws/aws-sdk-go-v2/service/sts v1.18.3 h1:s49mSnsBZEXjfGBkRfmK+nPqzT7Lt3+t2SmAKNyHblw=
|
github.com/aws/aws-sdk-go-v2/service/sts v1.19.2 h1:XFJ2Z6sNUUcAz9poj+245DMkrHE4h2j5I9/xD50RHfE=
|
||||||
github.com/aws/aws-sdk-go-v2/service/sts v1.18.3/go.mod h1:b+psTJn33Q4qGoDaM7ZiOVVG8uVjGI6HaZ8WBHdgDgU=
|
github.com/aws/aws-sdk-go-v2/service/sts v1.19.2/go.mod h1:dp0yLPsLBOi++WTxzCjA/oZqi6NPIhoR+uF7GeMU9eg=
|
||||||
github.com/aws/smithy-go v1.13.5 h1:hgz0X/DX0dGqTYpGALqXJoRKRj5oQ7150i5FdTePzO8=
|
github.com/aws/smithy-go v1.13.5 h1:hgz0X/DX0dGqTYpGALqXJoRKRj5oQ7150i5FdTePzO8=
|
||||||
github.com/aws/smithy-go v1.13.5/go.mod h1:Tg+OJXh4MB2R/uN61Ko2f6hTZwB/ZYGOtib8J3gBHzA=
|
github.com/aws/smithy-go v1.13.5/go.mod h1:Tg+OJXh4MB2R/uN61Ko2f6hTZwB/ZYGOtib8J3gBHzA=
|
||||||
github.com/davecgh/go-spew v1.1.0 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8=
|
github.com/davecgh/go-spew v1.1.0 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8=
|
||||||
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||||
github.com/gofiber/utils v1.0.1 h1:knct4cXwBipWQqFrOy1Pv6UcgPM+EXo9jDgc66V1Qio=
|
github.com/gofiber/utils v1.1.0 h1:vdEBpn7AzIUJRhe+CiTOJdUcTg4Q9RK+pEa0KPbLdrM=
|
||||||
github.com/gofiber/utils v1.0.1/go.mod h1:pacRFtghAE3UoknMOUiXh2Io/nLWSUHtQCi/3QASsOc=
|
github.com/gofiber/utils v1.1.0/go.mod h1:poZpsnhBykfnY1Mc0KeEa6mSHrS3dV0+oBWyeQmb2e0=
|
||||||
github.com/google/go-cmp v0.5.8 h1:e6P7q2lk1O+qJJb4BtCQXlK8vWEO8V1ZeuEdJNOqZyg=
|
github.com/google/go-cmp v0.5.8 h1:e6P7q2lk1O+qJJb4BtCQXlK8vWEO8V1ZeuEdJNOqZyg=
|
||||||
github.com/google/go-cmp v0.5.8/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
|
github.com/google/go-cmp v0.5.8/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
|
||||||
github.com/jmespath/go-jmespath v0.4.0 h1:BEgLn5cpjn8UN1mAw4NjwDrS35OdebyEtFe+9YPoQUg=
|
github.com/jmespath/go-jmespath v0.4.0 h1:BEgLn5cpjn8UN1mAw4NjwDrS35OdebyEtFe+9YPoQUg=
|
||||||
|
85
etcd/README.md
Normal file
85
etcd/README.md
Normal file
@@ -0,0 +1,85 @@
|
|||||||
|
---
|
||||||
|
id: etcd
|
||||||
|
title: Etcd
|
||||||
|
---
|
||||||
|
|
||||||
|

|
||||||
|
[](https://gofiber.io/discord)
|
||||||
|

|
||||||
|

|
||||||
|

|
||||||
|
|
||||||
|
A Etcd storage driver using [`etcd-io/etcd`](https://github.com/etcd-io/etcd).
|
||||||
|
|
||||||
|
### 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) Set(key string, val []byte, exp time.Duration) error
|
||||||
|
func (s *Storage) Delete(key string) error
|
||||||
|
func (s *Storage) Reset() error
|
||||||
|
func (s *Storage) Close() error
|
||||||
|
func (s *Storage) Conn() *clientv3.Client
|
||||||
|
```
|
||||||
|
|
||||||
|
### Installation
|
||||||
|
Etcd 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 etcd implementation:
|
||||||
|
```bash
|
||||||
|
go get github.com/gofiber/storage/etcd
|
||||||
|
```
|
||||||
|
|
||||||
|
### Examples
|
||||||
|
Import the storage package.
|
||||||
|
```go
|
||||||
|
import "github.com/gofiber/storage/etcd"
|
||||||
|
```
|
||||||
|
|
||||||
|
You can use the following possibilities to create a storage:
|
||||||
|
```go
|
||||||
|
// Initialize default config
|
||||||
|
store := etcd.New()
|
||||||
|
|
||||||
|
// Initialize custom config
|
||||||
|
store := etcd.New(Config{
|
||||||
|
Endpoints: []string{"localhost:2379"},
|
||||||
|
})
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
### Config
|
||||||
|
```go
|
||||||
|
type Config struct {
|
||||||
|
// Endpoints is a list of URLs.
|
||||||
|
Endpoints []string
|
||||||
|
// DialTimeout is the timeout for failing to establish a connection.
|
||||||
|
DialTimeout time.Duration
|
||||||
|
// Username is a username for authentication.
|
||||||
|
Username string
|
||||||
|
// Password is a password for authentication.
|
||||||
|
Password string
|
||||||
|
// TLS holds the client secure credentials, if any.
|
||||||
|
TLS *tls.Config
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
### Default Config
|
||||||
|
```go
|
||||||
|
var ConfigDefault = Config{
|
||||||
|
Endpoints: []string{"localhost:2379"},
|
||||||
|
DialTimeout: 2 * time.Second,
|
||||||
|
Username: "",
|
||||||
|
Password: "",
|
||||||
|
TLS: nil,
|
||||||
|
}
|
||||||
|
```
|
52
etcd/config.go
Normal file
52
etcd/config.go
Normal file
@@ -0,0 +1,52 @@
|
|||||||
|
package etcd
|
||||||
|
|
||||||
|
import (
|
||||||
|
"crypto/tls"
|
||||||
|
"time"
|
||||||
|
)
|
||||||
|
|
||||||
|
// Config defines the config for storage.
|
||||||
|
type Config struct {
|
||||||
|
// Endpoints is a list of URLs.
|
||||||
|
Endpoints []string
|
||||||
|
// DialTimeout is the timeout for failing to establish a connection.
|
||||||
|
DialTimeout time.Duration
|
||||||
|
// Username is a username for authentication.
|
||||||
|
Username string
|
||||||
|
// Password is a password for authentication.
|
||||||
|
Password string
|
||||||
|
// TLS holds the client secure credentials, if any.
|
||||||
|
TLS *tls.Config
|
||||||
|
}
|
||||||
|
|
||||||
|
// ConfigDefault is the default config
|
||||||
|
var ConfigDefault = Config{
|
||||||
|
Endpoints: []string{"localhost:2379"},
|
||||||
|
DialTimeout: 2 * time.Second,
|
||||||
|
Username: "",
|
||||||
|
Password: "",
|
||||||
|
TLS: nil,
|
||||||
|
}
|
||||||
|
|
||||||
|
// 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
|
||||||
|
if cfg.Username == "" {
|
||||||
|
cfg.Username = ConfigDefault.Username
|
||||||
|
}
|
||||||
|
if cfg.Password == "" {
|
||||||
|
cfg.Password = ConfigDefault.Password
|
||||||
|
}
|
||||||
|
if cfg.DialTimeout == 0 {
|
||||||
|
cfg.DialTimeout = ConfigDefault.DialTimeout
|
||||||
|
}
|
||||||
|
|
||||||
|
return cfg
|
||||||
|
}
|
100
etcd/etcd.go
Normal file
100
etcd/etcd.go
Normal file
@@ -0,0 +1,100 @@
|
|||||||
|
package etcd
|
||||||
|
|
||||||
|
import (
|
||||||
|
"context"
|
||||||
|
"go.etcd.io/etcd/client/v3"
|
||||||
|
"time"
|
||||||
|
)
|
||||||
|
|
||||||
|
type Storage struct {
|
||||||
|
db *clientv3.Client
|
||||||
|
}
|
||||||
|
|
||||||
|
func New(config ...Config) *Storage {
|
||||||
|
cfg := configDefault(config...)
|
||||||
|
|
||||||
|
cli, err := clientv3.New(clientv3.Config{
|
||||||
|
Endpoints: cfg.Endpoints,
|
||||||
|
DialTimeout: cfg.DialTimeout,
|
||||||
|
Username: cfg.Username,
|
||||||
|
Password: cfg.Password,
|
||||||
|
TLS: cfg.TLS,
|
||||||
|
})
|
||||||
|
if err != nil {
|
||||||
|
panic(err)
|
||||||
|
}
|
||||||
|
|
||||||
|
store := &Storage{
|
||||||
|
db: cli,
|
||||||
|
}
|
||||||
|
|
||||||
|
return store
|
||||||
|
}
|
||||||
|
|
||||||
|
func (s *Storage) Get(key string) ([]byte, error) {
|
||||||
|
if len(key) <= 0 {
|
||||||
|
return nil, nil
|
||||||
|
}
|
||||||
|
item, err := s.db.Get(context.Background(), key)
|
||||||
|
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
|
if len(item.Kvs) <= 0 {
|
||||||
|
return nil, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
return item.Kvs[0].Value, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (s *Storage) Set(key string, val []byte, exp time.Duration) error {
|
||||||
|
// Ain't Nobody Got Time For That
|
||||||
|
if len(key) <= 0 || len(val) <= 0 {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
lease, err := s.db.Grant(context.Background(), int64(exp.Seconds()))
|
||||||
|
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
_, err = s.db.Put(context.Background(), key, string(val), clientv3.WithLease(lease.ID))
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (s *Storage) Delete(key string) error {
|
||||||
|
if len(key) <= 0 {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
_, err := s.db.Delete(context.Background(), key)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (s *Storage) Reset() error {
|
||||||
|
_, err := s.db.Delete(context.Background(), "", clientv3.WithPrefix())
|
||||||
|
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (s *Storage) Close() error {
|
||||||
|
return s.db.Close()
|
||||||
|
}
|
||||||
|
|
||||||
|
func (s *Storage) Conn() *clientv3.Client {
|
||||||
|
return s.db
|
||||||
|
}
|
110
etcd/etcd_test.go
Normal file
110
etcd/etcd_test.go
Normal file
@@ -0,0 +1,110 @@
|
|||||||
|
package etcd
|
||||||
|
|
||||||
|
import (
|
||||||
|
"github.com/gofiber/utils"
|
||||||
|
"testing"
|
||||||
|
"time"
|
||||||
|
)
|
||||||
|
|
||||||
|
func TestSetEtcd_ShouldReturnNoError(t *testing.T) {
|
||||||
|
testStorage := New(Config{
|
||||||
|
Endpoints: []string{"localhost:2379"},
|
||||||
|
})
|
||||||
|
|
||||||
|
var (
|
||||||
|
key = "john"
|
||||||
|
val = []byte("doe")
|
||||||
|
)
|
||||||
|
|
||||||
|
err := testStorage.Set(key, val, 0)
|
||||||
|
utils.AssertEqual(t, nil, err)
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestGetEtcd_ShouldReturnNil_WhenDocumentNotFound(t *testing.T) {
|
||||||
|
testStorage := New(Config{
|
||||||
|
Endpoints: []string{"localhost:2379"},
|
||||||
|
})
|
||||||
|
|
||||||
|
val, err := testStorage.Get("not_found_key")
|
||||||
|
|
||||||
|
utils.AssertEqual(t, nil, err)
|
||||||
|
utils.AssertEqual(t, 0, len(val))
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestSetAndGet_GetShouldReturn_SettedValueWithoutError(t *testing.T) {
|
||||||
|
testStorage := New(Config{
|
||||||
|
Endpoints: []string{"localhost:2379"},
|
||||||
|
})
|
||||||
|
|
||||||
|
err := testStorage.Set("test", []byte("fiber_test_value"), 0)
|
||||||
|
utils.AssertEqual(t, nil, err)
|
||||||
|
|
||||||
|
val, err := testStorage.Get("test")
|
||||||
|
|
||||||
|
utils.AssertEqual(t, nil, err)
|
||||||
|
utils.AssertEqual(t, val, []byte("fiber_test_value"))
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestSetAndGet_GetShouldReturnNil_WhenTTLExpired(t *testing.T) {
|
||||||
|
testStorage := New(Config{
|
||||||
|
Endpoints: []string{"localhost:2379"},
|
||||||
|
})
|
||||||
|
|
||||||
|
err := testStorage.Set("test", []byte("fiber_test_value"), 3*time.Second)
|
||||||
|
utils.AssertEqual(t, nil, err)
|
||||||
|
|
||||||
|
time.Sleep(6 * time.Second)
|
||||||
|
|
||||||
|
val, err := testStorage.Get("test")
|
||||||
|
|
||||||
|
utils.AssertEqual(t, nil, err)
|
||||||
|
utils.AssertEqual(t, 0, len(val))
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestSetAndDelete_DeleteShouldReturn_NoError(t *testing.T) {
|
||||||
|
testStorage := New(Config{
|
||||||
|
Endpoints: []string{"localhost:2379"},
|
||||||
|
})
|
||||||
|
|
||||||
|
err := testStorage.Set("test", []byte("fiber_test_value"), 0)
|
||||||
|
utils.AssertEqual(t, nil, err)
|
||||||
|
|
||||||
|
err = testStorage.Delete("test")
|
||||||
|
utils.AssertEqual(t, nil, err)
|
||||||
|
|
||||||
|
_, err = testStorage.Get("test")
|
||||||
|
utils.AssertEqual(t, nil, err)
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestSetAndReset_ResetShouldReturn_NoError(t *testing.T) {
|
||||||
|
testStorage := New(Config{
|
||||||
|
Endpoints: []string{"localhost:2379"},
|
||||||
|
})
|
||||||
|
|
||||||
|
err := testStorage.Set("test", []byte("fiber_test_value"), 0)
|
||||||
|
utils.AssertEqual(t, nil, err)
|
||||||
|
|
||||||
|
err = testStorage.Reset()
|
||||||
|
utils.AssertEqual(t, nil, err)
|
||||||
|
|
||||||
|
_, err = testStorage.Get("test")
|
||||||
|
utils.AssertEqual(t, nil, err)
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestClose_CloseShouldReturn_NoError(t *testing.T) {
|
||||||
|
testStorage := New(Config{
|
||||||
|
Endpoints: []string{"localhost:2379"},
|
||||||
|
})
|
||||||
|
|
||||||
|
err := testStorage.Close()
|
||||||
|
utils.AssertEqual(t, nil, err)
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestGetConn_ReturnsNotNill(t *testing.T) {
|
||||||
|
testStorage := New(Config{
|
||||||
|
Endpoints: []string{"localhost:2379"},
|
||||||
|
})
|
||||||
|
|
||||||
|
conn := testStorage.Conn()
|
||||||
|
utils.AssertEqual(t, true, conn != nil)
|
||||||
|
}
|
26
etcd/go.mod
Normal file
26
etcd/go.mod
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
module github.com/gofiber/storage/etcd
|
||||||
|
|
||||||
|
go 1.19
|
||||||
|
|
||||||
|
require (
|
||||||
|
github.com/gofiber/utils v1.1.0
|
||||||
|
go.etcd.io/etcd/client/v3 v3.5.9
|
||||||
|
)
|
||||||
|
|
||||||
|
require (
|
||||||
|
github.com/coreos/go-semver v0.3.1 // indirect
|
||||||
|
github.com/coreos/go-systemd/v22 v22.3.2 // indirect
|
||||||
|
github.com/gogo/protobuf v1.3.2 // indirect
|
||||||
|
github.com/golang/protobuf v1.5.3 // indirect
|
||||||
|
go.etcd.io/etcd/api/v3 v3.5.9 // indirect
|
||||||
|
go.etcd.io/etcd/client/pkg/v3 v3.5.9 // indirect
|
||||||
|
go.uber.org/atomic v1.7.0 // indirect
|
||||||
|
go.uber.org/multierr v1.6.0 // indirect
|
||||||
|
go.uber.org/zap v1.24.0 // indirect
|
||||||
|
golang.org/x/net v0.8.0 // indirect
|
||||||
|
golang.org/x/sys v0.6.0 // indirect
|
||||||
|
golang.org/x/text v0.8.0 // indirect
|
||||||
|
google.golang.org/genproto v0.0.0-20230306155012-7f2fa6fef1f4 // indirect
|
||||||
|
google.golang.org/grpc v1.55.0 // indirect
|
||||||
|
google.golang.org/protobuf v1.30.0 // indirect
|
||||||
|
)
|
83
etcd/go.sum
Normal file
83
etcd/go.sum
Normal file
@@ -0,0 +1,83 @@
|
|||||||
|
github.com/benbjohnson/clock v1.1.0 h1:Q92kusRqC1XV2MjkWETPvjJVqKetz1OzxZB7mHJLju8=
|
||||||
|
github.com/coreos/go-semver v0.3.1 h1:yi21YpKnrx1gt5R+la8n5WgS0kCrsPp33dmEyHReZr4=
|
||||||
|
github.com/coreos/go-semver v0.3.1/go.mod h1:irMmmIw/7yzSRPWryHsK7EYSg09caPQL03VsM8rvUec=
|
||||||
|
github.com/coreos/go-systemd/v22 v22.3.2 h1:D9/bQk5vlXQFZ6Kwuu6zaiXJ9oTPe68++AzAJc1DzSI=
|
||||||
|
github.com/coreos/go-systemd/v22 v22.3.2/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc=
|
||||||
|
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/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA=
|
||||||
|
github.com/gofiber/utils v1.1.0 h1:vdEBpn7AzIUJRhe+CiTOJdUcTg4Q9RK+pEa0KPbLdrM=
|
||||||
|
github.com/gofiber/utils v1.1.0/go.mod h1:poZpsnhBykfnY1Mc0KeEa6mSHrS3dV0+oBWyeQmb2e0=
|
||||||
|
github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q=
|
||||||
|
github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q=
|
||||||
|
github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk=
|
||||||
|
github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg=
|
||||||
|
github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY=
|
||||||
|
github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
|
||||||
|
github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38=
|
||||||
|
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/pkg/errors v0.8.1 h1:iURUrRGxPUNPdy5/HRSm+Yj6okJ6UtLINN0Q9M4+h3I=
|
||||||
|
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/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
|
||||||
|
github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
|
||||||
|
github.com/stretchr/testify v1.8.1 h1:w7B6lhMri9wdJUVmEZPGGhZzrYTPvgJArz7wNPgYKsk=
|
||||||
|
github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
|
||||||
|
github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
|
||||||
|
go.etcd.io/etcd/api/v3 v3.5.9 h1:4wSsluwyTbGGmyjJktOf3wFQoTBIURXHnq9n/G/JQHs=
|
||||||
|
go.etcd.io/etcd/api/v3 v3.5.9/go.mod h1:uyAal843mC8uUVSLWz6eHa/d971iDGnCRpmKd2Z+X8k=
|
||||||
|
go.etcd.io/etcd/client/pkg/v3 v3.5.9 h1:oidDC4+YEuSIQbsR94rY9gur91UPL6DnxDCIYd2IGsE=
|
||||||
|
go.etcd.io/etcd/client/pkg/v3 v3.5.9/go.mod h1:y+CzeSmkMpWN2Jyu1npecjB9BBnABxGM4pN8cGuJeL4=
|
||||||
|
go.etcd.io/etcd/client/v3 v3.5.9 h1:r5xghnU7CwbUxD/fbUtRyJGaYNfDun8sp/gTr1hew6E=
|
||||||
|
go.etcd.io/etcd/client/v3 v3.5.9/go.mod h1:i/Eo5LrZ5IKqpbtpPDuaUnDOUv471oDg8cjQaUr2MbA=
|
||||||
|
go.uber.org/atomic v1.7.0 h1:ADUqmZGgLDDfbSL9ZmPxKTybcoEYHgpYfELNoN+7hsw=
|
||||||
|
go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc=
|
||||||
|
go.uber.org/goleak v1.1.11 h1:wy28qYRKZgnJTxGxvye5/wgWr1EKjmUDGYox5mGlRlI=
|
||||||
|
go.uber.org/multierr v1.6.0 h1:y6IPFStTAIT5Ytl7/XYmHvzXQ7S3g/IeZW9hyZ5thw4=
|
||||||
|
go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU=
|
||||||
|
go.uber.org/zap v1.24.0 h1:FiJd5l1UOLj0wCgbSE0rwwXHzEdAZS6hiiSnxJN/D60=
|
||||||
|
go.uber.org/zap v1.24.0/go.mod h1:2kMP+WWQ8aoFoedH3T2sq6iJ2yDWpHbP0f6MQbS9Gkg=
|
||||||
|
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/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.8.0 h1:Zrh2ngAOFYneWTAIAPethzeaQLuHwhuBkuV6ZiRnUaQ=
|
||||||
|
golang.org/x/net v0.8.0/go.mod h1:QVkue5JL9kW//ek3r6jTKnTFis1tRmNAW2P1shuFdJc=
|
||||||
|
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/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-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||||
|
golang.org/x/sys v0.6.0 h1:MVltZSvRTcU2ljQOhs94SXPftV6DCNnZViHeQps87pQ=
|
||||||
|
golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||||
|
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.8.0 h1:57P1ETyNKtuIjB4SRd15iJxuhj8Gc416Y78H3qgMh68=
|
||||||
|
golang.org/x/text v0.8.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8=
|
||||||
|
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/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 v0.0.0-20230306155012-7f2fa6fef1f4 h1:DdoeryqhaXp1LtT/emMP1BRJPHHKFi5akj/nbx/zNTA=
|
||||||
|
google.golang.org/genproto v0.0.0-20230306155012-7f2fa6fef1f4/go.mod h1:NWraEVixdDnqcqQ30jipen1STv2r/n24Wb7twVTGR4s=
|
||||||
|
google.golang.org/grpc v1.55.0 h1:3Oj82/tFSCeUrRTg/5E/7d/W5A1tj6Ky1ABAuZuv5ag=
|
||||||
|
google.golang.org/grpc v1.55.0/go.mod h1:iYEXKGkEBhg1PjZQvoYEVPTDkHo1/bjTnfwTeGONTY8=
|
||||||
|
google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw=
|
||||||
|
google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc=
|
||||||
|
google.golang.org/protobuf v1.30.0 h1:kPPoIgf3TsEvrm0PFe15JQ+570QVxYzEvvHqChK+cng=
|
||||||
|
google.golang.org/protobuf v1.30.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I=
|
||||||
|
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
||||||
|
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
|
||||||
|
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user