Prepare a Kestowv pilot
Applies to: Kestowv 0.5.5 enterprise pilot package
Updated
The Kestowv enterprise pilot package provides a defined environment for configuring services and evaluating workloads on an existing Linux system. This guide starts with a supplied package and the JRuby runtime specified by its delivery instructions. It does not require access to the product's source repository.
Before you begin#
Use a dedicated evaluation directory that your account can write. You need permission to run the declared programs and enough capacity for their output. Service deployment additionally requires the service permissions, resource-control setup, credentials and maintenance window agreed for your environment.
Run the examples from the supplied package directory. bin/pilotctl is the package's command utility. Confirm it is present:
jruby bin/pilotctl --help
The response lists validate, doctor, deploy, status, metrics, workloads, run and rollback. If it does not, use the instructions accompanying your build rather than mixing package editions.
Create a minimal workload configuration#
Save the following as example-pilot.json in the evaluation directory. This example declares one small command and no services or release change. Confirm that /bin/echo exists on the evaluation host.
{
"schema_version": 1,
"name": "documentation-example",
"state_root": "./example-pilot-state",
"workloads": [
{
"name": "hello",
"kind": "single",
"command": ["/bin/echo", "Kestowv evaluation"],
"timeout": 5
}
]
}
The state directory is resolved relative to the manifest. Keep it separate from a running pilot's state. The command is an argument array: the first entry names the executable and each following entry is one argument.
Validate and check readiness#
Substitute the manifest's full path:
jruby bin/pilotctl validate /path/to/example-pilot.json
jruby bin/pilotctl doctor /path/to/example-pilot.json
jruby bin/pilotctl workloads /path/to/example-pilot.json
Validation should report valid: true, the pilot name and one workload. The workload list should contain hello with kind single. Read the doctor's individual checks and its final readiness result before running anything. Validation checks configuration; it does not establish that the target machine is ready.
Run and inspect#
jruby bin/pilotctl run /path/to/example-pilot.json hello
jruby bin/pilotctl status /path/to/example-pilot.json
The workload should complete successfully and its captured output should contain Kestowv evaluation. The run command returns a result describing the execution. Status reads the latest saved pilot state; check its timestamp when comparing it with a run.
This example leaves an evaluation state directory and result records. Retain them while reviewing the run. Remove the example directory only after confirming it belongs to this exercise and no service uses it.
For a real service, continue with the configuration reference and release/recovery procedure. Choose acceptance criteria for the actual workload before expanding the pilot.