udx-worker
UDX Worker environments are ephemeral and adhere to zero-trust principles and methodology.
6.8K
Secure, containerized environment for DevSecOps automation and repeatable service execution.
latestUDX Worker is a base image for running long-lived services and automation tasks in a consistent, secure container runtime. It supports structured runtime configuration and cloud credential injection while keeping deployment logic external to the image.
udx user by default.worker.yaml and services.yaml.mkdir -p my-worker/.config/worker
cd my-worker
cat > index.sh <<'SH'
#!/bin/bash
echo "Starting service..."
trap 'echo "Shutting down..."; exit 0' SIGTERM
while true; do
echo "[$(date)] Service running..."
sleep 5
done
SH
chmod +x index.sh
cat > .config/worker/services.yaml <<'YAML'
kind: workerService
version: udx.io/worker-v1/service
services:
- name: "index"
command: "/home/udx/index.sh"
autostart: true
autorestart: true
YAML
docker run -d \
--name udx-worker \
-v "$(pwd):/home/udx" \
usabilitydynamics/udx-worker:latest
docker logs -f udx-worker
cat > .config/worker/worker.yaml <<'YAML'
kind: workerConfig
version: udx.io/worker-v1/config
config:
secrets:
API_KEY: "azure/key-vault/api-key"
DB_PASS: "aws/secrets/database"
YAML
AZURE_CREDS=$(echo '{"client_id":"CLIENT_ID","client_secret":"CLIENT_SECRET","tenant_id":"TENANT_ID","subscription_id":"SUBSCRIPTION_ID"}' | base64)
docker run -d \
--name udx-worker-secrets \
-v "$(pwd)/.config/worker:/home/udx/.config/worker:ro" \
-e AZURE_CREDS="${AZURE_CREDS}" \
usabilitydynamics/udx-worker:latest
docker exec udx-worker-secrets worker auth verify
UDX Worker separates runtime configuration from deployment configuration.
worker.yaml (secrets, env, auth)services.yaml (long-running services)deploy.yml (image, mounts, command/args)Runtime files are typically mounted into /home/udx/.config/worker/.
worker-deploymentThe @udx/worker-deployment CLI standardizes deployment across laptops, CI/CD, and ephemeral hosts.
npm install -g @udx/worker-deployment
worker config # generates deploy.yml
worker run # runs with deploy.yml
Minimal deploy.yml:
kind: workerDeployConfig
version: udx.io/worker-v1/deploy
config:
image: "usabilitydynamics/udx-worker:latest"
volumes:
- "./.config/worker:/home/udx/.config/worker:ro"
command: "echo"
args:
- "Hello from deploy.yml"
For Kubernetes, store worker.yaml and services.yaml in ConfigMaps or Secrets and mount them into the container at /home/udx/.config/worker/.
AZURE_CREDSAWS_CREDSGCP_CREDSValues can be JSON, Base64-encoded JSON, or a file path.
MIT License. See https://github.com/udx/worker/blob/latest/LICENSE.
Content type
Image
Digest
sha256:4981d1bb8…
Size
345 MB
Last updated
about 22 hours ago
docker pull usabilitydynamics/udx-worker