VersionOps Documentation

VersionOps is a version-aware infrastructure inventory platform that helps DevOps teams track software versions, detect vulnerabilities, and manage updates across their infrastructure.

Quick Start

Get started with VersionOps in just a few minutes:

1

Create an Account

Sign up at app.versionops.com to create your organization.

2

Get a Service Token

Go to Dashboard → Settings → Service Tokens to create a token for your agents.

3

Install the Agent

See the Agent Installation section below.

4

View Your Inventory

Access your dashboard to see all hosts, applications, and version information.

Key Concepts

Hosts

Servers, VMs, or containers where your software runs. Each host runs an agent that reports its inventory.

Applications

Software packages installed on your hosts. VersionOps tracks versions and detects updates.

Alerts

Notifications about outdated software, security vulnerabilities (CVEs), and recommended updates.

Organizations

Multi-tenant isolation for your team. Each organization has its own hosts, users, and settings.

VersionOps Agent

The VersionOps Agent is a lightweight daemon that runs on your Linux servers to automatically discover installed applications and report their versions.

Auto-discovery

Detects installed applications using multiple methods

Version Tracking

Reports versions to your VersionOps dashboard

Secure

Token-based authentication, minimal permissions

Lightweight

Single binary (~8MB), minimal resource usage

Agent Installation

Select architecture:
Installation Commands
# Download the binary
wget https://github.com/versionops-platform/versionops-agent/releases/latest/download/versionops-agent-linux-amd64

# Install
sudo mv versionops-agent-linux-amd64 /usr/local/bin/versionops-agent
sudo chmod +x /usr/local/bin/versionops-agent

# Configure
sudo versionops-agent config --backend=https://api.versionops.com --token=YOUR_SERVICE_TOKEN

# Install systemd service
sudo versionops-agent install

# Start the agent
sudo systemctl enable --now versionops-agent

Agent Configuration

Configuration is stored in /etc/versionops/agent.conf (JSON format):

{
  "backend_url": "https://api.versionops.com",
  "token": "your-service-token",
  "interval": 300,
  "log_level": "INFO"
}
OptionDescriptionDefault
backend_urlVersionOps backend URLhttps://api.versionops.com
tokenService token for authentication(required)
intervalReporting interval in seconds300 (5 min)
log_levelLogging levelINFO
Configuration Commands
# Set backend URL
sudo versionops-agent config --backend=https://api.versionops.com

# Set service token
sudo versionops-agent config --token=YOUR_TOKEN

# Set reporting interval (seconds)
sudo versionops-agent config --interval=300

# View current configuration
sudo versionops-agent config --show

Systemd Service

After running versionops-agent install, the service is managed via systemd:

Service Management
# Start the agent
sudo systemctl start versionops-agent

# Stop the agent
sudo systemctl stop versionops-agent

# Restart the agent
sudo systemctl restart versionops-agent

# View status
sudo systemctl status versionops-agent

# View logs
sudo journalctl -u versionops-agent -f

System Requirements

Supported Operating Systems

Ubuntu

  • Ubuntu 20.04 LTS (Focal Fossa)
  • Ubuntu 22.04 LTS (Jammy Jellyfish)
  • Ubuntu 24.04 LTS (Noble Numbat)

Debian

  • Debian 11 (Bullseye)
  • Debian 12 (Bookworm)

RHEL / CentOS

  • CentOS 8, 9, Stream
  • RHEL 8, 9
  • Rocky Linux 8, 9
  • AlmaLinux 8, 9

Amazon Linux

  • Amazon Linux 2
  • Amazon Linux 2023

Supported Architectures

  • x86_64 (amd64) — Standard 64-bit Intel/AMD processors
  • ARM64 (aarch64) — AWS Graviton, Apple Silicon (via Linux VMs), Raspberry Pi 4+

Windows Support

VersionOps agent is designed for Linux systems. For Windows environments:

  • WSL2 — Run the agent inside Windows Subsystem for Linux (Ubuntu or Debian recommended)
  • Remote Proxy — Use a Linux proxy agent to monitor Windows-only environments via remote protocols

Minimum Requirements

