Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/ralvescosta/gokit

Golang toolkit. Package to help us in the basic configurations in our applications
https://github.com/ralvescosta/gokit

auth0 golang kafka logging opentelemetry rabbitmq sql

Last synced: 11 days ago
JSON representation

Golang toolkit. Package to help us in the basic configurations in our applications

Awesome Lists containing this project

README

        

Gokit: Cloud-Native GoLang Toolkit



License


Go Doc


Go Report Card

Gokit is a comprehensive GoLang toolkit designed to simplify the development of cloud-native applications. It provides a wide range of features and utilities for logging, observability, messaging, database integration, health checks, migrations, and more. Whether you're a seasoned Go developer or just getting started with cloud-native development, Gokit aims to streamline your workflow and enhance the reliability and efficiency of your applications.

[Table of content]()

- [Features](#features)
- [Getting started](#getting-started)
- [Documentation](#documentation)
- [License](#license)
- [Support](#support)

# Features

- **Logging:** Streamline structured logging in your Go applications for improved debugging and monitoring capabilities.

- **OpenTelemetry and Tracing:** Seamlessly integrate with OpenTelemetry to enable distributed tracing and gain insights into your application's performance.

- **OpenTelemetry and Prometheus Metrics:** Integrate with Prometheus to collect and expose application metrics for monitoring and analysis.

- **Messaging:** Support for MQTT and RabbitMQ, simplifying the implementation of messaging patterns in your applications.

- **Database:** Integration with PostgreSQL for efficient data storage and retrieval.

- **Health Checks:** Implement health checks to ensure the reliability of your services and applications.

- **Migrator:** Simplify database schema migrations to manage changes in your data models.

## Getting Started

1- **Installing Linux packages:** Some crates require some additional packages to work pronely

```bash
sudo apt install libssl-dev build-essential cmake pkg-config llvm-dev libclang-dev clang libmosquitto-dev sqlite3
```

2- **Add in our project** To use one of these crates add one of the packages in your project:

```bash
go get -u github.com/ralvescosta/gokit/logging
```

# Documentation

For detailed documentation and usage examples, please visit our [gokit example repository](https://github.com/ralvescosta/gokit_examples)

# License

Ruskit is released under the MIT License. See [LICENSE](https://github.com/ralvescosta/gokit/blob/main/LICENSE) for more details.

# Support

If you have questions, encounter issues, or want to discuss ideas, please open an issue on the [GitHub Issues](https://github.com/ralvescosta/gokit/issues) page.