Printer
The instructions below will walk you through the process of launching a simple printer workflow using the Fuzzball workflow catalog. The workflow catalog will help you generate, validate, and submit a Fuzzfile representing the printer workflow. This workflow uses a public Alpine Linux container from Dockerhub to print 1 integer every second for a configurable number of seconds. This simple workflow will help familiarize you with Fuzzball’s real-time logging feature, and can also be used to experiment with Fuzzball’s in-job terminal.
You can run this workflow either through the web UI or the CLI.
If you click “Workflow Catalog”, you will see a page of workflow templates you use to create fuzzfiles and launch workflows. Find the “Printer Example” tile with the CIQ badge and click “Run” from the context menu.

You will be prompted with a pop-up showing template parameters which you can modify. Once you are done setting parameters or you decide to accept the default values, click “Run” to generate a Fuzzfile with the workflow template and the supplied values and validate it.

If there are no errors you will then be prompted to provide an optional descriptive name for your workflow.

Once you click on “Start Workflow” your workflow will be submitted. If you click “Go to Status” in the following dialog you can view the workflow status page. The screenshot below shows the status page for a printer workflow submission.

To retrieve logs produced by this workflow, select the printer job within the workflow, and
click the “Logs” option on the right.

Selecting the Terminal tab for a running job will allow you to interact with the job from a shell session within the running container.
To run this workflow through the CLI you will need access to the Fuzzball CLI. You can install it using the Fuzzball CLI installation instructions.
First, you can create a values file values.yaml to populate the printer example workflow template
using the command below. You can modify the parameters to your desired values or use the defaults
below.
$ cat >values.yaml<<EOF
values:
- name: "Container"
display_name: "container for printer job (must contain the sleep command)"
string_value: "docker://docker.io/alpine:latest"
- name: "Seconds"
display_name: "How many seconds do you want the printer job to run and count?"
uint_value: 300
EOFNext, you will need to find the workflow template ID. The command below lists workflow templates provided by CIQ. Note that the workflow-template ID may be different in your Fuzzball cluster.
$ fuzzball workflow-template list --filter 'provider: "CIQ" AND name: "Printer"'
NAME | ID | OWNER | PROVIDER | UPDATETIME | DISABLED
Printer Example | c8cc813e-c29b-5461-bc43-2d53f62a3634 | PROVIDER | CIQ | 2026-03-12 07:14:35PM | falseYou can generate a Fuzzfile using the workflow template ID and the values file (values.yaml) we created in the first step using the command below.
$ fuzzball workflow-template render-fuzzfile --values values.yaml c8cc813e-c29b-5461-bc43-2d53f62a3634 > printer.fzYou can start this workflow using the CLI by running the following command:
$ fuzzball workflow start printer.fz
1e5a3e07-3dd6-4462-b958-a4a396294d3aThe two steps - rendering a concrete workflow from a template and user-defined parameters followed by submitting the concrete workflow - can be combined into a single command with
$ fuzzball workflow-template start --name "printer test" --values values.yaml c8cc813e-c29b-5461-bc43-2d53f62a3634
Workflow "6665ab2e-ded0-46b0-bee2-6a11f8cb1785" started.You can monitor the workflow’s status by running the following command:
$ fuzzball workflow describe 1e5a3e07-3dd6-4462-b958-a4a396294d3a
Name: printer.yaml
Email: user1@ciq.com
UserId: e554e134-bd2d-455b-896e-bc24d8d9f81e
Status: STAGE_STATUS_STARTED
Created: 2024-06-27 01:56:58PM
Started: 2024-06-27 01:56:58PM
Finished: N/A
Error:
Stages:
KIND | STATUS | NAME | STARTED | FINISHED
Workflow | Started | 1e5a3e07-3dd6-4462-b958-a4a396294d3a | 2024-06-27 01:56:58PM | N/A
Image | Finished | docker://alpine:latest | 2024-06-27 01:56:59PM | 2024-06-27 01:57:14PM
Job | Started | printer | 2024-06-27 01:57:28PM | N/AYou can view outputs logged by the workflow, by executing the following command:
$ fuzzball workflow log 1e5a3e07-3dd6-4462-b958-a4a396294d3a printer
1
2
3
4
...Create a shell in the running container like so:
$ fuzzball workflow exec --tty 1e5a3e07-3dd6-4462-b958-a4a396294d3a printer -- /bin/sh
~ $ echo $HOSTNAME
printer
~ $ echo $FB_WORKFLOW_ID
1e5a3e07-3dd6-4462-b958-a4a396294d3a