ResourceRequirement
Disk Space50 MB
RAM32 MB (agent only)
NetworkOutbound HTTPS (port 443)
Python3.8+ (bundled with agent binary)
PermissionsRoot or sudo access for installation

Agent Commands

versionops-agent config

Configure the agent settings

versionops-agent install

Install systemd service

versionops-agent run --once

Run once (for testing)

versionops-agent run --daemon

Run as daemon (foreground)

versionops-agent status

Show agent status

versionops-agent version

Show version info

Inventory Management

VersionOps automatically discovers and tracks all software installed on your hosts. The dashboard provides a centralized view of your entire infrastructure.

  • Host Overview — See all your servers with OS info, IP addresses, and last seen time
  • Application List — Browse all detected applications with current versions
  • Search & Filter — Quickly find specific hosts or applications
  • Export — Download inventory data in CSV or JSON format

Version Tracking

Track software versions across your infrastructure and get notified about available updates.

  • Version History — See when versions changed on each host
  • Latest Versions — Compare installed versions with latest releases from GitHub and Repology
  • Update Recommendations — Get smart recommendations for patch, minor, and major updates
  • Custom Sources — Configure custom version sources for internal applications

Alerts & CVE Detection

Stay informed about security vulnerabilities and outdated software with automated alerts.

  • CVE Monitoring — Automatic detection of known vulnerabilities
  • Notification Rules — Configure alerts via email, Slack, or webhooks
  • Severity Levels — Prioritize based on CVSS scores
  • Remediation Guidance — Get upgrade paths for vulnerable packages

npm Dependency Monitoring (Projects)

Monitor npm packages and Node.js dependencies across your projects. VersionOps scans your package.json and package-lock.json files to track dependencies and detect security vulnerabilities.

Dependency Tracking

Track all npm packages including transitive dependencies

CVE Scanning

Scan via OSV and GitHub Advisory databases

CI/CD Integration

GitHub Actions, GitLab CI, and Jenkins support

Semver Updates

Smart recommendations respecting semantic versioning

Key Features

  • Project-based Monitoring — Create projects to track npm dependencies separately from host inventory
  • package.json Import — Upload or sync package.json files directly from your repositories
  • package-lock.json Support — Full transitive dependency analysis from lockfiles
  • Multiple Vulnerability Sources — Scans against OSV (Open Source Vulnerabilities) and GitHub Advisory Database
  • Semver-aware Recommendations — Get patch, minor, and major update suggestions following semantic versioning
  • CI/CD Webhook — Trigger scans from your build pipelines with a single API call

package.json vs package-lock.json

Recommended: Always upload package-lock.json

For the most accurate CVE scanning results, always include your package-lock.json file when creating or updating a project.

ScenarioBehaviorCVE Accuracy
With package-lock.jsonExact versions from lockfile, all transitive dependencies includedExact match
Only package.jsonVersions resolved via npm registry API within semver constraintsMay differ (resolved versions may be newer)

Why it matters: Without a lockfile, VersionOps resolves the latest versions within your semver ranges (e.g., ^18.2.0 might resolve to 18.3.1). This can result in different CVE results than what is actually installed in your project.

Getting Started with npm Monitoring

1

Create a Project

Go to Projects in your dashboard and click “New Project”. Give it a name that matches your repository.

[Screenshot: Projects page with New Project button]

2

Import Dependencies

Upload your package.json file (and package-lock.json for best results). The import runs in the background with progress indication.

[Screenshot: Import dialog with file upload]

3

Scan for Vulnerabilities

VersionOps automatically scans your dependencies against OSV and GitHub Advisory databases. Use the “Scan Now” button to trigger a manual scan at any time.

[Screenshot: Project dashboard with Scan Now button]

4

Update Dependencies

Use the “Update Dependencies” button to re-import your package files and refresh the dependency list. This is useful after running npm update locally.

[Screenshot: Update Dependencies button in project view]

5

Set Up CI/CD Integration

Add the CI/CD webhook to your pipeline to scan on every build. See CI/CD Integration for details.

Background Processing

