Skip to content

Commit be4f3cd

Browse files
committed
Initial Import
0 parents  commit be4f3cd

File tree

133 files changed

+14308
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

133 files changed

+14308
-0
lines changed

.github/CODE_OF_CONDUCT.md

Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
## Code of Conduct - golly
2+
3+
### Introduction
4+
5+
We are committed to creating a welcoming and inclusive environment for everyone
6+
who participates in our golly open-source project, regardless of their
7+
background, identity, or experience. We expect all contributors, maintainers,
8+
and users to adhere to the following code of conduct to ensure a positive and
9+
respectful community.
10+
11+
### Our Pledge
12+
13+
In order to create an open and inclusive space, we pledge to:
14+
15+
1. Foster a welcoming and harassment-free environment where all individuals can
16+
freely express their opinions, ideas, and experiences.
17+
2. Respect and value diverse perspectives, backgrounds, and experiences, and
18+
avoid any form of discrimination or exclusion.
19+
3. Encourage constructive and respectful discussions that focus on technical
20+
aspects and project-related topics.
21+
4. Be patient and understanding towards others, especially those who are new to
22+
the project or have different levels of expertise.
23+
5. Address conflicts and disagreements constructively, seeking resolution
24+
through open communication and collaboration.
25+
6. Be accountable for our actions and words, and acknowledge and learn from any
26+
mistakes we make.
27+
7. Protect the privacy and confidentiality of individuals and their personal
28+
information.
29+
30+
### Expected Behavior
31+
32+
All individuals involved in the project, including but not limited to
33+
contributors, maintainers, and users, are expected to:
34+
35+
1. Be respectful and inclusive, irrespective of differences such as gender,
36+
sexual orientation, race, ethnicity, religion, or disability.
37+
2. Use welcoming and inclusive language, avoiding derogatory, offensive, or
38+
discriminatory comments or jokes.
39+
3. Listen attentively, consider different perspectives, and avoid personal
40+
attacks or inflammatory behavior.
41+
4. Provide constructive feedback and suggestions while maintaining a focus on
42+
improving the project.
43+
5. Be open to learning from others and sharing knowledge in a supportive manner.
44+
6. Respect the decisions made by project maintainers and administrators,
45+
understanding that they have the final authority on the project's direction
46+
and policies.
47+
7. Report any violations of this code of conduct to the project maintainers via
48+
the designated communication channels.
49+
50+
### Unacceptable Behavior
51+
52+
The following behaviors are considered unacceptable within our project
53+
community:
54+
55+
1. Harassment, bullying, or intimidation in any form, including but not limited
56+
to offensive comments, insults, or personal attacks.
57+
2. Discrimination, exclusion, or any other action that promotes a hostile or
58+
unwelcome environment.
59+
3. Publishing or sharing others' private information without their consent.
60+
4. Deliberate disruption of discussions or the project's progress.
61+
5. Engaging in or promoting any form of offensive, discriminatory, or
62+
inappropriate material or language.
63+
6. Any behavior that violates applicable laws or regulations.
64+
65+
### Enforcement
66+
67+
Instances of abusive, harassing, or otherwise unacceptable behavior may be
68+
reported by contacting the project maintainers at
69+
[[email protected]](mailto:[email protected]). All complaints will be
70+
reviewed and investigated promptly and fairly. The maintainers are responsible
71+
for determining the appropriate actions to be taken, which may include warnings,
72+
temporary or permanent bans, or other measures deemed necessary.

.github/ISSUE_TEMPLATE/bug_report.md

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
---
2+
name: Bug report
3+
about: Create a report to help us improve
4+
title: "[BUG]"
5+
labels: bug
6+
assignees: ''
7+
8+
---
9+
10+
**Describe the bug**
11+
A clear and concise description of what the bug is.
12+
13+
**To Reproduce**
14+
Steps to reproduce the behavior:
15+
1. Execute the snippet
16+
4. See error
17+
18+
**Expected behavior**
19+
A clear and concise description of what you expected to happen.
20+
21+
**Screenshots**
22+
If applicable, add screenshots to help explain your problem.
23+
24+
**Go Version (please complete the following information):**
25+
- Version [e.g. 0.0.13]
26+
27+
**Additional context**
28+
Add any other context about the problem here.
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
---
2+
name: Feature request
3+
about: Provide the new feature requests for the project
4+
title: "[FEATURE]"
5+
labels: enhancement
6+
assignees: ''
7+
8+
---
9+
10+
**Is your feature request related to a problem? Please describe.**
11+
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
12+
13+
**Describe the solution you'd like**
14+
A clear and concise description of what you want to happen.
15+
16+
**Describe alternatives you've considered**
17+
A clear and concise description of any alternative solutions or features you've considered.
18+
19+
**Additional context**
20+
Add any other context or screenshots about the feature request here.

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
**IMPORTANT: Please do not create a Pull Request without creating/linking an issue first.**
2+
3+
*Any change needs to be discussed before proceeding. Failure to do so may result in the rejection of the pull request.*
4+
5+
Please provide enough information so that others can review your pull request:
6+
7+
<!-- You can skip this if you're fixing a typo or adding an app to the Showcase. -->
8+
9+
Explain the **details** for making this change. What existing problem does the pull request solve?
10+
11+
<!-- Example: When "Adding a function to do X", explain why it is necessary to have a way to do X. -->
12+
13+
**Test plan (required)**
14+
15+
Demonstrate the code is solid. Example: The exact commands you ran and their output, screenshots / videos if the pull request changes UI.
16+
17+
<!-- Make sure tests pass on both Travis and Circle CI. -->
18+
19+
**Code formatting**
20+
21+
<!-- See the simple style guide. -->
22+
23+
**Closing issues**
24+
25+
Put `closes #XXXX` in your comment to auto-close the issue that your PR fixes (if such).

.github/dependabot.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
version: 2
2+
updates:
3+
- package-ecosystem: gomod
4+
directory: /
5+
schedule:
6+
interval: "weekly"

.github/workflows/go_ci.yml

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
name: "Build & Test"
2+
3+
on:
4+
pull_request:
5+
branches:
6+
- "*"
7+
push:
8+
branches:
9+
- "main"
10+
11+
jobs:
12+
build:
13+
name: "Build & Test"
14+
runs-on: ubuntu-latest
15+
steps:
16+
- name: Setup Go 1.x
17+
uses: actions/setup-go@v4
18+
with:
19+
go-version: ^1.2
20+
- name: Check out code into the Go module directory
21+
uses: actions/checkout@v4
22+
- name: Clean and Build
23+
run: make clean build
24+
- name: Test Coverage
25+
run: make test-cover

