Skip to content

Flamingock brings Change-as-Code (CaC) to your entire stack. It applies versioned, auditable changes to the external systems your application depends on — such as schemas, message brokers, databases, APIs, cloud services, and any other external system your application needs.

License

Notifications You must be signed in to change notification settings

flamingock/flamingock-java

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Flamingock logo

Auditable, versioned changes across distributed systems.

Evolve queues, DBs, APIs, configs, resources and more — governed, auditable, applied at startup in lockstep.

Coming from Mongock? Learn about the transition and why Flamingock is its evolution.

Maven Version Build License

🚀 Getting started

plugins {
    id("io.flamingock") version "[VERSION]"
}

flamingock {
    community()
}

Replace [VERSION] with the latest from Maven Central.


🧩 What is Flamingock?

When you deploy an app, it usually depends on things outside your code — a database schema, a queue, a feature flag, a config value.

Keeping all of that in sync across environments often means: manual scripts, tribal knowledge, and hoping nothing breaks.

Flamingock brings Change-as-Code (CaC) to your application stack.

It applies versioned, auditable changes to the external systems your application depends on — as part of the application lifecycle itself.

Changes are:

  • applied in a strict, deterministic order at startup
  • verified before serving traffic
  • recorded in an external audit log

If Flamingock cannot guarantee a safe outcome, it stops — preventing silent corruption or partial execution.

The result: every deployment behaves as a single, consistent unit — code and system evolution, moving forward together.


💡 What Flamingock manages

Flamingock handles application-level system changes, including:

  • Database schemas and reference data
  • Message queues, topics, and schemas
  • APIs and configuration values
  • Cloud resources directly tied to application behavior
  • Feature flags, permissions, and runtime policies

What Flamingock does not manage

Flamingock is not Infrastructure-as-Code.

It does not provision servers, clusters, or networks — those belong in tools like Terraform or Pulumi.

Infrastructure-as-Code defines where systems run.
Change-as-Code defines how systems evolve.

Flamingock complements IaC by managing the evolution layer IaC does not cover.


🔑 Key features

  • Unified system evolution
    Orchestrate changes across your full stack — databases, event schemas, queues, cloud resources, configs, and policies — as a single, ordered evolution.

  • Change-as-Code (CaC)
    Define every system change as code: versioned, reviewable, executable, and auditable.

  • Programmatic or declarative
    Author changes in Java/Kotlin or define them declaratively using YAML with official or custom templates.

  • Startup-time synchronization
    Apply all required changes when the application starts, ensuring every environment is consistent before serving traffic.

  • Safety by default
    Flamingock refuses to proceed when it cannot guarantee a safe outcome.
    No silent failures. No partial execution.
    Manual intervention is required instead of hidden corruption.

  • Audit logging
    Every execution is recorded externally with full traceability: what ran, when, by whom, and with what result.

  • OSS core, enterprise-ready
    A production-grade foundation you own and control.

  • Native GraalVM support
    Fully compatible with native image builds for fast startup and low memory usage.

  • Coordinated multi-environment execution
    Safely manage change execution across multiple environments and application instances.


📘 Learn more


🤝 Contributing

Flamingock is built in the open.

If you'd like to report a bug, suggest an improvement, or contribute code, please see CONTRIBUTING.md.


📢 Get involved

⭐ Star the project to show support


📜 License

Flamingock is open source under the Apache License 2.0.

About

Flamingock brings Change-as-Code (CaC) to your entire stack. It applies versioned, auditable changes to the external systems your application depends on — such as schemas, message brokers, databases, APIs, cloud services, and any other external system your application needs.

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks