Testing and debugging tool for MultiFlexi task launcher.
MultiFlexi Probe is a diagnostic application designed to test and validate the MultiFlexi task execution environment. It provides comprehensive information about:
- Command-line arguments
- Environment variables
- File system access
- Container mount information
- Output capture (stdout/stderr)
- Environment Testing: Displays all environment variables in JSON format
- File Upload Testing: Validates file path parameters
- Output Control: Configurable exit codes for testing error handling
- Result Export: Saves environment data to JSON file
- Container Ready: Available as OCI image for containerized execution
- Localization: Supports English and Czech interface descriptions
MultiFlexi injects real secrets into every job's environment (database credentials,
ENCRYPTION_MASTER_KEY, credential fields, ...). Because this probe's whole purpose is to
dump the full environment, and MultiFlexi stores that dump (RESULT_FILE / stdout)
permanently in the job table, running it on an instance with real credentials configured
would otherwise leak them into the database and every future backup.
To prevent that, any environment variable whose name matches PASSWORD, SECRET,
TOKEN, CREDENTIAL, ENCRYPTION_MASTER_KEY, MULTIFLEXI_MASTER_KEY, or ends in _KEY
is redacted to ***REDACTED*** by default (the variable still appears in the output, just
without its value — so ZABBIX_KEY is redacted too, even though it's not actually secret).
Set PROBE_SHOW_SECRETS=true to get the raw, unredacted dump. Only do this in a throwaway
test environment with no real credentials configured.
This application follows MultiFlexi Application Schema version 3.4.0 with:
- Localized application name and descriptions (English/Czech)
- Localized environment variable descriptions
- Schema-compliant configuration structure
- Optional Kubernetes metadata under
kubernetes.helmandkubernetes.artifacts
sudo apt install multiflexi-probemake installmultiflexi-probe [file-path]The MultiFlexi Probe application configuration (multiflexi/probe.multiflexi.app.json) follows the MultiFlexi Application Schema version 3.4.0 with localization support for both English and Czech languages.
FILE_UPLOAD: Path to test file (default: /etc/fstab)PASSWORD: Example secret field for testingAPP_DEBUG: Enable debug output (true/false)RESULT_FILE: Output JSON file path (default: env_report.json)FORCE_EXITCODE: Force specific exit code (integer)PROBE_SLEEP: Sleep this many seconds before exiting, to simulate a long-running job (integer, default: 0 — disabled)ZABBIX_KEY: Zabbix item key name templatePROBE_SHOW_SECRETS: Disable secret redaction in the env dump (true/false, default: false — see Secret Redaction)
Build image:
make dimageBuild multi-architecture image:
make dimagexRun container:
docker run vitexsoftware/multiflexi-probeThe repository includes a Helm chart in helm/ for Kubernetes deployment.
The production chart reference is oci://ghcr.io/vitexsoftware/helm-charts/multiflexi-probe (defined in app.json). The local ./helm path is only used during development.
Render chart templates:
make helm-templateLint chart:
make helm-lintInstall or upgrade chart:
make helm-installit gives the following output:
helm upgrade --install multiflexi-probe helm/ --namespace multiflexi --create-namespace
Release "multiflexi-probe" does not exist. Installing it now.
NAME: multiflexi-probe
LAST DEPLOYED: Thu Apr 2 10:25:37 2026
NAMESPACE: multiflexi
STATUS: deployed
REVISION: 1
DESCRIPTION: Install complete
TEST SUITE: None
NOTES:
1. Check deployment status:
kubectl get pods -n multiflexi -l app.kubernetes.io/instance=multiflexi-probe
2. Inspect environment variables resolved by chart:
kubectl describe configmap multiflexi-probe-multiflexi-probe -n multiflexi
3. Run one-off probe command in the pod:
kubectl exec -n multiflexi deploy/multiflexi-probe-multiflexi-probe -- multiflexi-probe /etc/fstabmake debs# Note: MultiFlexi CLI validation may have issues in some versions
# Try different validation approaches:
# Method 1: MultiFlexi CLI (if working)
multiflexi-cli application validate-json --file multiflexi/multiflexi_probe.multiflexi.app.json
# Method 2: JSON syntax validation
json_verify < multiflexi/multiflexi_probe.multiflexi.app.json
# Method 3: Using online validator with schema URL
# https://raw.githubusercontent.com/VitexSoftware/php-vitexsoftware-multiflexi-core/refs/heads/main/multiflexi.app.schema.jsonmake testVítězslav Dvořák info@vitexsoftware.cz
GPL-2.0-or-later