Skip to main content

Argus

Project description

Argus

PyPI - Version

Description

Argus is a test tracking system intended to provide observability into automated test pipelines which use long-running resources. It allows observation of a test status, its events and its allocated resources. It also allows easy comparison between particular runs of a specific test.

Contributing

Review the Repository Guidelines for project structure, tooling expectations, and pull request practices before submitting changes.

Installation notes

Development

For development setup instructions, see dev-setup.md.

Prerequisites

  • Python >=3.10.0 (system-wide or pyenv)

  • NodeJS >=16 (with npm)

  • Yarn (can be installed globally with npm -g install yarn)

  • nginx

  • uv

From source

Production

Perform the following steps:

Create a user that will be used by uwsgi:

useradd -m -s /bin/bash argus
sudo -iu argus

(Optional) Install pyenv and create a virtualenv for this user:

pyenv install 3.10.0
pyenv virtualenv argus
pyenv activate argus

Clone the project into a directory somewhere where user has full write permissions

git clone https://github.com/scylladb/argus ~/app
cd ~/app

Install project dependencies:

uv sync --all-extras
yarn install

Compile frontend files from /frontend into /public/dist

yarn rollup -c

Create a argus.local.yaml configuration file (used to configure database connection) and a argus_web.yaml (used for webapp secrets) in your application install directory.

cp argus_web.example.yaml argus_web.yaml
cp argus.yaml argus.local.yaml

Open argus.local.yaml and add the database connection information (contact_points, user, password and keyspace name).

Open argus_web.yaml and change the SECRET_KEY value to something secure, like a sha512 digest of random bytes. Fill out GITHUB_* variables with their respective values.

Copy nginx configuration file from docs/configs/argus.nginx.conf to nginx virtual hosts directory:

Ubuntu:

sudo cp docs/configs/argus.nginx.conf /etc/nginx/sites-available/argus
sudo ln -s /etc/nginx/sites-enabled/argus /etc/nginx/sites-available/argus

RHEL/Centos/Alma/Fedora:

sudo cp docs/configs/argus.nginx.conf /etc/nginx/conf.d/argus.conf

Adjust the webhost settings in that file as necessary, particularly listen and server_name directives.

Copy systemd service file from docs/config/argus.service to /etc/systemd/system directory:

sudo cp docs/config/argus.service /etc/systemd/system

Open it and adjust the path to the start_argus.sh script in the ExecStart= directive and the user/group, then reload systemd daemon configuration and enable (and optionally start) the service.

WARNING: start_argus.sh assumes pyenv is installed into ~/.pyenv

sudo systemctl daemon-reload
sudo systemctl enable --now argus.service

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

argus_alm-0.15.9.tar.gz (1.6 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

argus_alm-0.15.9-py3-none-any.whl (24.8 kB view details)

Uploaded Python 3

File details

Details for the file argus_alm-0.15.9.tar.gz.

File metadata

  • Download URL: argus_alm-0.15.9.tar.gz
  • Upload date:
  • Size: 1.6 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for argus_alm-0.15.9.tar.gz
Algorithm Hash digest
SHA256 9ca2808034d5ab4b246096df5a26189d1c2428365f7d803ecdabf3d15ae18a5a
MD5 238c6dd84d94b56969e1748f5ce1648d
BLAKE2b-256 f059a58d07e90a6d7e4c3e2600c1c105b1a1c91bf00380ad8f0e7d1aa2e60f6e

See more details on using hashes here.

Provenance

The following attestation bundles were made for argus_alm-0.15.9.tar.gz:

Publisher: release.yml on scylladb/argus

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file argus_alm-0.15.9-py3-none-any.whl.

File metadata

  • Download URL: argus_alm-0.15.9-py3-none-any.whl
  • Upload date:
  • Size: 24.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for argus_alm-0.15.9-py3-none-any.whl
Algorithm Hash digest
SHA256 2caf755ece933991f2a3df058d16f6398ce454ab150e875fbcf71a3c81eea333
MD5 88ab948f96d6417a69bc88838b42ab3b
BLAKE2b-256 be485b6436b5ba4703f5b8ddf3d9b625f20ff4711bbd3e74a5a8d9fbd844eefe

See more details on using hashes here.

Provenance

The following attestation bundles were made for argus_alm-0.15.9-py3-none-any.whl:

Publisher: release.yml on scylladb/argus

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page