Skip to content

Commit fee454a

Browse files
committed
docs: concepts
1 parent 2b63684 commit fee454a

File tree

5 files changed

+147
-82
lines changed

5 files changed

+147
-82
lines changed

site/v1/concepts/concepts.md

Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
---
2+
title: Flamingock Concepts
3+
date: 2014-04-18 11:30:00
4+
permalink: /v1/concepts/index.html
5+
eleventyNavigation:
6+
version: v1
7+
root: true
8+
order: 5
9+
---
10+
<h1 class="title">Professional- Concepts</h1>
11+
12+
[[TOC]]
13+
14+
## Change Units
15+
A change unit is an individual unit of change that contains executable code along with its corresponding rollback mechanism. It can be defined using a code-based approach or through low-code options.
16+
17+
## Auditing
18+
Flamingock tracks and stores detailed information about each change unit, including system state, versioning, execution duration, author, error details, and more, ensuring full transparency and traceability.
19+
20+
## Cloud
21+
22+
Flamingock's cloud offering is the default and recommended approach, providing a **maintenance-free experience**
23+
with enhanced features, better audit history, and improved scalability. It’s designed to reduce operational
24+
overhead while offering more advanced capabilities compared to local drivers. The cloud service also includes
25+
a **free tier**, allowing users to experience core features with limited resources.
26+
27+
For a more detailed explanation of advanced cloud features, please refer to the [cloud page](/v1/cloud).
28+
29+
## Driver
30+
In Flamingock, a driver is the mechanism responsible for storing essential operational data, such as audit
31+
information, distributed locks, and system state. Drivers ensure Flamingock can track and manage
32+
change executions reliably and consistently.
33+
34+
## Cloud Driver
35+
It's the driver implementation for leveraging the cloud offering to store its operational data
36+
37+
## Local Drivers
38+
For users who prefer not to use the cloud offering, it's the driver implementation for using a user-provided database to store Flamingock's operational data.
39+
40+
## Runner
41+
The runner is the orchestrator component dealing with the process logic, configuration, dependencies, framework and any environmental aspect. It’s the glue that puts together all the components. It takes the workflow, driver and framework, and run the process.
42+
43+
Mongock provides different runner for multiple frameworks(standalone, Springboot, Micronaut...) and it can be combined with any driver
44+
45+
## Standalone Runner
46+
Intended for vanilla Java applications or frameworks not directly supported by Flamingock. It offers a simple, flexible way to run Flamingock processes without relying on any specific framework.
47+
48+
## Spring Boot Runner
49+
An extension of the standalone runner, designed to integrate seamlessly with Spring Boot applications. It provides additional features and integrations. However, the standalone runner can be used just as effectively in Spring Boot or non-Spring environments.
50+
51+
## Rollbacks
52+
Triggered automatically when a change unit fails during execution. For transactional systems, Flamingock uses the system’s native rollback mechanism; otherwise, the user provides rollback code.
53+
54+
## Undo
55+
Allows users to revert to a specific system state by rolling back changes from the most recent change unit up to a specified change unit, date or tag. This is useful when the user wants to undo a set of applied changes.
56+
57+
## **Workflows and Stages**
58+
59+
Flamingock organizes the execution of change units into workflows, which consist of multiple stages.
60+
- **Stages**: Groups of change units that can run in sequence or in parallel, based on the configuration.
61+
62+
- **Workflow**: A collection of stages that defines the process flow for executing change units. Stages are executed in parallel by default but can include dependencies to enforce sequential execution.
63+
64+
Workflows provide a structured approach to manage changes efficiently and ensure scalability during execution.
65+
66+
## Templates
67+
Templates provide a higher-level abstraction over change units, allowing users to define reusable change units
68+
via YAML or other formats. Templates can handle various use cases, from database migrations to complex system configurations, and can be created and shared by users, contributors, or Flamingock itself.
69+
70+
## Locking
71+
Flamingock uses distributed locking to ensure that only one process applies changes at a time, preventing concurrency issues in distributed systems. While there is a default locking configuration, more granular control can be configured for demanding scenarios.

site/v1/professional/professional-setup.md

Lines changed: 0 additions & 56 deletions
This file was deleted.

site/v1/professional/professional.md

Lines changed: 0 additions & 26 deletions
This file was deleted.

structure.txt

Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
Introduction
2+
- Overview: Brief introduction to Flamingock, its evolution from Mongock, and its cloud-native focus.
3+
- Key Features: Highlight the most important features (Auditing & Rollback, Cloud-Native, Extended System Support, etc.).
4+
- Use Cases: Practical examples of where Flamingock can be applied (e.g., database versioning, configuration management, etc.).
5+
6+
Concepts
7+
- Change Units & Auditing: Explanation of how Flamingock handles changes and versions across systems.
8+
- Runner: Explain the runner.
9+
- Driver: Explain Driver
10+
- Cloud: Explain cloud mechanism
11+
- Rollback: Detailed explanation of auditing features and rollback mechanisms, including how to query and restore previous states.
12+
- Workflows and stages: Overview of Flamingock's advanced workflow management, including sequential, parallel, and combined workflows, and stages
13+
- Template: Explanation of templates.
14+
- Distributed Locking: How Flamingock handles synchronization and locking in distributed environments.
15+
Etc.
16+
17+
Getting Started
18+
- Installation: Guide for setting up Flamingock, both for the cloud-native service and self-hosted options (if applicable).
19+
- Quick Start Guide: A hands-on tutorial for quickly integrating Flamingock into an existing project or system.
20+
- Configuration: Configuration options and best practices for setting up Flamingock, including environment variables, default settings, etc.
21+
- Supported Platforms & Technologies: A list of supported databases, systems, and configurations, and instructions for integrating with them.
22+
23+
Cloud
24+
- Overview of Cloud-Native Flamingock: Explanation of the self-managed cloud service and its advantages.
25+
- Transaction Handling: How transactions are managed to ensure data integrity in the cloud.
26+
- Setup and Configuration: Step-by-step guide to setting up and configuring the cloud service for different environments.
27+
- Introduce the UI??
28+
29+
Getting Started
30+
- Installation: Guide for setting up Flamingock, including both cloud and fallback local driver options.
31+
- Quick Start Guide: A hands-on tutorial for quickly integrating Flamingock into an existing project or system.
32+
- Configuration: Configuration options for setting up Flamingock, including environment variables and default settings.
33+
34+
Runners
35+
- Standalone: Explain standalone runner
36+
- Spring Boot v3: Explain Spring Boot v3 runner
37+
- Spring Boot v3: Explain Spring Boot v4 runner
38+
39+
Templates
40+
- Explain
41+
42+
Features
43+
- GraalVM: Explanation of how Flamingock handles changes and versions across systems.
44+
- Workflows: Explanation workflows and stages
45+
- Custom injections
46+
- Transactions
47+
- Events
48+
- Multitenant
49+
- Etc
50+
51+
Testing
52+
- Explain
53+
54+
CLI
55+
- Explain
56+
57+
Local drivers
58+
- MongoDB V3
59+
- MongoDB Sync4
60+
- MongoDB Spring Data V2
61+
- …
62+
63+
Resources
64+
- Explains
65+
66+
Contributing
67+
- Explains
68+
69+
FAQ
70+
- Explains
71+
72+
Migration from Mongock
73+
- Explains
74+
75+
Changelog
76+
- History of changes or links to github releases. We need to keep also the updated about new features and changes in the server

0 commit comments

Comments
 (0)