All dependency imports are processed in the background. This means:

  • Large projects with hundreds of dependencies import smoothly
  • Progress is shown in the UI while import is running
  • You can navigate away and return later to see results
  • CVE scanning starts automatically after import completes

Supported Package Managers

  • npm — package.json and package-lock.json
  • yarn — package.json and yarn.lock (coming soon)
  • pnpm — package.json and pnpm-lock.yaml (coming soon)

Security Hub & Container Scanning

The Security Hub provides a unified view of vulnerabilities across your entire stack — container images, Infrastructure as Code, Kubernetes manifests, and application dependencies. Powered by Trivy, the industry-leading open-source vulnerability scanner.

Container Scanning

Scan Docker images for OS, language, and binary vulnerabilities

IaC Scanning

Detect misconfigurations in Terraform, CloudFormation, and Dockerfiles

Kubernetes Analysis

Check manifests against CIS benchmarks and Pod Security Standards

Secret Detection

Find exposed API keys, passwords, and tokens in scanned artifacts

Key Features

  • Unified Dashboard — Aggregated vulnerability overview across all scan sources in one place
  • Container Image Tracking — Add images to your inventory and enable auto-scanning on a configurable schedule (1–168 hours)
  • Severity Breakdown — Every scan result includes Critical, High, Medium, and Low counts with CVSS scores
  • IaC Formats — Supports Terraform (.tf), CloudFormation (YAML/JSON), Dockerfiles, Kubernetes manifests, and Helm charts
  • Remediation Guidance — Each finding includes the fixed version, file path, line number, and resolution steps
  • Scan History & Trends — Track vulnerability counts over time with 7/30/90 day trend analytics
  • Security Notifications — Get alerted via Slack, Email, Telegram, Discord, MS Teams, or PagerDuty when scans find vulnerabilities above your severity threshold

Supported IaC Formats

FormatFile TypesWhat It Detects
Terraform.tf filesMisconfigured resources, open security groups, unencrypted storage
CloudFormationYAML/JSON templatesResource misconfigurations, missing encryption, overly permissive IAM
DockerfileDockerfileRunning as root, hardcoded secrets, insecure base images
KubernetesYAML manifestsMissing resource limits, privileged containers, CIS benchmark violations
HelmChart templatesTemplate security issues after rendering

Private Container Registries

Scan private container images from any Docker V2-compatible registry. VersionOps stores your registry credentials securely (encrypted at rest with AES-256) and automatically applies them when scanning private images.

Supported Registries

RegistryAuth MethodNotes
Docker HubUsername + PasswordStandard Docker Hub credentials
AWS ECRAccess Key + SecretAuto-refreshes temporary tokens every 12 hours
Google Artifact RegistryService Account JSONOAuth tokens refreshed automatically
Azure ACRService PrincipalAAD tokens refreshed automatically
GitHub GHCRPersonal Access TokenRequires read:packages scope
GitLab RegistryUsername + TokenDeploy token or PAT
Harbor / JFrog / Nexus / QuayUsername + PasswordStandard Docker V2 authentication

Key Features

  • Automatic Credential Resolution — VersionOps matches image URLs to configured registries and applies credentials automatically
  • Cloud-Native Token Management — For AWS ECR, GCP, and Azure, short-lived tokens are refreshed automatically
  • Connection Testing — Verify credentials before saving with one-click test
  • Encrypted Storage — All credentials encrypted at rest, masked in API responses
  • Audit Trail — Every credential operation is logged for compliance
  • SSRF Protection — Connection tests block requests to internal network addresses

Getting Started

Navigate to Security → Registries in your dashboard. Click Add Registry, select your provider from the preset list, fill in credentials, and click Test Connectionto verify. Once saved, any image from that registry will automatically use those credentials during scanning.

Troubleshooting

Agent not reporting data

  1. Check configuration: sudo versionops-agent config --show
  2. Test connectivity: sudo versionops-agent run --once
  3. Check logs: sudo journalctl -u versionops-agent -f

Connection refused

Verify backend_url is correct and the server is accessible.

401 Unauthorized

Check that the service token is valid and active in your dashboard.

Ready to Get Started?

Create your free account and start tracking your infrastructure today.