Skip to main content

Argus

Project description

Argus

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.

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

  • poetry >=1.2.0b1

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:

poetry install --with default,dev,web-backend,docker-image
yarn install

Compile frontend files from /frontend into /public/dist

yarn webpack

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.12.4b1.tar.gz (89.8 kB view details)

Uploaded Source

Built Distribution

argus_alm-0.12.4b1-py3-none-any.whl (119.0 kB view details)

Uploaded Python 3

File details

Details for the file argus_alm-0.12.4b1.tar.gz.

File metadata

  • Download URL: argus_alm-0.12.4b1.tar.gz
  • Upload date:
  • Size: 89.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.12.3 Linux/6.6.36.3-microsoft-standard-WSL2

File hashes

Hashes for argus_alm-0.12.4b1.tar.gz
Algorithm Hash digest
SHA256 d0d37f60894dd7e9ca48fa50a00ab5337c7e5399497d2fd426dc8b9d0958acd0
MD5 35bef7ee1d3c0d346286c390ed671ab9
BLAKE2b-256 9e7635d061c3cd7aff1d0a96e2da9d02940549c6ce61057247e4929bc875170e

See more details on using hashes here.

File details

Details for the file argus_alm-0.12.4b1-py3-none-any.whl.

File metadata

  • Download URL: argus_alm-0.12.4b1-py3-none-any.whl
  • Upload date:
  • Size: 119.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.12.3 Linux/6.6.36.3-microsoft-standard-WSL2

File hashes

Hashes for argus_alm-0.12.4b1-py3-none-any.whl
Algorithm Hash digest
SHA256 5efbbed6f8146758d4e8ee18d6b3dca71c816f1fd5f7296282de287aa88d8a5e
MD5 4eb8081ba9eebc060ceb164578cb9fe9
BLAKE2b-256 e7be4875c3dd176368b1d47beb5998c0152f5f44072bf94f376a07227c771192

See more details on using hashes here.

Supported by

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