# Devops

- [Devops Overview](https://docs.rierino.com/devops/devops-overview.md): Overview of the Devops app for building API flows, microservices, gateways, deployments, and runtime operations in Rierino.
- [API, Event & Process Flows](https://docs.rierino.com/devops/api-event-and-process-flows.md): Sagas are the API, event and process flow definitions across the platform, which can be distributed across multiple servers for execution.
- [Using the Saga Screen](https://docs.rierino.com/devops/api-event-and-process-flows/using-the-saga-screen.md): How to use the Saga screen to browse, edit, and manage API flow graphs in Rierino.
- [Defining a Saga](https://docs.rierino.com/devops/api-event-and-process-flows/defining-a-saga.md): Reference for configuring a saga’s definition, execution rules, caching, resilience, scheduling, schema, and AI settings.
- [Configuring Saga Steps](https://docs.rierino.com/devops/api-event-and-process-flows/configuring-saga-steps.md): Reference for the common settings, step types, and links used to build and control saga execution flows.
- [Event Step](https://docs.rierino.com/devops/api-event-and-process-flows/configuring-saga-steps/event-step.md): Event steps pass event payload to an event handler, to execute selected action with given parameters.
- [Core Actions](https://docs.rierino.com/devops/api-event-and-process-flows/configuring-saga-steps/event-step/core-actions.md): Core actions range from basic data read/write operations to Handlebars templates for HTML rendering, user task orchestration for business process automation
- [Write Data](https://docs.rierino.com/devops/api-event-and-process-flows/configuring-saga-steps/event-step/core-actions/write-data.md): These actions provide ability to create, update, delete records on a state manager on demand, facilitating common REST API write calls
- [Read Data](https://docs.rierino.com/devops/api-event-and-process-flows/configuring-saga-steps/event-step/core-actions/read-data.md): These actions provide ability to select one, multiple or all records from a state manager on demand, facilitating common REST API read calls.
- [Query Data](https://docs.rierino.com/devops/api-event-and-process-flows/configuring-saga-steps/event-step/core-actions/query-data.md): These actions provide ability to generate and execute system specific queries on a query manager on demand, from simple select statements to complex requests.
- [Apply Rules](https://docs.rierino.com/devops/api-event-and-process-flows/configuring-saga-steps/event-step/core-actions/apply-rules.md): These actions provide ability to evaluate a list of rules and returns results based on matches.
- [Call Rest API](https://docs.rierino.com/devops/api-event-and-process-flows/configuring-saga-steps/event-step/core-actions/call-rest-api.md): These actions provide ability to make REST based calls to other internal or external services and return their results for API-based integrations.
- [Generate Text/Html](https://docs.rierino.com/devops/api-event-and-process-flows/configuring-saga-steps/event-step/core-actions/generate-text-html.md): These actions provide ability to produce text outputs using templates and input payload.
- [Parse Html](https://docs.rierino.com/devops/api-event-and-process-flows/configuring-saga-steps/event-step/core-actions/parse-html.md): These actions provide ability to parse HTML documents and return their contents as structured JSON.
- [Generate Secrets](https://docs.rierino.com/devops/api-event-and-process-flows/configuring-saga-steps/event-step/core-actions/generate-secrets.md): These actions provide ability to encrypt, decrypt and hash data, as well as validate and generate tokens and certificates.
- [Orchestrate User Task](https://docs.rierino.com/devops/api-event-and-process-flows/configuring-saga-steps/event-step/core-actions/orchestrate-user-task.md): These actions provide ability to include human actions and time delays in API calls.
- [Perform File Operation](https://docs.rierino.com/devops/api-event-and-process-flows/configuring-saga-steps/event-step/core-actions/perform-file-operation.md): These actions provide ability to interact with local and remote file systems for directory and file operations.
- [Run Shell Command](https://docs.rierino.com/devops/api-event-and-process-flows/configuring-saga-steps/event-step/core-actions/run-shell-command.md): These actions provide ability to execute shell commands.
- [Send/Receive Emails](https://docs.rierino.com/devops/api-event-and-process-flows/configuring-saga-steps/event-step/core-actions/send-receive-emails.md): These actions provide ability to send and receive emails using existing email servers.
- [Flow Actions](https://docs.rierino.com/devops/api-event-and-process-flows/configuring-saga-steps/event-step/flow-actions.md): Flow actions provide ability to combine and orchestrate various actions.
- [Orchestrate Saga](https://docs.rierino.com/devops/api-event-and-process-flows/configuring-saga-steps/event-step/flow-actions/orchestrate-saga.md): These actions provide ability to coordinate end-to-end API calls, locally executing or distributing microservice steps across the platform.
- [Execute Predefined Actions](https://docs.rierino.com/devops/api-event-and-process-flows/configuring-saga-steps/event-step/flow-actions/execute-predefined-actions.md): These actions provide ability to execute predefined reusable actions as saga steps.
- [Loop Each Entry](https://docs.rierino.com/devops/api-event-and-process-flows/configuring-saga-steps/event-step/flow-actions/loop-each-entry.md): These actions provide ability to repeat an action for each entry in a specific payload element.
- [Run Multiple Steps](https://docs.rierino.com/devops/api-event-and-process-flows/configuring-saga-steps/event-step/flow-actions/run-multiple-steps.md): These actions provide ability to execute sequential actions using different event handlers at once.
- [Buffer Payloads](https://docs.rierino.com/devops/api-event-and-process-flows/configuring-saga-steps/event-step/flow-actions/buffer-payloads.md): These actions provide ability to buffer multiple event payloads into a single batch event.
- [Merge Parallel Steps](https://docs.rierino.com/devops/api-event-and-process-flows/configuring-saga-steps/event-step/flow-actions/merge-parallel-steps.md): These actions provide ability to merge parallel saga steps in distributed flow executions.
- [Log Event](https://docs.rierino.com/devops/api-event-and-process-flows/configuring-saga-steps/event-step/flow-actions/log-event.md): These actions provide ability to review contents of events received by a runner from logs.
- [Send Event](https://docs.rierino.com/devops/api-event-and-process-flows/configuring-saga-steps/event-step/flow-actions/send-event.md): These actions provide ability to send events to an output stream.
- [Validate Event](https://docs.rierino.com/devops/api-event-and-process-flows/configuring-saga-steps/event-step/flow-actions/validate-event.md): These actions provide ability to check validity of event contents using different validator types.
- [Transform Event](https://docs.rierino.com/devops/api-event-and-process-flows/configuring-saga-steps/event-step/flow-actions/transform-event.md): These actions provide ability to transform incoming event payload using various transformation classes.
- [Do Nothing](https://docs.rierino.com/devops/api-event-and-process-flows/configuring-saga-steps/event-step/flow-actions/do-nothing.md): These actions provide ability to pass event data through without changes.
- [Lock & Unlock](https://docs.rierino.com/devops/api-event-and-process-flows/configuring-saga-steps/event-step/flow-actions/lock-and-unlock.md): These actions provide ability to create locks and unlock them for a given id and a domain.
- [Perform DB Transaction](https://docs.rierino.com/devops/api-event-and-process-flows/configuring-saga-steps/event-step/flow-actions/perform-db-transaction.md): These actions provide ability to execute multiple state manipulation journals as a single database transaction.
- [Trigger Runner Command](https://docs.rierino.com/devops/api-event-and-process-flows/configuring-saga-steps/event-step/flow-actions/trigger-runner-command.md): These actions provide ability to trigger commands through event streams.
- [ML & AI Actions](https://docs.rierino.com/devops/api-event-and-process-flows/configuring-saga-steps/event-step/ml-and-ai-actions.md): ML and AI actions provide ability to run machine learning inference, GenAI calls, embeddings and agent protocols.
- [Use ML Models](https://docs.rierino.com/devops/api-event-and-process-flows/configuring-saga-steps/event-step/ml-and-ai-actions/use-ml-models.md): These actions provide ability to run real-time inference using various machine learning libraries.
- [Use GenAI Models](https://docs.rierino.com/devops/api-event-and-process-flows/configuring-saga-steps/event-step/ml-and-ai-actions/use-genai-models.md): These actions provide ability to use GenAI models from various providers.
- [Perform Text Embedding](https://docs.rierino.com/devops/api-event-and-process-flows/configuring-saga-steps/event-step/ml-and-ai-actions/perform-text-embedding.md): These actions provide ability to convert text into embeddings for advanced search functionality.
- [Service MCP Requests](https://docs.rierino.com/devops/api-event-and-process-flows/configuring-saga-steps/event-step/ml-and-ai-actions/service-mcp-requests.md): These actions provide ability to expose existing microservice capabilities over MCP.
- [Service A2A Requests](https://docs.rierino.com/devops/api-event-and-process-flows/configuring-saga-steps/event-step/ml-and-ai-actions/service-a2a-requests.md): These actions provide ability to expose existing microservice capabilities over A2A.
- [Specialized Actions](https://docs.rierino.com/devops/api-event-and-process-flows/configuring-saga-steps/event-step/specialized-actions.md): Specialized actions facilitate advanced operations and are available in Rierino Core+ edition.
- [Apply Advanced Rules](https://docs.rierino.com/devops/api-event-and-process-flows/configuring-saga-steps/event-step/specialized-actions/apply-advanced-rules.md): These actions provide ability to execute business rules using Drools BRMS.
- [Calculate Real-time Metrics](https://docs.rierino.com/devops/api-event-and-process-flows/configuring-saga-steps/event-step/specialized-actions/calculate-real-time-metrics.md): These actions provide ability to build real-time intelligence and CEP capabilities using Siddhi.
- [Consume Web of Things](https://docs.rierino.com/devops/api-event-and-process-flows/configuring-saga-steps/event-step/specialized-actions/consume-web-of-things.md): These actions provide ability to consume WoT data and invoke actions on IoT and similar endpoints.
- [Produce Web of Things](https://docs.rierino.com/devops/api-event-and-process-flows/configuring-saga-steps/event-step/specialized-actions/produce-web-of-things.md): These actions provide ability to produce WoT descriptions and endpoints from allowed sagas.
- [Generate Excel](https://docs.rierino.com/devops/api-event-and-process-flows/configuring-saga-steps/event-step/specialized-actions/generate-excel.md): These actions provide ability to produce formatted Excel files using templates and input payload.
- [Generate PDF](https://docs.rierino.com/devops/api-event-and-process-flows/configuring-saga-steps/event-step/specialized-actions/generate-pdf.md): These actions provide ability to produce formatted PDF files from HTML content.
- [Call SOAP API](https://docs.rierino.com/devops/api-event-and-process-flows/configuring-saga-steps/event-step/specialized-actions/call-soap-api.md): These actions provide ability to use SOAP services for third-party integrations.
- [Integrate with Camel](https://docs.rierino.com/devops/api-event-and-process-flows/configuring-saga-steps/event-step/specialized-actions/integrate-with-camel.md): These actions provide ability to use Apache Camel producers for third-party integrations.
- [Custom Code Actions](https://docs.rierino.com/devops/api-event-and-process-flows/configuring-saga-steps/event-step/custom-code-actions.md): Custom code actions provide ability to execute scripts, dynamic Java code, packages and Python procedures.
- [Run Scripts](https://docs.rierino.com/devops/api-event-and-process-flows/configuring-saga-steps/event-step/custom-code-actions/run-scripts.md): These actions provide ability to execute stored scripts using Javax engines.
- [Run Java Package](https://docs.rierino.com/devops/api-event-and-process-flows/configuring-saga-steps/event-step/custom-code-actions/run-java-package.md): These actions provide ability to load and execute dynamic Java packages during runtime.
- [Run Python Procedure](https://docs.rierino.com/devops/api-event-and-process-flows/configuring-saga-steps/event-step/custom-code-actions/run-python-procedure.md): These actions provide ability to handle events using Python libraries.
- [Run Java Code](https://docs.rierino.com/devops/api-event-and-process-flows/configuring-saga-steps/event-step/custom-code-actions/run-java-code.md): These actions provide ability to load and execute dynamic Java event handler code during runtime.
- [Gateway Actions](https://docs.rierino.com/devops/api-event-and-process-flows/configuring-saga-steps/event-step/gateway-actions.md): Gateway actions facilitate authentication and session management and are mostly used on dedicated runners called by the API gateway.
- [Authenticate](https://docs.rierino.com/devops/api-event-and-process-flows/configuring-saga-steps/event-step/gateway-actions/authenticate.md): These actions provide ability to authenticate users and manage user access as part of gateway functionality.
- [State Based](https://docs.rierino.com/devops/api-event-and-process-flows/configuring-saga-steps/event-step/gateway-actions/authenticate/state-based.md): These actions provide a state-based authentication implementation using existing states as a credential store.
- [Keycloak Based](https://docs.rierino.com/devops/api-event-and-process-flows/configuring-saga-steps/event-step/gateway-actions/authenticate/keycloak-based.md): These actions provide a Keycloak-based authentication implementation.
- [Sessionize](https://docs.rierino.com/devops/api-event-and-process-flows/configuring-saga-steps/event-step/gateway-actions/sessionize.md): These actions provide ability to create and track sessions for system users as part of gateway functionality.
- [Transform Step](https://docs.rierino.com/devops/api-event-and-process-flows/configuring-saga-steps/transform-step.md): This step performs a transformation on an event and continues with its output to the next step.
- [Transform Classes](https://docs.rierino.com/devops/api-event-and-process-flows/configuring-saga-steps/transform-step/transform-classes.md)
- [Condition Step](https://docs.rierino.com/devops/api-event-and-process-flows/configuring-saga-steps/condition-step.md): This step performs a condition check and directs flow of saga based on its outcome.
- [Condition Classes](https://docs.rierino.com/devops/api-event-and-process-flows/configuring-saga-steps/condition-step/condition-classes.md)
- [Step Link](https://docs.rierino.com/devops/api-event-and-process-flows/configuring-saga-steps/step-link.md): Links between saga steps define the flow of execution from start to end.
- [Injecting Variables](https://docs.rierino.com/devops/api-event-and-process-flows/injecting-variables.md): Reference for injecting variables into saga steps and queries using payload fields, defaults, and built-in values.
- [Microservices](https://docs.rierino.com/devops/microservices.md): Microservices sit at the heart of Rierino platform, for building flexible and scalable backend applications.
- [Service Runners](https://docs.rierino.com/devops/microservices/service-runners.md): Runners are the main components for creating and running microservices across the platform.
- [Using the Runner Screen](https://docs.rierino.com/devops/microservices/service-runners/using-the-runner-screen.md): How to use the Runner screen to browse runners, edit runner details, add elements, and manage graph layout.
- [Defining a Runner](https://docs.rierino.com/devops/microservices/service-runners/defining-a-runner.md): Reference for a runner’s core definition fields, including status, domain, base runners, and description.
- [Managing Runner Settings](https://docs.rierino.com/devops/microservices/service-runners/managing-runner-settings.md): Reference for configuring runner I/O, partition selection, and runner-level settings such as rebuild, commit, logging, and handler access.
- [Adding Runner Elements](https://docs.rierino.com/devops/microservices/service-runners/adding-runner-elements.md): Guide to adding runner elements, setting aliases and member types, overriding settings, and wiring element dependencies.
- [Deploying Runners](https://docs.rierino.com/devops/microservices/service-runners/deploying-runners.md): Overview of how runner configurations are deployed, the core deployment parameters, and the runtime commands available after rollout.
- [Spring Runners](https://docs.rierino.com/devops/microservices/service-runners/deploying-runners/spring-runners.md): These runners are based on Java Spring library.
- [Samza Runners](https://docs.rierino.com/devops/microservices/service-runners/deploying-runners/samza-runners.md): These runners are based on Samza library, receiving requests from Samza consumers (e.g. Kafka) and returning results on Samza producers (e.g. Kinesis).
- [Camel Runners](https://docs.rierino.com/devops/microservices/service-runners/deploying-runners/camel-runners.md): These runners are based on Apache Camel library, receiving requests from Camel consumers (e.g. Timer) and returning results on Camel producers (e.g. ActiveMQ).
- [Building Blocks](https://docs.rierino.com/devops/microservices/building-blocks.md): Overview of the runner element types used to define systems, streams, data access, handlers, actions, and runtime behavior.
- [Systems Integrations](https://docs.rierino.com/devops/microservices/building-blocks/systems-integrations.md): Systems elements are used for defining key configuration details shared across microservices which are based on a common data store or external tool.
- [API Based Systems](https://docs.rierino.com/devops/microservices/building-blocks/systems-integrations/api-based-systems.md): API based systems provide shared connection and authorization details for external service integrations.
- [Data Systems](https://docs.rierino.com/devops/microservices/building-blocks/systems-integrations/data-systems.md): Data systems provide shared connection details for state and query managers.
- [Other Systems](https://docs.rierino.com/devops/microservices/building-blocks/systems-integrations/other-systems.md): Other systems range from event streaming to custom Camel based connectors
- [Data Sources](https://docs.rierino.com/devops/microservices/building-blocks/data-sources.md): State managers are used for defining key elements storing aggregates (such as product, price definitions)
- [Typical Use Cases](https://docs.rierino.com/devops/microservices/building-blocks/data-sources/typical-use-cases.md)
- [State Data Structure](https://docs.rierino.com/devops/microservices/building-blocks/data-sources/state-data-structure.md)
- [Local States](https://docs.rierino.com/devops/microservices/building-blocks/data-sources/local-states.md)
- [In-Memory Map](https://docs.rierino.com/devops/microservices/building-blocks/data-sources/local-states/in-memory-map.md): This state manager (com.rierino.state.manager.MapStateManager) provides a local in-memory map for storing and reading manageable number of aggregates with very low latency.
- [Caffeine Cache](https://docs.rierino.com/devops/microservices/building-blocks/data-sources/local-states/caffeine-cache.md): This state manager (com.rierino.state.manager.CaffeineCacheStateManager) uses Caffeine to provide a local in-memory cache with expiration duration and max size.
- [Samza Based](https://docs.rierino.com/devops/microservices/building-blocks/data-sources/local-states/samza-based.md): This state manager (com.rierino.state.manager.SamzaStateManager) uses Samzalocal store (LevelDB/RocksDB) for storing and reading data.
- [Lucene Based](https://docs.rierino.com/devops/microservices/building-blocks/data-sources/local-states/lucene-based.md): This state manager (com.rierino.state.manager.LuceneStateManager) provides a Lucene state for local search capabilities.
- [Single File](https://docs.rierino.com/devops/microservices/building-blocks/data-sources/local-states/single-file.md): This state manager (com.rierino.state.manager.SingleFileStateManager) provides read-only access to a local json file, mainly used for test purposes.
- [Multiple Files](https://docs.rierino.com/devops/microservices/building-blocks/data-sources/local-states/multiple-files.md): This state manager (com.rierino.state.manager.MultiFileStateManager) provides read-write access to a local folder with ided json files.
- [Selected IDs Map](https://docs.rierino.com/devops/microservices/building-blocks/data-sources/local-states/selected-ids-map.md): This state manager (com.rierino.state.manager.IDMapStateManager) provides a local in-memory map for storing and reading a specific list of aggregates with very low latency.
- [Indexed Map](https://docs.rierino.com/devops/microservices/building-blocks/data-sources/local-states/indexed-map.md): This state manager (com.rierino.state.manager.IndexedMapStateManager) provides a local in-memory map for storing and reading aggregates which is also indexed with a specific field for quick filtering.
- [Shared States](https://docs.rierino.com/devops/microservices/building-blocks/data-sources/shared-states.md)
- [MongoDB Collection](https://docs.rierino.com/devops/microservices/building-blocks/data-sources/shared-states/mongodb-collection.md): This state manager (com.rierino.state.manager.MongoStateManager) uses MongoDB for storing and reading data, typically as the master data store.
- [Jooq (SQL) Table](https://docs.rierino.com/devops/microservices/building-blocks/data-sources/shared-states/jooq-sql-table.md): This state manager (com.rierino.state.manager.JooqStateManager) uses a SQL database, mapping Json data into one or more tables.
- [Redis Map](https://docs.rierino.com/devops/microservices/building-blocks/data-sources/shared-states/redis-map.md): This state manager (com.rierino.state.manager.RedisStateManager) uses Redis for storing and reading data, typically for shared caching purposes.
- [Couchbase Collection](https://docs.rierino.com/devops/microservices/building-blocks/data-sources/shared-states/couchbase-collection.md): This state manager (com.rierino.state.manager.CouchbaseStateManager) uses Couchbase for storing and reading data.
- [Elasticsearch Index](https://docs.rierino.com/devops/microservices/building-blocks/data-sources/shared-states/elasticsearch-index.md): This state manager (com.rierino.state.manager.elastic.ElasticStateManager) uses Elasticsearch as an aggregate store, which is typically used as the search engine.
- [Elasticsearch Joined](https://docs.rierino.com/devops/microservices/building-blocks/data-sources/shared-states/elasticsearch-joined.md): This state manager (com.rierino.state.manager.elastic.ElasticJoinedStateManager) is similar to ElasticStateManager, but can join multiple aggregates into a single index for efficient search.
- [Etcd Namespace](https://docs.rierino.com/devops/microservices/building-blocks/data-sources/shared-states/etcd-namespace.md): This state manager (com.rierino.state.manager.EtcdStateManager) uses etcd for storing and reading key-value data, typically about systems configurations.
- [Specialized States](https://docs.rierino.com/devops/microservices/building-blocks/data-sources/specialized-states.md): Specialized states allow using non-traditional data sources as if they are database tables
- [CRUD Service](https://docs.rierino.com/devops/microservices/building-blocks/data-sources/specialized-states/crud-service.md): This state manager (com.rierino.state.manager.CRUDStateManager) uses a remote REST service as a data store and source, converting state changes and requests to CRUD calls.
- [Odata Service](https://docs.rierino.com/devops/microservices/building-blocks/data-sources/specialized-states/odata-service.md): These state managers (com.rierino.state.manager.odata2.OdataStateManager and com.rierino.state.manager.odata4.OdataStateManager) use a remote Odata service as a data source.
- [State Coordinators](https://docs.rierino.com/devops/microservices/building-blocks/data-sources/state-coordinators.md)
- [Lazy Cache Coordinator](https://docs.rierino.com/devops/microservices/building-blocks/data-sources/state-coordinators/lazy-cache-coordinator.md): This state manager (com.rierino.state.manager.LazyCachedStateManager) is a cache coordinator, which uses a loader state and a cache state.
- [Event Store Coordinator](https://docs.rierino.com/devops/microservices/building-blocks/data-sources/state-coordinators/event-store-coordinator.md): This state manager (com.rierino.state.manager.SingleJournalStoreManager) is an event store coordinator, which uses a core state.
- [Write thru Coordinator](https://docs.rierino.com/devops/microservices/building-blocks/data-sources/state-coordinators/write-thru-coordinator.md): This state manager (com.rierino.state.manager.CachedWriteStateManager) provides a cache layer on top of any writeable state manager, which is updated upon write requests.
- [Loading Strategies](https://docs.rierino.com/devops/microservices/building-blocks/data-sources/loading-strategies.md): It is possible to synchronize different state managers using different methods, based on the use case.
- [ID Generators](https://docs.rierino.com/devops/microservices/building-blocks/data-sources/id-generators.md): In addition to standard settings, writeable state managers can also utilize id generators for assigning globally unique ids to each input event
- [Query & Search Sources](https://docs.rierino.com/devops/microservices/building-blocks/query-and-search-sources.md): Query managers are used for querying data from an underlying data store such as a SQL database
- [MongoDB](https://docs.rierino.com/devops/microservices/building-blocks/query-and-search-sources/mongodb.md): This query manager (com.rierino.query.manager.MongoQueryManager) provides ability to query a MongoDB database.
- [Elasticsearch](https://docs.rierino.com/devops/microservices/building-blocks/query-and-search-sources/elasticsearch.md): This query manager (com.rierino.query.manager.elastic.ElasticQueryManager) provides ability to query an Elasticsearch system.
- [Lucene](https://docs.rierino.com/devops/microservices/building-blocks/query-and-search-sources/lucene.md): This query manager (com.rierino.query.manager.LuceneQueryManager) provides ability to query a local Lucene state
- [SQL Based](https://docs.rierino.com/devops/microservices/building-blocks/query-and-search-sources/sql-based.md): This query manager (com.rierino.query.manager.SQLQueryManager) provides ability to query a SQL database using JDBC connection.
- [Odata Service](https://docs.rierino.com/devops/microservices/building-blocks/query-and-search-sources/odata-service.md): These managers (com.rierino.query.manager.odata2.OdataQueryManager and com.rierino.query.manager.odata4.OdataQueryManager) provide ability to query odata endpoints.
- [Execution Handlers](https://docs.rierino.com/devops/microservices/building-blocks/execution-handlers.md): Handlers are used for defining key classes responsible for processing data and responding to requests.
- [Core Handlers](https://docs.rierino.com/devops/microservices/building-blocks/execution-handlers/core-handlers.md): Core handlers are included in all Rierino platform versions and define the built-in handler classes used by the most common workflows.
- [Flow Handlers](https://docs.rierino.com/devops/microservices/building-blocks/execution-handlers/flow-handlers.md): Flow handlers are included in all Rierino platform versions, providing ability to combine and orchestrate various actions
- [ML & AI Handlers](https://docs.rierino.com/devops/microservices/building-blocks/execution-handlers/ml-and-ai-handlers.md): ML & AI handlers allow incorporation of AI agent and machine learning capabilities
- [Specialized Handlers](https://docs.rierino.com/devops/microservices/building-blocks/execution-handlers/specialized-handlers.md): Specialized handlers facilitate more advanced operations and are only available in Rierino Core+ edition
- [Custom Code Handlers](https://docs.rierino.com/devops/microservices/building-blocks/execution-handlers/custom-code-handlers.md): Custom code handlers are included in all Rierino platform versions, providing ability to incorporate highly customized logic and actions
- [Gateway Handlers](https://docs.rierino.com/devops/microservices/building-blocks/execution-handlers/gateway-handlers.md): Gateway handlers facilitate authentication and session management and are mostly used on dedicated runners called by the API gateway
- [Data & Event Streams](https://docs.rierino.com/devops/microservices/building-blocks/data-and-event-streams.md): Streams are used for defining input and output data flows (such as Events, Pulses, Journals) between different runners.
- [Kafka Topic](https://docs.rierino.com/devops/microservices/building-blocks/data-and-event-streams/kafka-topic.md): Maps input/output connections to a topic on a specific Kafka cluster, typically used for async operations using a Samza event runner
- [CDC Feed](https://docs.rierino.com/devops/microservices/building-blocks/data-and-event-streams/cdc-feed.md): Provides real-time input from change data logs of a data source, typically used for with a Samza event runner
- [Camel Component](https://docs.rierino.com/devops/microservices/building-blocks/data-and-event-streams/camel-component.md): Maps input/outputs for a Camel event runner
- [Additional Elements](https://docs.rierino.com/devops/microservices/building-blocks/additional-elements.md)
- [Listeners](https://docs.rierino.com/devops/microservices/building-blocks/additional-elements/listeners.md): Listener elements are used for tracking changes in states manager by a runner.
- [Roles](https://docs.rierino.com/devops/microservices/building-blocks/additional-elements/roles.md): Role elements are used for describing data feed from different streams with specific use cases.
- [Actions](https://docs.rierino.com/devops/microservices/building-blocks/additional-elements/actions.md): Action elements are used for specialized function calls to handlers, using already existing handler actions with predefined parameter values.
- [Generic Settings](https://docs.rierino.com/devops/microservices/building-blocks/additional-elements/generic-settings.md): Generic settings are typically used for element specific configurations which can be applied across multiple instances of the same element type.
- [Global Settings](https://docs.rierino.com/devops/microservices/building-blocks/additional-elements/global-settings.md): Global settings are typically used for runner specific configurations which are not specific to an element type, and can be loaded after the runner initialization.
- [Deployment Packages](https://docs.rierino.com/devops/microservices/deployment-packages.md): Deployments are sets of runners which are deployed on a specific machine, node or pod.
- [Defining a Deployment](https://docs.rierino.com/devops/microservices/deployment-packages/defining-a-deployment.md): How to define a deployment, choose runner versions, pass task parameters, and include extra deployment files.
- [Alternative Loaders](https://docs.rierino.com/devops/microservices/deployment-packages/alternative-loaders.md): Runner deployments utilize element, value and secret loaders for loading their configurations and key-value lookups, which are highly customizable
- [API Gateway & Security](https://docs.rierino.com/devops/api-gateway-and-security.md): Configure gateway components, API exposure, authentication, streaming, rate limits, and TLS or mTLS for secure access to Rierino services.
- [Gateway Servers](https://docs.rierino.com/devops/api-gateway-and-security/gateway-servers.md): A gateway server acts as the gatekeeper and controller of flow between front-end requests and back-end runners.
- [Gateway Tokens](https://docs.rierino.com/devops/api-gateway-and-security/gateway-servers/gateway-tokens.md): A gateway token defines all authentication details and claims for tokens used for different user types.
- [Gateway Channels](https://docs.rierino.com/devops/api-gateway-and-security/gateway-servers/gateway-channels.md): A gateway channels defines path segment(s) mappings to systems for distributing requests across different runners.
- [Gateway Services](https://docs.rierino.com/devops/api-gateway-and-security/gateway-servers/gateway-services.md): A gateway service defines a remote Kafka or file system which is used for tracking, logging, and file operations serviced directly by the gateway without involving runners.
- [Gateway Systems](https://docs.rierino.com/devops/api-gateway-and-security/gateway-servers/gateway-systems.md): A gateway system defines the means (such as REST, RSocket or Kafka) and main configurations for accessing backend runners through gateways.
- [APIs](https://docs.rierino.com/devops/api-gateway-and-security/apis.md): Gateway server APIs are the main request endpoints for Rierino platform, when deployed in full.
- [OpenAPI Specification](https://docs.rierino.com/devops/api-gateway-and-security/apis/openapi-specification.md): Rierino automatically produces OpenAPI specification from runner & saga configurations.
- [Headers, Cookies & Paths](https://docs.rierino.com/devops/api-gateway-and-security/apis/headers-cookies-and-paths.md): For all requests, certain details can be provided through headers, paths or cookies
- [Server Sent Events](https://docs.rierino.com/devops/api-gateway-and-security/apis/server-sent-events.md): Stream saga responses over a single HTTP connection using /api/stream.
- [Response Formats](https://docs.rierino.com/devops/api-gateway-and-security/apis/response-formats.md): In addition to JSON, gateway servers can return results in other formats such as XML, HTML, CSV and plain text
- [Rate Limiting](https://docs.rierino.com/devops/api-gateway-and-security/rate-limiting.md): Rierino provides built-in user & IP based rate limiting features
- [Dynamic TLS & mTLS](https://docs.rierino.com/devops/api-gateway-and-security/dynamic-tls-and-mtls.md): API gateway and web based runners can use dynamic configurations for enabling TLS & mTLS
- [Branching & Migration](https://docs.rierino.com/devops/branching-and-migration.md): Manage parallel development, selective merges, controlled migrations, and targeted rollback across Rierino environments.
- [Managing Branches](https://docs.rierino.com/devops/branching-and-migration/managing-branches.md): Built-in branch management features allow co-development on Rierino within distributed environments
- [Migrating Changes](https://docs.rierino.com/devops/branching-and-migration/migrating-changes.md): Rierino provides built-in migration capabilities, allowing  micro-releases as well
- [Rolling Back Changes](https://docs.rierino.com/devops/branching-and-migration/rolling-back-changes.md): Rierino provides granular rollback control similar to migration
- [Administration](https://docs.rierino.com/devops/administration.md): Operate deployments, issue runner commands, and send diagnostic messages across the platform from the Devops admin tools.
- [Managing Deployments](https://docs.rierino.com/devops/administration/managing-deployments.md): Manage deployed runner packages with deploy, undeploy, restart, health check, pod inspection, and log retrieval actions.
- [Sending Commands](https://docs.rierino.com/devops/administration/sending-commands.md): Commands are the alternate mechanism for controlling the state of runners across the platform.
- [Streaming Messages](https://docs.rierino.com/devops/administration/streaming-messages.md): Message center allows sending custom text messages to a data stream.
- [Batch Tasks](https://docs.rierino.com/devops/batch-tasks.md): Python processes and processors allow execution of batch tasks such as import, export and ML training.
- [Python Processes](https://docs.rierino.com/devops/batch-tasks/python-processes.md): Python processes are typically triggered using rierino\_util.Runner
- [Python Iterators](https://docs.rierino.com/devops/batch-tasks/python-iterators.md): Iterators are used by IterateProcess to produce loops of Processor calls
- [Python Processors](https://docs.rierino.com/devops/batch-tasks/python-processors.md): Processors are used by IterateProcess and ProcessorRunner for taking actions
- [Pro-Code](https://docs.rierino.com/devops/pro-code.md): Rierino Java SDK provides ability to build highly customized elements and use them as part of the low-code development environment.
- [Custom Handlers](https://docs.rierino.com/devops/pro-code/custom-handlers.md): Custom handlers can be created and added to runners to build highly specialized actions, if needed.
- [Custom State Managers](https://docs.rierino.com/devops/pro-code/custom-state-managers.md): Custom state managers can be created and added to runners to utilize new data sources, if needed.
- [Custom Query Managers](https://docs.rierino.com/devops/pro-code/custom-query-managers.md): Custom state managers can be created and added to runners to query new data sources, if needed.
- [Custom CDC Managers](https://docs.rierino.com/devops/pro-code/custom-cdc-managers.md): Custom CDC managers can be created and added to track changes in different systems, if needed.
- [Devops FAQ](https://docs.rierino.com/devops/devops-faq.md): This FAQ covers the core Devops concepts, runtime components, rollout model, and operational boundaries across the platform


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.rierino.com/devops.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
