Resource Actions (Workflows)

Overview

Resource Actions (Workflows) is a core feature within the platform designed to automate on-demand operational tasks. Architecturally, a Resource Action executes a single, containerised step. Each invocation of an Action is recorded as an immutable Action Run.

Now, DevOps or Platform Engineers can define custom actions for any module and then developers can use that for any resource instance of that module present in the blueprint without having any dependency on the DevOps.

Why Use Resource Actions?

  • Resource Actions are designed to codify and automate tasks that are frequently manual, error-prone, or require ad-hoc scripting.
  • Common examples include creating a database snapshot, clearing a Redis cache, running a security compliance scan, restarting a specific application pod, or executing a data migration script.
  • In traditional workflows, these operational tasks create a dependency on the DevOps or Platform Engineering team, often managed through a ticketing system. This creates a significant bottleneck that slows down development cycles.
  • Actions directly address this by transforming these tasks into governed, self-service capabilities for developers.

Discovering and Running an Action

To find and execute an Action on a specific resource:

  1. Navigate to a resource (e.g., an aws-rds instance) within an Environment on your Facets dashboard.
  2. Select the Actions tab associated with that resource. This view lists all Actions that have been defined to target this specific resource type.
  3. Review the list of available Actions, noting their names and descriptions.
  4. Click the Run button for the desired Action.
  5. A modal form will appear, prompting for any input parameters required by the Action.
  6. Populate the required fields and click Execute to initiate the Action Run.

Monitoring Action Runs

To monitor the progress and review the history of an Action:

  1. Navigate to the resource where the Action was run.
  2. Select the Action Runs tab. This provides a historical log of all executions for that resource.
  3. Click on a specific Action Run to view its details, including its real-time status, start and end timestamps, the user who triggered it, and detailed logs.

Available Actions (provided by Facets):

  1. Scaling up/scaling down of a service resource instance
  2. Rollout restart of a service resource instance
  3. Helm history of a helm resource instance
  4. Helm rollback of a helm resource instance

We will be adding more available actions provided by Facets.

Now, DevOps or Platform Engineers can define custom actions for any module and then developers can use that for any resource instance of that module present in the blueprint. Read More