Automation Menu
Workflows

The Workflow Editor

10min

Overview

The Workflow Editor is a user-friendly interface for creating, managing, and visualizing workflows.

Document image


The workflow editor enables users to design and manage workflows visually, providing a simple and intuitive canvas for creating complex workflows. With its drag-and-drop functionality, the workflow editor allows users to effortlessly arrange and connect nodes, which represent individual steps or tasks within the workflow.

With the ability to design workflows visually and manipulate nodes through drag-and-drop interactions, the workflow editor eliminates the need for complex scripting or coding. This streamlines the process of building and modifying workflows, making it accessible to a wider range of users, including those without extensive programming expertise.

How does it work?

The workflow editor comprises a diverse range of essential components that offer extensive functionality for workflow design and execution. These components encompass nodes, actions, triggers, and other related elements, enabling users to construct and customize workflows according to their specific requirements.

Nodes

Each node in the workflow editor represents a specific action or operation that contributes to the overall workflow's execution. These nodes encapsulate the logic, behavior, and functionality required to perform a particular task. They can include a wide range of actions such as data transformations, system integrations, conditional branching, or even manual approvals

Node Name

Description

Define Variables

This activity allows users to define variables within the workflow. Variables can store and manipulate data, making it easier to pass information between different steps of the workflow.

Sleep

The sleep activity pauses the workflow for a specified amount of time. It is useful for introducing delays between steps or for scheduling activities at specific intervals.

Approval

The approval activity enables workflow designers to incorporate manual approval steps into the process. This activity requires human intervention to proceed further, providing control over critical stages.

Workflow

The workflow activity allows users to include one workflow within another workflow. This modular approach helps break down complex processes into smaller, manageable steps, promoting reusability and maintainability.

If

The if activity introduces conditional branching within the workflow. It evaluates a condition and executes different sets of actions based on the outcome, enabling dynamic and flexible workflows.

For

The for activity facilitates iterating over a collection or a range of values. It executes a set of actions repeatedly, with each iteration processing a different element or value from the specified range.

By connecting the nodes together, users define the sequence and dependencies of the tasks within the workflow. This visual representation provides a clear and comprehensive overview of the entire workflow, enabling users to easily comprehend the flow of operations and identify any potential bottlenecks or areas for optimization.

The workflow editor allows users to configure the properties and parameters of each node, tailoring them to suit specific requirements. This customization may involve defining input and output variables, setting conditional statements, specifying timeouts, or configuring error handling mechanisms.

Actions

Action Name

Description

HTTP Request

The HTTP request action enables the workflow to interact with external systems or APIs by sending HTTP requests. It supports various methods (GET, POST, PUT, DELETE) and allows customization of headers, payloads, and authentication.

Add Kubernetes Cluster

The Add Kubernetes Cluster action integrates with the Kubernetes infrastructure and adds a new cluster to the platform. This action simplifies cluster management and facilitates seamless deployment of applications.

Create Kubernetes Deployment

With the Create Kubernetes Deployment action, users can deploy applications to a Kubernetes cluster. It handles the creation and configuration of deployment resources, ensuring efficient and consistent deployment processes.

Update Kubernetes Deployment

The Update Kubernetes Deployment action enables users to modify and update existing Kubernetes deployments. It provides the flexibility to make changes to deployed applications without disrupting the overall environment.

Get Kubernetes Deployment

The Get Kubernetes Deployment action retrieves information about a specific Kubeark Kubernetes deployment. It enables users to gather details such as the current status, configuration, and other metadata associated with the deployment.

Create Infra Deployment

The Create Infra Deployment action facilitates the deployment of infrastructure resources, such as virtual machines, databases, or networking components. It streamlines the provisioning of infrastructure as code, allowing users to define and deploy resources efficiently and consistently.

List Infra Deployments

The List Infra Deployments action retrieves a list of existing infrastructure deployments. It provides an overview of deployed resources, aiding in tracking and managing infrastructure across environments. This action allows users to have better visibility into the deployed infrastructure, assisting in monitoring, troubleshooting, and making informed decisions.

Get Infra Deployment

The Get Infra Deployment action retrieves detailed information about a specific infrastructure deployment. It enables users to access deployment-specific details, such as resource configuration, status, and other metadata. This action allows users to retrieve specific information related to the infrastructure deployment, assisting in auditing, troubleshooting, and performing targeted actions.

Kubectl

The Kubectl action provides a way to interact with Kubernetes clusters. It enables users to manage and control Kubernetes resources by executing kubectl commands. This action facilitates various operations, including creating, updating, deleting resources, managing cluster settings, and performing administrative tasks. It empowers users to have fine-grained control over their Kubernetes environments and simplifies the management of Kubernetes resources within the workflow.

Triggers

Triggers in Kubeark are powerful components that initiate the execution of one or multiple workflows based on specific conditions. A trigger can be considered active when it is enabled and the output of its associated Expression evaluates to True. Once a trigger is activated by a designated source, such as an event or a predefined condition, it initiates the processing of workflows.

Triggers serve as the catalyst for workflow execution, ensuring that the defined automation processes are triggered at the right time and in response to the relevant events or conditions. By enabling and configuring triggers, users can define the precise circumstances under which workflows should be started.

The activation of a trigger results in the processing of workflows that are associated with it. This allows for the execution of a series of tasks or actions defined within the workflows, enabling automation and orchestration of complex processes. Triggers can start a single workflow or multiple workflows simultaneously, depending on the configuration and requirements set by the user.

Source Options

Option

Description

GitHub

The Git trigger option enables the workflow to be triggered based on events that occur in a Git repository. These events can include commits, pull requests, or updates to branches. By integrating with Git, the workflow can automatically initiate execution in response to version control actions, facilitating seamless automation of development and release processes. This integration streamlines the workflow's responsiveness to changes in the codebase, promoting efficient and reliable continuous integration and deployment practices.

NATS

Kubeark platform source

ContainerRegistry

Centralized repository for storing container images used in containerized applications, enabling easy sharing and deployment of images.

Webhooks

The webhooks trigger option allows the workflow to respond to HTTP callbacks. Users can configure external systems to send webhook events, which in turn trigger the execution of the workflow. This integration provides flexibility in initiating workflows based on specific events or notifications from various external sources. By leveraging webhooks, users can seamlessly connect their workflows with other systems, enabling powerful automation and orchestration capabilities

Internal Sources

Internal sources refer to the built-in mechanisms or events within the workflow platform that can trigger the execution of workflows.

These sources are native to the workflow platform itself and are not reliant on external systems or inputs. Examples of internal sources can include scheduled time intervals (cronjobs), manual triggers, or internal events generated by the workflow platform.

Internal sources provide users with the flexibility to initiate workflow execution based on predefined schedules, user actions, or specific events occurring within the workflow platform itself.

Internal Source

Description

Platform events

Platform events within the system can serve as triggers for the workflow. Users can define custom events or leverage existing system events to initiate workflow execution.

Cron

The cron trigger enables scheduling workflows based on a predefined time or recurring intervals. It provides a powerful mechanism for automating repetitive tasks or time-based processes.

Manual Run

The possibility to run the workflow manually