cloud-native-utils

module
v0.1.99 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 15, 2025 License: MIT

README

Cloud Native Utils

Go Reference License Releases Go Report Card Codacy Badge Codacy Badge

A collection of high-performance, modular utilities for enhancing testing, transactional consistency, efficiency, security, and stability in cloud-native Go applications.

Module Features

  • assert: Provides tools for testing, including utility functions to assert value equality and simplify debugging during development.
  • consistency: Implements transactional log management with Event and EventType abstractions, and supports file-based persistence using JsonFileLogger for reliable data storage.
  • efficiency: Offers utilities for generating read-only channels, merging and splitting streams, concurrent processing of channel items, and partitioning key-value stores using shards for scalability and performance.
  • extensibility: Dynamically loads external Go plugins using LoadPlugin. Just provide a symbol name (e.g., a function) to integrate new features on-the-fly—no rebuilds or redeploys required.
  • logging: Creates a log record consists of a time, a level, a message, and a set of key-value pairs, where the keys are strings and the values may be of any type.
  • messaging: Implements messaging patterns like publish-subscribe to decouple local and remote services.
  • resource: Supplies a generic Access[K, V] interface for CRUD operations on key-value pairs, backed by an in-memory and JSON file implementation.
  • security: Includes encryption and decryption with AES-GCM, secure id and key generation, HMAC hashing, bcrypt-based password handling, and a preconfigured secure HTTPS client and server with liveness and readiness probes for robust application security.
  • service: Enhances service orchestration by grouping related functionality, wrapping functions to support context-aware execution and add lifecycle-oriented functionality like signal handling in cloud-native environments.
  • stability: Ensures service robustness with mechanisms like circuit breakers, retries for transient failures, throttling for rate limiting, debounce for execution control, and timeouts for enforcing execution limits.
  • templating: Provides an Engine for managing templates stored in an embedded filesystem. Use Parse to load multiple templates (via glob patterns), and Render to execute them with custom data.

Directories

Path Synopsis
Package assert provides tools for testing, including utility functions to assert value equality and simplify debugging during development.
Package assert provides tools for testing, including utility functions to assert value equality and simplify debugging during development.
Package consistency implements transactional log management with `Event` and `EventType` abstractions, and supports file-based persistence using `JsonFileLogger` for reliable data storage.
Package consistency implements transactional log management with `Event` and `EventType` abstractions, and supports file-based persistence using `JsonFileLogger` for reliable data storage.
Package efficiency offers utilities for generating read-only channels, merging and splitting streams, concurrent processing of channel items, and partitioning key-value stores using shards for scalability and performance.
Package efficiency offers utilities for generating read-only channels, merging and splitting streams, concurrent processing of channel items, and partitioning key-value stores using shards for scalability and performance.
Package extensibility dynamically loads external Go plugins using `LoadPlugin`.
Package extensibility dynamically loads external Go plugins using `LoadPlugin`.
Package messaging implements messaging patterns like publish-subscribe to decouple local and remote services.
Package messaging implements messaging patterns like publish-subscribe to decouple local and remote services.
Package resource supplies a generic Access[K, V] interface for CRUD operations on key-value pairs, backed by an in-memory and JSON file implementation.
Package resource supplies a generic Access[K, V] interface for CRUD operations on key-value pairs, backed by an in-memory and JSON file implementation.
Package security includes encryption and decryption with AES-GCM, secure key generation, HMAC hashing, bcrypt-based password handling, and a preconfigured secure HTTP(S) server with liveness and readiness probes for robust application security.
Package security includes encryption and decryption with AES-GCM, secure key generation, HMAC hashing, bcrypt-based password handling, and a preconfigured secure HTTP(S) server with liveness and readiness probes for robust application security.
Package service enhances service orchestration by grouping related functionality, wrapping functions to support context-aware execution and add lifecycle-oriented functionality like signal handling in cloud-native environments.
Package service enhances service orchestration by grouping related functionality, wrapping functions to support context-aware execution and add lifecycle-oriented functionality like signal handling in cloud-native environments.
Package stability ensures service robustness with mechanisms like circuit breakers, retries for transient failures, throttling for rate limiting, debounce for execution control, and timeouts for enforcing execution limits.
Package stability ensures service robustness with mechanisms like circuit breakers, retries for transient failures, throttling for rate limiting, debounce for execution control, and timeouts for enforcing execution limits.
Package templating provides an `Engine` for managing templates stored in an embedded filesystem.
Package templating provides an `Engine` for managing templates stored in an embedded filesystem.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL