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.
Unlike infrastructure-as-code tools, Flamingock runs inside your application (or via the CLI).
It ensures these systems evolve safely, consistently, and in sync with your code at runtime.
Flamingock focuses on application-level changes that your code requires to run safely:
- Database schemas and reference data
- Message queues and schemas
- APIs and configuration values
- Cloud service resources directly tied to your application
- Configuration changes (feature flags, secrets, runtime values)
Flamingock is not an infrastructure-as-code tool. It does not provision servers, clusters, or networks — those belong in Terraform, Pulumi, or similar. Instead, Flamingock complements them by handling the runtime changes your application depends on.
For more information about Flamingock for Java library, please visit the main repository here.
This repository is structured as Individual Gradle Projects, with each project demonstrating Flamingock's integration with different frameworks, technologies, and use cases. Explore the examples to find the one that matches your needs!
Each example is prepared to run from its own test with all infrastructure (databases, mocked servers, etc.) needed. But you can also run it with your own infrastructure.
Example Project | Description |
---|---|
inventory-orders-service | Example that simulates an e-commerce service that manages inventory and orders. It demonstrates how Flamingock coordinates multiple target systems in lockstep using the Change-as-Code approach. |
🚀 New examples will be added regularly! Stay tuned for updates as we expand the repository to cover even more systems and frameworks.
1. Clone this repository:
git clone https://github.com/flamingock/flamingock-java-examples.git
cd flamingock-java-examples
2. Navigate to the example you want to explore:
cd inventory-orders-service
3. Run example
3.a. Run the project test using Gradle
./gradlew test
3.b. Run the project using Gradle and your own infrastructure
./gradlew run
4. Follow the instructions in the specific project's README for further details.
We welcome contributions! If you have an idea for a new example or improvement to an existing one, feel free to submit a pull request. Check out our CONTRIBUTING.md for guidelines.
⭐ Star the Flamingock repository to show your support!
🐞 Report issues or suggest features in the Flamingock issue tracker.
💬 Join the discussion in the Flamingock community.
This repository is licensed under the Apache License 2.0.
Let us know what you think or where you’d like to see Flamingock used next.