https://github.com/farcloser/go-core
https://github.com/farcloser/go-core
core golang library
Last synced: 5 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/farcloser/go-core
- Owner: farcloser
- License: apache-2.0
- Created: 2023-08-21T01:06:38.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2025-07-24T00:42:21.000Z (12 months ago)
- Last Synced: 2025-07-24T02:16:52.216Z (12 months ago)
- Topics: core, golang, library
- Language: Go
- Size: 188 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Farcloser core go library
Provides basics to be used by all our go projects, specifically:
- logging (based on zerolog)
- reporter (based on Sentry)
- telemetry (based on otel)
- network (to ease manipulation of global network settings, specifically related to TLS)
- exec (to ease shelling out)
- human-readable units and duration
- filesystem safe operations primitives (locking, atomic writes)
- etc
## Dev
### Requirements
Review or call directly `./hack/dev-setup-linux.sh` or `./hack/dev-setup-macos.sh`
Then, `make install-dev-tools`
### Makefile
```bash
make fix
make lint
make test
```
### Local documentation
```bash
go install golang.org/x/pkgsite/cmd/pkgsite@latest
pkgsite
open http://localhost:8080/go.farcloser.world/core
```
### Charter
1. This should contain solely stuff that is generic, likely to be used by
any reasonable go project (eg: logging, telemetry, etc.). Refrain from adding
here anything that is specific to a given project, or ecosystem.
2. Hide implementation away. Specifically, make sure the underlying dependencies
do not leak into your API.
### TODO
* consider going with https://github.com/go-logr/zerologr (eg: github.com/go-logr/logr)
if they really have traction - or slog alternatively