Skip to content

Release v1.0.0#25

Merged
bigbes merged 1 commit intomasterfrom
bigbes/release-v1.0.0
Mar 10, 2026
Merged

Release v1.0.0#25
bigbes merged 1 commit intomasterfrom
bigbes/release-v1.0.0

Conversation

@bigbes
Copy link
Collaborator

@bigbes bigbes commented Mar 10, 2026

Initial release of the go-config library providing a hierarchical configuration system with multiple source collectors (maps, files, directories, environment variables, key-value storage), flexible merging strategies, JSON Schema validation, and Tarantool-specific builder with inheritance support.

Added

  • Configuration tree API with hierarchical data storage and safe value
    retrieval.
  • Builder pattern for assembling configuration from multiple sources with
    priority-based merging.
  • Collectors for reading configuration from: in-memory maps, YAML/JSON files,
    directories, environment variables, and key-value storage (etcd via go-storage).
  • Hierarchical inheritance system: define multi-level hierarchies (e.g.,
    global → group → replicaset → instance) with configurable merge strategies
    (replace, append, deep).
  • Flexible merging with customizable Merger interface and default
    last-write-wins semantics.
  • JSON Schema validation support for configuration integrity checking.
  • Order preservation for deterministic key ordering when serializing
    configuration.
  • Tarantool-specific builder with predefined defaults for Tarantool cluster
    configuration (env prefix, inheritance rules, schema validation).
  • Storage integration with integrity verification via hash validation and
    signature checking.
  • Watcher interface for reactive change notifications from storage backends.
  • KeyPath type for configuration key manipulation with wildcard pattern support.
  • MutableConfig for runtime configuration modifications with validation.

@coveralls
Copy link

coveralls commented Mar 10, 2026

Pull Request Test Coverage Report for Build 22897968018

Details

  • 0 of 0 changed or added relevant lines in 0 files are covered.
  • No unchanged relevant lines lost coverage.
  • Overall coverage remained the same at 90.893%

Totals Coverage Status
Change from base Build 22895603387: 0.0%
Covered Lines: 2575
Relevant Lines: 2833

💛 - Coveralls

@bigbes bigbes force-pushed the bigbes/release-v1.0.0 branch from cc4bae5 to 9827882 Compare March 10, 2026 10:24
@bigbes bigbes merged commit cc3b77f into master Mar 10, 2026
14 checks passed
@bigbes bigbes deleted the bigbes/release-v1.0.0 branch March 10, 2026 10:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants