Workflows enable users to create and manage stage components within the development lifecycle, customize deployments based on environments, enforce rules and triggers, and create reusable building blocks for streamlined automation.
Workflows within Kubeark represent a series of tasks that are executed in a sequential order. These tasks can be initiated through different methods, including manual runs, triggers, and cronjobs.
With its low-code approach and event-driven architecture, Workflows enables intelligent responses to events, simplifying automation in the context of Kubernetes. By creating reusable building blocks, Workflows fosters collaboration and accelerates development across teams, providing a solid foundation for efficient and standardized processes.
Workflows in Kubeark are essential automation canvases and form an integral part of a Workspace. They provide a powerful platform where users can design, build, and execute a range of automated tasks and processes, all within the confines of a specific Workspace. This feature enables the orchestration of complex operations, from deployment strategies to intricate infrastructure management. By embedding Workflows within Workspaces, Kubeark ensures a seamless integration of automation within the broader context of resource and project management.
With Workflows in Kubeark, you can automate the creation of Template Groups, Templates, and Versions, allowing for streamlined management of your infrastructure as code, ensuring consistent and efficient deployment processes throughout your development lifecycle.
Workflows can be found in the Automation section, under the Workspace menu.
Workflows within Kubeark represent a series of tasks that are executed in a sequential order. The workflow "steps" are defined by Nodes.
In the context of workflows, a workflow node refers to an individual step or task within a workflow. It represents a discrete unit of work that is executed as part of the overall workflow process.
Each node typically has inputs, outputs, and defined behavior or actions associated with it. Nodes can include actions like data transformations, decision points, integrations with external systems, or any other specific task required to accomplish the workflow's objectives. The workflow nodes are connected together to define the sequence and dependencies of the tasks within the workflow.
A workflow in Kubeark operates through an intuitive and visual process, designed to simplify the creation of your automation workflow. It begins with a set of nodes, each representing a specific action or function, located in the left panel. These nodes can be easily dragged and dropped into the workflow's working area.
The working area serves as a canvas where you construct the flow of your automation, visually mapping out each step of the process.
Once a node is placed in the working area, clicking on it reveals options to configure the node with specific arguments. This configuration process adheres to common programming logic, allowing for the setting of arguments and variables in a manner that's both familiar and logical to those with programming experience.
The end result is a customized, coherent flow of operations, visually represented and easily adjustable, that encapsulates the desired automation sequence within your Kubeark environment.
Workflows in Kubeark offer versatile execution options, aligning with different operational needs and preferences. Primarily, there are two main perspectives for executing workflows:
(1) Instant Execution During Workflow Design: While designing a workflow, users have the option for immediate execution by pressing the "Play" button in the working area. This feature is particularly useful for testing and validation purposes, allowing users to quickly verify the functionality and flow of the workflow in real-time. It provides an on-the-spot method to ensure that each step of the workflow operates as intended before it's put into regular use. This is particularily useful during workflow design and debugging.
(2) Scheduled or Planned Execution: For more controlled and automated operations, workflows can be executed using various scheduling methods, or can be triggered by other workflows within the workspace. This includes:
- Manual Runs: Users have the ability to manually start a workflow, providing flexibility and control over when and how the tasks are executed. This allows for on-demand execution of specific workflows based on user intervention or decision-making.
- Triggers: Workflows can also be triggered automatically based on predefined events or conditions. These triggers can be set up to respond to various events within the Kubernetes environment, such as the creation or update of specific resources, changes in configuration, or other custom-defined events. When a trigger event occurs, the associated workflow is automatically initiated, enabling seamless and automated task execution. See Triggers
- Cronjobs: In addition to manual runs and triggers, workflows can also be scheduled using cronjobs. Cronjobs provide the ability to define recurring or periodic executions of workflows based on a specific time or schedule. This allows for the automation of repetitive tasks or regular maintenance operations, ensuring that critical processes are performed at designated intervals without the need for manual intervention. See Cron Jobs
- Forms: Workflows can be triggered through user interaction with Forms. When a form is submitted with the required inputs, it can initiate a workflow, effectively linking user input to automated processes. See Forms
- Webhooks: External events can trigger workflows via webhooks. When a webhook receives data or a specific event occurs in an external service, it can automatically initiate the associated workflow in Kubeark.
- This is particularly useful for integrating with third-party services and systems.
- 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
You will find detailed information about creating a workflow in the dedicated section Creating a Workflow