CONTRIBUTING.md

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
# Nandlabs' Golly Contribution Guidelines
2+
3+
Thanks for your interest in contributing to Golly 🙌\
4+
Every form of contribution is appreciated. From issue reports to pull requests
5+
and documentation 👌\
6+
Please check out the [existing issues](https://github.com/nandlabs/golly/issues)
7+
8+
#### 🐛 Bug Reports
9+
10+
For reporting bugs, please create a
11+
[new issue](https://github.com/nandlabs/golly/issues/new/choose) following the
12+
[Bug Template](https://github.com/nandlabs/golly/blob/main/.github/ISSUE_TEMPLATE/bug_report.md).
13+
14+
#### ✨ Feature Requests
15+
16+
If you are missing a certain feature, please create a
17+
[new issue](https://github.com/nandlabs/golly/issues/new/choose). Please follow
18+
the
19+
[Feature Template](https://github.com/nandlabs/golly/blob/main/.github/ISSUE_TEMPLATE/feature_request.md).
20+
21+
#### 📝 Docs
22+
23+
The docs are present here
24+
[documentation](https://github.com/nandlabs/golly/blob/main/README.md).
25+
26+
#### 💫 Pull Requests
27+
28+
If you want to contribute improvements or new features we are happy to review
29+
your PR :)\
30+
Please use a meaningful commit message and add a little description of your
31+
changes.

LICENSE

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
The MIT License
2+
3+
Copyright (c) Nandlabs Pty Ltd 2024
4+
5+
Permission is hereby granted, free of charge, to any person obtaining a copy of
6+
this software and associated documentation files (the "Software"), to deal in
7+
the Software without restriction, including without limitation the rights to
8+
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
9+
the Software, and to permit persons to whom the Software is furnished to do so,
10+
subject to the following conditions:
11+
12+
The above copyright notice and this permission notice shall be included in all
13+
copies or substantial portions of the Software.
14+
15+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
17+
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
18+
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
19+
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
20+
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Makefile

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
default: all
2+
3+
all: clean test build
4+
5+
.PHONY: clean
6+
clean:
7+
@go mod tidy
8+
9+
.PHONY: build
10+
build:
11+
@go build -v ./...
12+
13+
.PHONY: test
14+
test:
15+
@go test -v ./...
16+
17+
.PHONY: test-cover
18+
test-cover:
19+
@go test -cover -covermode=atomic ./...

README.md

Lines changed: 87 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,87 @@
1+
[![testing](https://img.shields.io/github/actions/workflow/status/nandlabs/golly/go_ci.yml?branch=main&event=push&color=228B22)](https://github.com/nandlabs/golly/actions?query=event%3Apush+branch%3Amain+)
2+
[![release](https://img.shields.io/github/v/release/nandlabs/golly?label=Latest&color=228B22)](https://github.com/nandlabs/golly/releases/latest)
3+
[![releaseDate](https://img.shields.io/github/release-date/nandlabs/golly?label=Released&color=228B22)](https://github.com/nandlabs/golly/releases/latest)
4+
![Go Version](https://img.shields.io/github/go-mod/go-version/nandlabs/golly?label=Go&color=00ADD8)
5+
[![godoc](https://godoc.org/go.nandlabs.io/golly?status.svg)](https://pkg.go.dev/go.nandlabs.io/golly)
6+
7+
# golly
8+
9+
Golly is a collection of reusable common utilities for go programming language.
10+
11+
## Goals
12+
13+
- Create reusable common collection of utilities targeting enterprise use cases
14+
- Ensure the project is self-contained and minimise external dependencies.
15+
16+
## Installation
17+
18+
```bash
19+
go get go.nandlabs.io/golly
20+
```
21+
22+
## Core Packages
23+
24+
- [clients](clients/README.md)
25+
- [rest](clients/rest/README.md)
26+
- HTTP methods: GET, POST, PUT, DELETE
27+
- Query parameters
28+
- Request headers
29+
- Retry
30+
- CircuitBreaker Configuration
31+
- Proxy Configuration
32+
- TLS Configuration
33+
- Transport Layer Configuration
34+
- SSL Configuration
35+
- Error handling
36+
- [messaging](clients/messaging/README.md)
37+
- General producer interface for sending messages to different messaging
38+
platforms.
39+
- General consumer interface for receiving and processing messages from
40+
different messaging platforms.
41+
- Supports QualityOfService features such as
42+
- CircuitBreaker
43+
- Retry
44+
- [cli](cli/README.md)
45+
- Easy to use API for building complex command structures
46+
- Argument parsing and validation
47+
- [codec](codec/README.md)
48+
- Easy to use interface
49+
- Multiformat support
50+
- Unifed interface for Endcoding and Decoding data from structured format
51+
- Out of the box support for `XML` `JSON` & `YAML`
52+
- [l3](l3/README.md)
53+
- Lightweight Levelled Logger
54+
- Multiple logging levels `OFF,ERROR,INFO,DEBUG,TRACE`
55+
- Console and File based writers
56+
- Ability to specify log levels for a specific package
57+
- Async logging support
58+
- Configuration can be done using either a file,env variables,Struct values at
59+
runtime.
60+
- [semver](semver/README.md)
61+
- Adheres to the [SemVer 2.0.0](https://semver.org/spec/v2.0.0.html)
62+
specification
63+
- Easy to use API for parsing, comparing and generating SemVer versions
64+
- Supports pre-release and build metadata
65+
- [turbo](turbo/README.md)
66+
- Smart Http Routing Capabilities
67+
- Aimed for API Development
68+
- Easy to use
69+
- Filters
70+
- [vfs](vfs/README.md)
71+
- Virtual File System
72+
- Unified interface for multiple file systems
73+
- Default implementation for local fs available
74+
- Extensible framework
75+
76+
And many more..
77+
78+
## Contributing
79+
80+
We welcome contributions to the project. If you find a bug or would like to
81+
request a new feature, please open an issue on
82+
[GitHub](https://github.com/nandlabs/golly/issues).
83+
84+
## License
85+
86+
This project is licensed under MIT License. See the [License](LICENSE) file for
87+
details.

0 commit comments

Comments
 (0)