Skip to content
 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

60 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

unstructured-runtime

Krateo's own composition runtime: a managed-reconciler framework for building Kubernetes controllers over dynamic clients and unstructured objects — no generated typed clients required.

Go Report Card Test and coverage

What is this

A Go library that turns an ExternalClient (four methods: Observe / Create / Update / Delete) into a full controller for any GroupVersionResource, including CRDs that only exist at runtime. It provides the reconcile loop, a dedup'd priority queue with rate-limited retry, the krateo.io/external-create-* annotation handshake with incomplete-create recovery, finalizer handling, graceful drain on shutdown, and OpenTelemetry metrics/traces/logs. It is the engine inside Krateo's composition-dynamic-controller. Full picture: docs/index.md.

Install

go get github.com/krateo-platformops/unstructured-runtime

Configure

See docs/configuration.md. Most used:

Setting Default Effect
builder.WithResyncInterval(d) 3m informer resync → periodic Observe of every CR
builder.WithMaxRetries(n) 5 retries before a failed event is dropped from the queue
builder.WithGracefulShutdownTimeout(d) 30s drain window for in-flight reconciles after SIGTERM

Examples

Docs

Develop & release

go build ./... && go test -race ./... — release runbook: docs/release.md.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages