{"id":13565382,"url":"https://github.com/mongock/mongock","last_synced_at":"2026-01-09T23:03:14.674Z","repository":{"id":37014771,"uuid":"130605698","full_name":"mongock/mongock","owner":"mongock","description":"Lightweight Java based migration tool","archived":false,"fork":false,"pushed_at":"2024-04-05T15:09:11.000Z","size":3645,"stargazers_count":428,"open_issues_count":10,"forks_count":60,"subscribers_count":9,"default_branch":"develop","last_synced_at":"2024-04-14T04:20:59.755Z","etag":null,"topics":["database","java","migration","mongock","mongodb","nosql","spring","spring-boot","sql"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mongock.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.md","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":"CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null},"funding":{"open_collective":"mongock"}},"created_at":"2018-04-22T20:39:18.000Z","updated_at":"2024-04-07T06:22:51.000Z","dependencies_parsed_at":"2023-12-16T17:04:39.495Z","dependency_job_id":"b0dac0d6-11ca-4a4b-aadd-6d901e1fa2b4","html_url":"https://github.com/mongock/mongock","commit_stats":{"total_commits":663,"total_committers":32,"mean_commits":20.71875,"dds":"0.20663650075414786","last_synced_commit":"d14863ca63307e9e22ff25155e5939b74c4dc8c2"},"previous_names":["cloudyrock/mongock"],"tags_count":61,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mongock%2Fmongock","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mongock%2Fmongock/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mongock%2Fmongock/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mongock%2Fmongock/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mongock","download_url":"https://codeload.github.com/mongock/mongock/tar.gz/refs/heads/develop","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246620224,"owners_count":20806722,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["database","java","migration","mongock","mongodb","nosql","spring","spring-boot","sql"],"created_at":"2024-08-01T13:01:45.870Z","updated_at":"2026-01-09T23:03:14.660Z","avatar_url":"https://github.com/mongock.png","language":"Java","readme":"\u003cp align=\"center\"\u003e\n  \u003cimg src=\"misc/logo-with-text.png\" width=\"420px\" alt=\"Flamingock logo\" /\u003e\n\u003c/p\u003e\n\n\u003ch3 align=\"center\"\u003eAuditable, versioned changes across distributed systems.\u003c/h3\u003e\n\u003cp align=\"center\"\u003eEvolve queues, DBs, APIs, configs, resources and more — governed, auditable, applied at startup in lockstep.\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003csmall\u003e\n    Coming from \u003ca href=\"https://github.com/flamingock/mongock-legacy#%EF%B8%8F-mongock-is-deprecated\"\u003eMongock\u003c/a\u003e?  \n    Learn about the transition and why Flamingock is its evolution.\n  \u003c/small\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://central.sonatype.com/search?q=io.flamingock\"\u003e\n    \u003cimg src=\"https://img.shields.io/maven-central/v/io.flamingock/flamingock-core\" alt=\"Maven Version\" /\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://github.com/flamingock/flamingock-java/actions/workflows/build.yml\"\u003e\n    \u003cimg src=\"https://github.com/flamingock/flamingock-java/actions/workflows/build.yml/badge.svg\" alt=\"Build\" /\u003e\n  \u003c/a\u003e\n  \u003ca href=\"LICENSE.md\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/License-Apache%202.0-blue.svg\" alt=\"License\" /\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n## 🚀 Getting started\n\n```kotlin\nplugins {\n    id(\"io.flamingock\") version \"[VERSION]\"\n}\n\nflamingock {\n    community()\n}\n```\n\n\u003e Replace `[VERSION]` with the latest from [Maven Central](https://central.sonatype.com/search?q=io.flamingock).\n\n- Read the [Quick Start guide](https://docs.flamingock.io/get-started/quick-start)\n- Explore [examples](https://github.com/flamingock/flamingock-java-examples)\n\n---\n\n## 🧩 What is Flamingock?\n\nWhen you deploy an app, it usually depends on things outside your code —\na database schema, a queue, a feature flag, a config value.\n\nKeeping all of that in sync across environments often means:\nmanual scripts, tribal knowledge, and hoping nothing breaks.\n\n**Flamingock** brings **Change-as-Code (CaC)** to your application stack.\n\nIt applies **versioned, auditable changes** to the external systems your application depends on —\nas part of the application lifecycle itself.\n\nChanges are:\n- **applied** in a strict, deterministic order at startup\n- **verified** before serving traffic\n- **recorded** in an external audit log\n\nIf Flamingock cannot guarantee a safe outcome, it **stops** —\npreventing silent corruption or partial execution.\n\n**The result:** every deployment behaves as a single, consistent unit —\ncode and system evolution, moving forward together.\n\n---\n\n## 💡 What Flamingock manages\n\nFlamingock handles **application-level system changes**, including:\n\n- Database schemas and reference data\n- Message queues, topics, and schemas\n- APIs and configuration values\n- Cloud resources directly tied to application behavior\n- Feature flags, permissions, and runtime policies\n\n### What Flamingock does *not* manage\n\nFlamingock is **not Infrastructure-as-Code**.\n\nIt does not provision servers, clusters, or networks —\nthose belong in tools like Terraform or Pulumi.\n\n**Infrastructure-as-Code defines where systems run.**  \n**Change-as-Code defines how systems evolve.**\n\nFlamingock complements IaC by managing the evolution layer IaC does not cover.\n\n---\n\n## 🔑 Key features\n\n- **Unified system evolution**  \n  Orchestrate changes across your full stack — databases, event schemas, queues, cloud resources, configs, and policies — as a single, ordered evolution.\n\n- **Change-as-Code (CaC)**  \n  Define every system change as code: versioned, reviewable, executable, and auditable.\n\n- **Programmatic or declarative**  \n  Author changes in Java/Kotlin or define them declaratively using YAML with official or custom templates.\n\n- **Startup-time synchronization**  \n  Apply all required changes when the application starts, ensuring every environment is consistent before serving traffic.\n\n- **Safety by default**  \n  Flamingock refuses to proceed when it cannot guarantee a safe outcome.  \n  No silent failures. No partial execution.  \n  Manual intervention is required instead of hidden corruption.\n\n- **Audit logging**  \n  Every execution is recorded externally with full traceability: what ran, when, by whom, and with what result.\n\n- **OSS core, enterprise-ready**  \n  A production-grade foundation you own and control.\n\n- **Native GraalVM support**  \n  Fully compatible with native image builds for fast startup and low memory usage.\n\n- **Coordinated multi-environment execution**  \n  Safely manage change execution across multiple environments and application instances.\n\n---\n\n## 📘 Learn more\n\n- [Official documentation](https://docs.flamingock.io)\n- [Core concepts](https://docs.flamingock.io/get-started/core-concepts)\n- [Why Change-as-Code matters](https://docs.flamingock.io/get-started/Change-as-Code)\n- [Examples repository](https://github.com/flamingock/flamingock-java-examples)\n\n---\n\n## 🤝 Contributing\n\nFlamingock is built in the open.\n\nIf you'd like to report a bug, suggest an improvement, or contribute code,\nplease see [CONTRIBUTING.md](CONTRIBUTING.md).\n\n---\n\n## 📢 Get involved\n\n⭐ Star the project to show support  \n- Report issues via the [issue tracker](https://github.com/flamingock/flamingock-java/issues)  \n- Join discussions on [GitHub Discussions](https://github.com/flamingock/flamingock-java/discussions)\n\n---\n\n## 📜 License\n\nFlamingock is open source under the [Apache License 2.0](LICENSE.md).\n","funding_links":["https://opencollective.com/mongock"],"categories":["Java"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmongock%2Fmongock","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmongock%2Fmongock","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmongock%2Fmongock/lists"}