blob: f32c1e74bf8721cd8c4a22cdd6f68d174a9beb7d (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
|
# Go Extension Library
This library contains extensions to the Go standard library that are
occasionally useful and shared across multiple projects.
## Versioning
This project and the contained modules use semantic versioning. No effort is
made to keep sub-module versions in sync.
## Dependency Philosophy
The root library is meant to be an extension of the Go standard library and
therefore does not depend on anything but the standard library itself and
golang.org/x repositories.
Other modules within the repository may pull in other dependencies outside of
the core standard library. For those cases go modules are used to isolate the
dependency to the sub-module. Wherever possible the sub-modules are designed to
reduce the dependency graph of that module to just the scope of dependencies
needed for its proper function.
## Modules
- **core (no prefix)** provides some extensions to standard library and
golang.org/x functionality
- **cli** provides some wrapper functionality for creating command line
interfaces with [cobra](https://github.com/spf13/cobra).
- **db/mongodb** provides a wrapper around the lower level [mongodb driver
libraries](https://pkg.go.dev/go.mongodb.org/mongo-driver) to make it easier
to use them.
- **echo** is a grab-bag of extensions around the [labstack echo web
framework](https://echo.labstack.com/guide/) designed to make it easier to
use. These extensions are starting to look like a fully fledged web framework
in their own right with echo as the foundation. The opinions in this module are
pretty heavy handed, use at your own risk.
- **vault** provides some wrappers around the [Hashicorp
Vault](https://pkg.go.dev/github.com/hashicorp/vault/api) API.
## Contributing
If you find anything here useful and would like to submit patches please email
the patch (in git format-patch format) or a repository location and branch name
that the maintainers can pull and merge. We reserve the right to request
changes to patches or reject them outright but are most likely to willing and
thankfully merge them if they fit into the general theme here.
## Contributors
- [Mike Crute](https://mike.crute.us) email: mike-at-crute-dot-us
|