Demo Install — Project Dps

sudo apt update && sudo apt upgrade -y
sudo apt install -y curl gnupg lsb-release apt-transport-https ca-certificates
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] \
  https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io
sudo usermod -aG docker $USER
newgrp docker
ETCD_VER=v3.5.9
curl -L https://github.com/etcd-io/etcd/releases/download/$ETCD_VER/etcd-$ETCD_VER-linux-amd64.tar.gz -o etcd.tar.gz
tar xzf etcd.tar.gz
sudo mv etcd-$ETCD_VER-linux-amd64/etcd* /usr/local/bin/
rm -rf etcd*
nohup /usr/local/bin/etcd --name demo-etcd --listen-client-urls http://0.0.0.0:2379 \
  --advertise-client-urls http://127.0.0.1:2379 > /var/log/etcd.log 2>&1 &

Verify:

/usr/local/bin/etcdctl --endpoints=http://127.0.0.1:2379 endpoint status
docker pull projectdps/controller:latest
docker pull projectdps/worker:latest
docker pull projectdps/cli:latest
docker run -d --name dps-controller --restart unless-stopped \
  -p 9000:9000 -p 9100:9100 \
  -e ETCD_ENDPOINTS=http://host.docker.internal:2379 \
  projectdps/controller:latest

Note: if host.docker.internal is unavailable on Linux, use host network or 127.0.0.1 and run with --network host:

docker run -d --name dps-controller --restart unless-stopped --network host \
  -e ETCD_ENDPOINTS=http://127.0.0.1:2379 \
  projectdps/controller:latest
docker run -d --name dps-worker --restart unless-stopped --network host \
  -e CONTROLLER_ADDR=http://127.0.0.1:9000 \
  -v /var/run/docker.sock:/var/run/docker.sock \
  projectdps/worker:latest
docker run --rm -v ~/.dps:/root/.dps projectdps/cli:latest dpsctl configure --controller http://127.0.0.1:9000
# or, to copy a binary locally if provided in release:
# curl -Lo dpsctl https://example.com/releases/dpsctl && chmod +x dpsctl && sudo mv dpsctl /usr/local/bin/
dpsctl submit --name hello-demo --image busybox --cmd "sh -c 'echo Hello DPS; sleep 30'"

Or via controller UI at http://localhost:9000 (if UI included).

  • CLI: dpsctl list / dpsctl logs
  • docker rm -f dps-worker dps-controller
    docker rmi projectdps/controller:latest projectdps/worker:latest
    sudo pkill etcd
    

    Symptom: Demo agent crashes, OOMKilled in docker logs.
    Fix: Reduce demo dataset size. Edit .env: project dps demo install

    DEMO_DATA_SET=micro (5 users, 1 policy)
    

    Most project dps demo install failures occur due to resource limits. Edit the .env file:

    # .env overrides
    DPS_MODE=demo
    DEMO_DATA_SET=small_enterprise (10 users, 5 policies)
    INGESTION_LIMIT_MBPS=50
    LOG_LEVEL=DEBUG
    UI_THEME=light # Improves rendering on virtual GPUs
    LICENSE_FILE=./licenses/demo_30day.lic
    

    We will use a containerized DPS demonstration as our reference architecture. Most modern DPS demos ship as Docker Compose bundles or OVA templates.

    Feature Name: Demo Environment Auto-Installer (project dps demo install) sudo apt update && sudo apt upgrade -y

    Summary: Provides a streamlined, single-command installation process for deploying a fully functional, isolated instance of the DPS (Data Processing System) for demonstration and testing purposes. This feature removes the complexity of manual configuration for sales engineers, QA testers, and new users.

    User Story:

    As a Sales Engineer or New Developer, I want to install a pre-configured 'Demo' version of the DPS project with a single command, so that I can quickly showcase features or test functionality without spending hours on environment setup. curl -fsSL https://download


    Some vendors ship pre-expired demo licenses. Always run:

    docker exec dps-engine dps-license --check
    

    If expired, contact vendor for a hotfix license or adjust system date (temporarily, for sandbox only).

    | Test Case | Result | |-----------|--------| | Backend health endpoint (/health) | ✅ OK | | Database connectivity | ✅ Connected | | Frontend loads without console errors | ✅ Pass | | Demo user login (demo@dps.local / Pass123!) | ✅ Success | | Core workflow (create → update → delete) | ✅ Functional | | Mock API responses for external services | ✅ Simulated |