Skip to main content

Command Line Interface (CLI) for bulk processing/loading data into RegScale

Project description

RegScale Command Line Interface (CLI)

This CLI application is for supporting advanced automation and bulk data processing related to the RegScale Compliance Automation Platform. This application is intended to run as a "side car" that be scheduled via CRON job or serverless function to perform sophisticated data processing. The CLI includes multiple libraries for processing data, connecting to RegScale Application Programming Interfaces (APIs), and commercial integrations. This software may be packaged and included in other commercial software to lower the level of effort associated with building RegScale integrations to other commercial tools.

See full documentation on regscale.readme.io.

See RegScale CLI Standards for developer standards.

See RegScale GraphQL for documenation on working with RegScale GraphQL API and GraphQL CLI on incorporating it into the CLI.

Code Check Run Tests

Installation

Create a virtual environment and install required Python libraries.

# create and activate python virtual environment
python -m venv venv
source venv/bin/activate

# upgrade pip
pip install --upgrade pip

# install application
pip install .

# optional: install application with "dev" packages
pip install ".[dev]"

# initialize environment

Initialization

Initialize your CLI environment with the init command:

# initialize environment
regscale init

The CLI will generate a default init.yaml file and prompt you for RegScale domain and to log in:

Initializing your RegScale CLI environment...
Would you like to change your RegScale domain from https://regscale.yourcompany.com/? (Y/n): y

Please enter your RegScale domain.
Example: https://mydomain.regscale.com/
Domain: https://regscale.mycomapny.com
[2023/01/20 04:32;41] INFO     [2023/01/20 04:32;41] [INFO ]  Valid URL provided, regscale.py:349
                               init.yaml has been updated.                                       
Would you like to log in to your RegScale instance? (Y/n): y
Please enter your username: rross
Please enter your password:

Use Cases

  • Sidecar for bulk processing compliance data such as vulnerability scans or continuous monitoring logs
  • Processing and ingest of data such as National Institute of Standards and Technology (NIST) Open Security Control Assessment Language (OSCAL)
  • Running CRON jobs to bulk-process data
  • Managing users and identities from external sources
  • Threat intelligence feeds

Specific Integrations

Running Locally

  • Example for running locally on Windows

py regscale.py about

Testing

Run pytest -v ./tests/{test_filename}.py and replace {test_filename} with name of test file.

Release Process

Preparation

  1. Merge all desired branches into main.
  2. Synchronize app._version.__version__ with RegScale application version.
  3. Test all Python packages have been added to requirements.txt and setup.py.
  4. Update CHANGELOG.md

Build Python Package

  1. Run release.sh to create
  2. Test built package from https://test.pypi.org/project/RegScale-CLI/
mkdir rsc
cd rsc
python3 -m venv venv
source venv/bin/activate
pip install --extra-index-url https://test.pypi.org/simple/ RegScale-CLI

# alternative install
pip install -i https://test.pypi.org/simple/RegScale-CLI

The release.sh script calls build.sh and build_wheel.sh. The built wheel file for the package is available in the created dist directory.

Build Docker Container

  1. Run the docker_run.sh script.

Release

  1. Prepare release on GitHub. The Release will upload the Python packge to pypi.org.

Update Documentation

  1. Update documentation on CLI documentation on regscale.readme.io.

Project details


Release history Release notifications | RSS feed

Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

RegScale_CLI-5.21.1-py3-none-any.whl (481.3 kB view hashes)

Uploaded Python 3

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