Secure, containerized environment for DevSecOps automation
Quick Start • Documentation • Development • Contributing
UDX Worker is a containerized solution that simplifies DevSecOps by providing:
- 🔒 Secure Environment: Built on zero-trust principles
- 🤖 Automation Support: Streamlined task execution
- 🔑 Secret Management: Secure handling of sensitive data
- 📦 12-Factor Compliance: Modern application practices
- ♾️ CI/CD Ready: Seamless pipeline integration
- Docker 20.10 or later
- Make (for development)
# Create project structure
mkdir -p my-worker/.config/worker
cd my-worker
# Create a simple service script
cat > index.sh <<'EOF'
#!/bin/bash
echo "Starting service..."
trap 'echo "Shutting down..."; exit 0' SIGTERM
while true; do
echo "[$(date)] Service running..."
sleep 5
done
EOF
chmod +x index.sh
# Create service configuration
cat > .config/worker/services.yaml <<'EOF'
kind: workerService
version: udx.io/worker-v1/service
services:
- name: "index"
command: "/home/udx/index.sh"
autostart: true
autorestart: true
EOF
# Run the worker
docker run -d \
--name my-service \
-v "$(pwd):/home/udx" \
usabilitydynamics/udx-worker:latest
# View service logs
docker logs -f my-service
# Define secrets configuration
cat > .config/worker/worker.yaml <<'EOF'
kind: workerConfig
version: udx.io/worker-v1/config
config:
secrets:
API_KEY: "azure/key-vault/api-key"
DB_PASS: "aws/secrets/database"
EOF
# Create base64-encoded Azure credentials
AZURE_CREDS=$(echo '{
"client_id": "your-client-id",
"client_secret": "your-client-secret",
"tenant_id": "your-tenant-id"
}' | base64)
# Run with cloud provider credentials
docker run -d \
--name my-secrets \
-v "$(pwd)/.config/worker:/home/udx/.config/worker" \
-e AZURE_CREDS="${AZURE_CREDS}" \
usabilitydynamics/udx-worker:latest
# Verify authorization and secrets
docker exec my-secrets worker auth verify
docker exec my-secrets worker env get API_KEY
See Authorization Guide for supported providers and credential formats (JSON, Base64, File Path).
# Clone and build
git clone https://github.com/udx/worker.git
cd worker
make build
# Run example service
make run VOLUMES="$(pwd)/src/examples/simple-service:/home/udx"
# View logs
make log FOLLOW_LOGS=true
# Run tests
make test
More examples available in src/examples.
- Authorization - Credential management
- Configuration - Worker setup
- Services - Service management
- CLI Reference - Command line usage
- Container Structure - Directory layout
- Development Notes - Best practices
- Git Tips - Version control helpers
# Clone repository
git clone https://github.com/udx/worker.git
cd worker
# Build image
make build
# Run container
make run # Detached mode
make run-it # Interactive mode
# Run tests
make test
# View all commands
make help
We welcome contributions! Here's how you can help:
- Fork the repository
- Create a feature branch
- Commit your changes
- Push to your branch
- Open a Pull Request
Please ensure your PR:
- Follows our coding standards
- Includes appropriate tests
- Updates relevant documentation
Need specific features or customizations? Contact our team for professional development services.
This project is licensed under the MIT License - see the LICENSE file for details.
Built by UDX © 2025