A comprehensive set of tools for parsing, manipulating, combining and streaming
declarative API specifications. In the world of k8s and cloud native with a lot of config languates, versions, there is a need for better tooling. deklarative
aims to fix these in a high-level but extensible manner.
Libraries for framing, reading and writing byte streams and encoding, decoding, converting objects.
A library for tracing your program using OpenTelemetry and logging using go-logr
in a powerful, user-friendly, yet extensible way. Logging and tracing are interconnected in this approach, making it possible to look at instrumentation data
from multiple angles.
A set of core interfaces defining primitives for declarative content metadata, recognizers, and content types.
A JSON library delegating JSON encoding/decoding to json-iterator/go
, in the same way as Kubernetes implements it.
A YAML library delegating YAML 1.2 encoding/decoding to other libraries like yaml.v3
and kyaml
. YAML is first converted to JSON, and then the json
library is always used for decoding/encoding.
A library for working with byte streams. It is interconnecting recognizer and metadata interfaces from content
with io.Reader
s and io.Writer
s. It supports
propagating contexts for telemetry propagation using the tracing
library.
A library building on top of stream
for extracting frames from a byte stream, e.g. JSON objects or YAML documents, respectively.
A library using the frame
library for reading frames, and then encoding/decoding these using e.g. the json
and yaml
lower-level libraries.
- Lucas Käldström (@luxas)